本人想先用标准正态分布函数,模拟出一些值。
然后把这些值放入正态分布的函数中 用极大似然法去估计这些值的期望和方差,最后看看是不是标准正态的。
可是代码写出来之后,发现估计出来的数值不对,望大神帮帮忙 看看问题出现在哪里
a<- rnorm(100,0,1)
LL<- function(params,data){
f<- 100*log(params[2])-sum(((data-params[1])^2)/(2*(params[2])^2))
ll<- f
return(-ll)
}
geyser.res<-nlminb(c(0.1,0.1),LL,data=a)
geyser.res$par
结果:
> a<- rnorm(100,0,1)
> LL<- function(params,data){
+ f<- 100*log(params[2])-sum(((data-params[1])^2)/(2*(params[2])^2))
+ ll<- f
+ return(-ll)
+ }
> geyser.res<-nlminb(c(0.1,0.1),LL,data=a)
> geyser.res$par
[1] -11228394205 2435854546936