Ich versuche, den Befehl mle2
zu verwenden, in dem Paket bbmle
. Ich schaue auf p2 von "Maximum likelihood Schätzung und Analyse mit dem bbmle
Paket" von Bolker. Irgendwie kann ich die richtigen Startwerte nicht eingeben. Hier ist der reproduzierbaren Code:Profil Konfidenzintervalle in 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))
und das ist der Fehler, den ich bekommen:
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
Jede Idee, warum? Danke für Ihre Hilfe!
'values.start' ist nicht angegeben. Sie müssen es definieren. Es gibt auch einen Tippfehler in 'foo2 << -'. –
Danke für die schnelle Antwort! Ich habe diese Änderungen vorgenommen (meine Startwerte sind values.start <-c (1,1,1,1,1)), aber ich bekomme immer noch dieselbe Fehlermeldung. Ich glaube, es gibt eine Inkongruenz zwischen dem Befehl mle2 und der Funktion, die ich angegeben habe, aber ich kann es für mein Leben nicht herausfinden! – EOM
Implementieren Sie eine [Probit-Regression] (http://www.ats.ucla.edu/stat/R/dae/probit.htm)? –