全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2411 5
2008-07-23

我想用R来编写一个解决混合模型的参数估计问题,具体用EM算法来迭代计算

如从N(0,1)和N(2,1)两个正态总体中产生数据,其中按b(1,0.5)产生的随机数,如果是1,则样本来自N(0,1), 否则来自另一个正态分布.这样得到数据后,我来用EM方法来估计两个总体的均值,请问该怎么编程序

那位大侠可否告知一二。

二维码

扫码加我 拉你入群

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

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

全部回复
2008-7-23 18:40:00
看不懂啊,按b(1,0.5)产生的随机数是指什么?
二维码

扫码加我 拉你入群

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

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

2008-7-23 19:49:00
回答楼上,b(1,0.5)指产生的随机数服从0,1两点分布。
二维码

扫码加我 拉你入群

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

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

2008-7-25 15:11:00

一个不是最优的方法如下:

n=100

i=0

x<-NULL

for (i in 1:n){

  index<-rbinom(1,1,0.5)

  if (index==1)

    x<-rnorm(1)

  else

    x<-rnorm(1,2,1)

}

x即为长度为n的来自你说的混合分布的随机数

二维码

扫码加我 拉你入群

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

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

2008-7-25 15:30:00

简单改进如下

n=100

index<-rbinom(n,1,0.5)

n1<-sum(index)

x1<-rnorm(n1)

x2<-rnorm(n-n1,2,1) 

x<-c(x1,x2)

hope it is helpful

二维码

扫码加我 拉你入群

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

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

2008-7-28 16:51:00
谢谢各位的回复,我终于解决了这个问题
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群