首页 > 电脑

请问在R中怎么用nlminb方法,迭代估计

更新时间2018-05-01 14:50:49

> escale<-numeric(s) 

> eshape<-numeric(s) 

> for (i in 1:s){ 

+  data <- rweibull(500, scale,shape)

+ fr<- function(par)

+     -sum(dweibull(data, scale= par[1], shape= par[2], log = TRUE))

+  temp <-nlminb(c(3,2), fr,control = list(iterations=800),lower =0.0001, upper = Inf)

+ escale[i] <- temp$par[1]  

+ eshape[i] <- temp$par[2] }

There were 50 or more warnings (use warnings() to see the first 50)

> ## Bias 

> mean(escale) - scale ????

+ mean(eshape) - shape

Contacting Delphi...the oracle is unavailable.

We apologize for any inconvenience.

> ## Mean Squared Error 

> (mean(escale) - scale)^2 + var(escale) 

[1] 1.006581

> (mean(eshape) - shape)^2 + var(eshape) 

[1] 1.021945


可以考虑使用bootstrap的方法,这种方法结合最大似然法就可以给出待估参数的标准差(其实是该参数的整个分布).但是,我不知什么软件来实现。如果是我就自己编程罗。

参数标准差就是信息阵的相应对角元(例如,如果是第一个参数那么就是对角线第一个数)的开方

上一篇:NETFramework4.5.2版本如何删掉,麻烦附图,谢谢

下一篇:点击jmeter.bat打开程序,弹出cmd窗口怎么消除