楼主: qdBazinga
9069 10

[问答] 核密度估计 [推广有奖]

  • 0关注
  • 0粉丝

大专生

25%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
135 点
帖子
12
精华
0
在线时间
67 小时
注册时间
2015-3-2
最后登录
2015-5-20

楼主
qdBazinga 发表于 2015-4-23 09:01:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如何计算在某一个点处的核密度估计值
在R中density函数
在我的例子中
density(data)
结果:
  x                 y            
Min.   :-2.8740   Min.   :0.0001349  
1st Qu.:-1.1622   1st Qu.:0.0240028  
Median : 0.5495   Median :0.0951087  
Mean   : 0.5495   Mean   :0.1459037  
3rd Qu.: 2.2613   3rd Qu.:0.2796734  
Max.   : 3.9730   Max.   :0.3794529  

它是默认512个点计算的
但我只有170个点,density(data,170)
得到170个x,好像得到的x,并不是计算data处的密度
想知道这几个点的密度值,如何得到,是否还要自己编程
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:核密度估计 核密度 Density median Media 如何

沙发
怪了怪 学生认证  发表于 2015-4-24 11:08:32
试试这个:

den <- density(data)
den$y
den$x

藤椅
qdBazinga 发表于 2015-4-24 15:07:06
怪了怪 发表于 2015-4-24 11:08
试试这个:

den
你好,好像不是我要的
data: 向量178×1
den <- density(data)
den$y的答案是522个
den$x也是522个

板凳
怪了怪 学生认证  发表于 2015-4-24 20:45:23
qdBazinga 发表于 2015-4-24 15:07
你好,好像不是我要的
data: 向量178×1
den
den$和den$x的长度是density()里的默认参数决定的,需要多少你自己可以改。
如果我没搞错,你想要的是某几个点处的density值,你可以这样做:
在den$x中找到最接近你要的点的值:(假设是x=25,一个点)
t <- which.min(abs(den$x)-25))
den$y[t]

如果是我自己,我不会这么做。对我来说,density() 只适合用来绘图。如果要估计具体的点的核密度值,我会自己写一段非参的小程序。

希望有帮助。
已有 1 人评分学术水平 收起 理由
hugebear + 1 分析的有道理

总评分: 学术水平 + 1   查看全部评分

报纸
qdBazinga 发表于 2015-4-25 10:42:19
怪了怪 发表于 2015-4-24 20:45
den$和den$x的长度是density()里的默认参数决定的,需要多少你自己可以改。
如果我没搞错,你想要的是某 ...
你好,感谢回复
我自己也写好了程序,但是带宽h如何选择呢,例如,我现在有130个点(data),来了一个新的点,计算该点的密度值,h的选择用density(data)$bw么

地板
怪了怪 学生认证  发表于 2015-4-25 21:23:58
h的选择,基本就两个:一个是经验公式,如果你用Gaussian Kernel: h = 1.06*sd*n^(-1/5);另一个就是用Cross-validation。

7
vampire109 学生认证  发表于 2016-1-23 16:07:57
怪了怪 发表于 2015-4-24 20:45
den$和den$x的长度是density()里的默认参数决定的,需要多少你自己可以改。
如果我没搞错,你想要的是某 ...
如果要写程序来获取核密度值要用什么方法呢?
有没有什么方法可以在用了density()以后
给出数据点的值能得到核密度值,给出核密度值也能得到数据点的值
就像如果正态分布的话有pnorm和qnorm一样
请大神赐教,感激不尽

8
disbug 发表于 2016-1-24 11:21:58
感谢楼上的回复,学到了很多。

9
远光s 发表于 2019-4-10 16:40:02
怪了怪 发表于 2015-4-25 21:23
h的选择,基本就两个:一个是经验公式,如果你用Gaussian Kernel: h = 1.06*sd*n^(-1/5);另一个就是用Cros ...
您好,请问经验公式中带宽确定需要用到的样本标准差是如何计算的呢(样本是经纬度数据的点数据)

10
可苦可乐6 发表于 2019-7-16 17:20:50
怪了怪 发表于 2015-4-25 21:23
h的选择,基本就两个:一个是经验公式,如果你用Gaussian Kernel: h = 1.06*sd*n^(-1/5);另一个就是用Cros ...
老师您好,我现在在做一个半参数估计的文章,在写代码的时候发现你说的带宽选择,“h的选择,基本就两个:一个是经验公式,如果你用Gaussian Kernel: h = 1.06*sd*n^(-1/5);另一个就是用Cross-validation。”我对着部分比较迷惑,希望老师能告诉我这个 h = 1.06*sd*n^(-1/5)的出处,我好写如自己的论文之中,我的hedd10@163.com

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 18:45