0
我在使用'mle'stats4函數包時遇到問題。我認爲在提高可能性函數時我沒有犯過錯誤。你能幫助我知道爲什麼附加的消息?最大似然優化誤差:隨機前沿模型
Error in solve.default(oout$hessian) :
Lapack routine dgesv: system is exactly singular: U[1,1] = 0
我想要估計一個隨機邊界模型(具有偏斜正態誤差的迴歸模型)。我認爲我很好地指出了。我不知道什麼是錯的。
library(fdrtool) # Para generar valores aleatorios desde la Half-Normal
set.seed(123)
n<-100
beta0<-10
beta1<-1
beta2<-2
error<-inefficiency<-y<-x1<-x2<-c()
for (i in 1:n){
error[i]<-rnorm(1,0,1)
inefficiency[i]<-rhalfnorm(1, theta=sqrt(pi/2))
x1[i]<-runif(1,10,20)
x2[i]<-runif(1,10,20)
y[i]<-beta0+beta1*x1[i]+beta2*x2[i]+error[i]-inefficiency[i]
}
ols<-lm(y~x1+x2)
print(summary(ols),digits=3)
sigma<-summary(ols)$sigma
library(stats4)
LikelihoodFunction<-function(beta0, beta1,beta2,sigma,lambda){
R= y - beta0-beta1*x1-beta2*x2
R=-n*log(sigma)+sum(pnorm(-(R*lambda/sigma), log.p = TRUE))-(1/2*sigma^2)*sum(R^2)
#print(R)
}
beta0.hat<-as.numeric(ols$coefficients[1])
beta1.hat<-as.numeric(ols$coefficients[2])
beta2.hat<-as.numeric(ols$coefficients[3])
fit <- mle(minuslog=LikelihoodFunction, start = list(beta0 = beta0.hat,
beta1 = beta1.hat,
beta2=beta2.hat,
sigma=2,lambda=0.84),
method="BFGS")
fit