我想使用mle2
中的r
函数估计偏正态分布的参数。我已经在下面复制了我的r
函数。
library(bbmle)
library(sn)
y = c(rsn(n=50, xi=0, omega=1, alpha=1, tau=0, dp=NULL), rsn(n=50, xi=0, omega=1, alpha=6, tau=0, dp=NULL))
n= length(y)
sn.fit = function(xi, omega, alpha){
-sum(dsn(y, xi=0, omega=1, alpha, log = TRUE))
}
parl = list()
for(i in 1:(n-1)){
dat = list(y[1:i])
parl[[i]]= mle2(sn.fit, start = list(xi = 0, omega = 1, alpha = 1), data = dat)@coef
}
parll = do.call("rbind", parl)
parll
输出如下。
> parll
xi omega alpha
[1,] 0 1 1.408533
[2,] 0 1 1.408533
[3,] 0 1 1.408533
[4,] 0 1 1.408533
[5,] 0 1 1.408533
[6,] 0 1 1.408533
[7,] 0 1 1.408533
[8,] 0 1 1.408533
[9,] 0 1 1.408533
[10,] 0 1 1.408533
[11,] 0 1 1.408533
[12,] 0 1 1.408533
由于我的意图是为alpha
估算y[1:i]
的{{1}}。为什么我的结果没有更新到列表中?
谢谢。