楼主: sty1882
2666 6

[问答] 如何从估计的密度函数上随机取样? [推广有奖]

  • 4关注
  • 0粉丝

硕士生

32%

还不是VIP/贵宾

-

威望
0
论坛币
2548 个
通用积分
2.8500
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
422 点
帖子
34
精华
0
在线时间
258 小时
注册时间
2009-5-4
最后登录
2025-4-10

楼主
sty1882 发表于 2014-10-8 22:19:51 |AI写论文
5论坛币
随便给个向量,如下,用density()方程求这个向量元素的概率密度函数,即根据已知有限几个数据估计一个适用于这个规律的分布。想从这个估计的分布上随机取值怎么取?
如下面程序,A即是估计的密度函数,假如想从这个密度函数上随机取10000个数,如何操作?

Data = c(2,3,8)
A=density(Data, kernel = "gaussian", n=512)

如果A是个数据,那就直接 sample(A, 10000, replace=FALSE), 但是A是函数不是数据集所以行不通啊。




关键词:密度函数 Gaussian Density replace Sample 如何
已有 1 人评分热心指数 收起 理由
qoiqpwqr + 1 鼓励积极发帖讨论

总评分: 热心指数 + 1   查看全部评分

沙发
qoiqpwqr 发表于 2014-10-8 22:19:52
  1. Data = c(2,3,8)
  2. A=density(Data, kernel = "gaussian", n=512)
  3. n <- 10000
  4. sam <- sample(Data, n, replace=TRUE) + rnorm(n, 0, A$bw)
  5. hist(sam, prob=T)
  6. lines(A)
复制代码
已有 1 人评分经验 论坛币 学术水平 热心指数 收起 理由
李会超 + 36 + 60 + 3 + 1 精彩帖子

总评分: 经验 + 36  论坛币 + 60  学术水平 + 3  热心指数 + 1   查看全部评分

藤椅
seven兮 发表于 2014-10-9 07:43:44
刚才试了下,可以啊

板凳
qoiqpwqr 发表于 2014-10-9 09:39:25
qoiqpwqr 发表于 2014-10-9 09:38
Rplot.png

报纸
sty1882 发表于 2014-10-9 19:55:18
qoiqpwqr 发表于 2014-10-8 22:19
多谢!

难道 "rnorm(n, 0, A$bw)" 就是对应KDE的 kernel 部分?

地板
qoiqpwqr 发表于 2014-10-9 19:58:47
sty1882 发表于 2014-10-9 19:55
多谢!

难道 "rnorm(n, 0, A$bw)" 就是对应KDE的 kernel 部分?
对,因为你用的是gaussian kernel

7
sty1882 发表于 2014-10-16 18:14:22
qoiqpwqr 发表于 2014-10-9 19:58
对,因为你用的是gaussian kernel
多谢!

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

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