楼主: 沈daroline
2229 1

[问答] 偏斜正态分布的极大似然估计的数值模拟(已有程序,但不知哪里有错,在线等) [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

80%

还不是VIP/贵宾

-

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

楼主
沈daroline 发表于 2015-5-21 21:40:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
SampleNorm=function(n,mu,sigma,lambda){
    U=rnorm(n,mean=mu,sd=sigma)
    Gu=pnorm(lambda*U,mean=mu,sd=sigma)
    p=runif(n);X1=U
    for(i in 1:n){if(p>=Gu){X1=-X1}}
    hist(X1)
    return(X1)   
}
SkewNorm=function(parameter){
  n=length(bb)
  mu=parameter[1]
  sigma=parameter[2]
  lambda=parameter[3]
  p1=dnorm(bb,mu,sigma)
  e1=sum(log(p1))
  p2=pnorm(lambda*bb,mu,sigma)
  e2=sum(log(p2))
  Lfunction=n*log(2)+e1+e2
  return(Lfunction)
}
b<-c(1:300)
b1<-as.matrix(b,ncol=3)
for(i in 1:100){
   bb=SampleNorm(30,0,1,1)
   d=SkewNorm(c(0,1,1))
   b1[i,]=nlm(SkewNorm,c(0,1,1))$estimate
   c=na.omit(b1)
}
colMeans(c)
目的是,每个样本容量n,模拟100次求平均,使估计误差相对较小。但是运行时,程序第三部分就出错了,麻烦大神看看到底该怎么修改。

二维码

扫码加我 拉你入群

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

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

关键词:极大似然估计 似然估计 正态分布 数值模拟 极大似然 程序 function 正态分布 return sigma

沙发
victorchan0633 发表于 2015-6-10 16:15:10
应该是c(0,1,1)的问题,改成一维的数组就可以了。我试验发现别的维数都不合适,只能是一维数组才可以。

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

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