Tôi đang cố sử dụng lệnh mle2
, trong gói bbmle
. Tôi đang xem p2 của "Ước tính khả năng tối đa và phân tích với gói bbmle
" của Bolker. Bằng cách nào đó tôi không nhập được các giá trị bắt đầu đúng. Dưới đây là mã tái sản xuất:khoảng tin cậy hồ sơ trong R: mle2
l.lik.probit <-function(par, ivs, dv){
Y <- as.matrix(dv)
X <- as.matrix(ivs)
K <-ncol(X)
b <- as.matrix(par[1:K])
phi <- pnorm(X %*% b)
sum(Y * log(phi) + (1 - Y) * log(1 - phi))
}
n=200
set.seed(1000)
x1 <- rnorm(n)
x2 <- rnorm(n)
x3 <- rnorm(n)
x4 <- rnorm(n)
latentz<- 1 + 2.0 * x1 + 3.0 * x2 + 5.0 * x3 + 8.0 * x4 + rnorm(n,0,5)
y <- latentz
y[latentz < 1] <- 0
y[latentz >=1] <- 1
x <- cbind(1,x1,x2,x3,x4)
values.start <-c(1,1,1,1,1)
foo2<-mle2(l.lik.probit, start=list(dv=0,ivs=values.start),method="BFGS",optimizer="optim", data=list(Y=y,X=x))
Và đây là lỗi tôi nhận được:
Error in mle2(l.lik.probit, start = list(Y = 0, X = values.start), method = "BFGS", :
some named arguments in 'start' are not arguments to the specified log-likelihood function
Bất cứ ý tưởng tại sao? Cảm ơn bạn đã giúp đỡ!
'values.start' không được chỉ định. Bạn phải định nghĩa nó. Ngoài ra còn có một lỗi đánh máy trong 'foo2 << -'. –
Cảm ơn bạn đã trả lời nhanh! Tôi đã thực hiện những thay đổi đó (giá trị bắt đầu của tôi là values.start <-c (1,1,1,1,1)), nhưng tôi vẫn nhận được thông báo lỗi tương tự. Tôi tin rằng có một số điểm không phù hợp giữa lệnh mle2 và hàm tôi đã chỉ định, nhưng tôi không thể hình dung được nó cho cuộc sống của tôi! – EOM
Bạn đang thực hiện [hồi quy probit] (http://www.ats.ucla.edu/stat/R/dae/probit.htm)? –