bbmle
のパッケージmle2
のコマンドを使用しようとしています。私はBolkerの "bbmle
パッケージでの最尤推定と解析"のp2を見ています。どういうわけか私は正しい開始値を入力することができません。プロファイルの信頼区間が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))
そして、これは私が取得エラーです:
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
任意のアイデア理由はここに再現可能なコードですか?ご協力いただきありがとうございます!
'values.start'は指定されていません。定義する必要があります。 'foo2 << - 'にもタイプミスがあります。 –
素早くお返事ありがとうございます!私はそれらの変更を行いました(私の開始値はvalues.start <-c(1,1,1,1,1)です)、しかし私はまだ同じエラーメッセージを取得します。私は、mle2コマンドと指定した機能の間に多少の不一致があると信じていますが、私の人生のためにそれを理解することはできません! – EOM
[probit regression](http://www.ats.ucla.edu/stat/R/dae/probit.htm)を実装していますか? –