楼主: bullli502
16955 7

[问答] 关于R语言中根据density求值的问题 [推广有奖]

  • 0关注
  • 0粉丝

学前班

90%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
90 点
帖子
1
精华
0
在线时间
5 小时
注册时间
2011-1-13
最后登录
2016-5-31

楼主
bullli502 发表于 2015-8-26 09:59:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想请教个问题,使用density函数可以得到概率密度,并用plot函数画出来,那么如果给定一个值,如何求出其对应的概率密度值呢,举个例子 plot(density(rnorm(1000)))可以轻松的画出一个整体分布图,如果我想计算x=0.5时的概率密度值,该如何出来,当然不是通过已知的正态分布的概率密度函数取得,如果只通过已有的数值取得呢?
二维码

扫码加我 拉你入群

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

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

关键词:Density sit R语言 概率密度函数 概率密度 正态分布 分布图 如何

沙发
sun-shiqing 发表于 2015-8-29 11:40:42
首先,对于连续分布来说,单点概率为0,你求得只能是一个区间内的概率密度,这样的话,直接看看数据中某一部分的比例就好了。其次,如果说已知的数据能很好地吻合某个分布,你可以去估计那个分部的参数。最后,我觉得这个问题并没有很大的意义,实际的一些数据分析中,用的分位数等等统计量,虽然你这个问题我的确不会。。。望指教!

藤椅
asdasdaseee 发表于 2015-8-29 12:34:05
density()函数给出的是一个核密度估计(KDE),估计的效果好坏与核函数、(尤其是)带宽的选择都有一定的关系。
如果是个给置信区间的话通常用Bootstrap就可以,而且非常实用。
但是密度的话,应该可以做,把它当作函数插值或者非参数回归就可以吧。

板凳
ヾ過去式°ο° 学生认证  发表于 2015-8-29 19:47:32
x <- dnorm(0.5)

报纸
zwj0323 学生认证  发表于 2016-9-22 21:19:57
请问你这个问题解决了吗

地板
万缪之源 发表于 2020-4-7 14:07:05
核密度计算参考 https://blog.csdn.net/qq_38200023/article/details/78806670

7
万缪之源 发表于 2020-4-7 16:29:20
曲线绘制:
ker_density2=function(x,h){  
  x=sort(x)  
  n=length(x);t=0;y=0  
  for(i in 1:n){  
    t[i]=0;
    for(j in 1:n)  
      t[i]=t[i]+exp(-((x[i]-x[j])^2)/(2*h*h))  
  }  
  for(i in 1:n)  
    y[i]=t[i]/(n*h*sqrt(2*pi))  
  z=complex(re=x,im=y)  
  hist(x,ylim = c(0,0.006),breaks = 50,freq=FALSE)  
  #  hist(x,freq=FALSE)  
  lines(z)  
}  
ker_density2(s,11.21)

具体某个点的值:
density2=function(x,h,tn){  
  x=sort(x)  
  n=length(x)
  t=0
  for(j in 1:n)  
    t=t+exp(-((tn-x[j])^2)/(2*h*h))
  
  print(t/(n*h*sqrt(2*pi)) )
}  
density2(s,11.21,0)

8
13772442362 发表于 2022-9-24 22:59:01
请问您解决了吗

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 05:26