请问一下大佬们,我用的全概率模型求极大似然,但是一直运行出来是NA in the initial gradient,不知道什么原因,公式应该没写错,数据有1000个也不多,都是10-100的数。换了几个初值都不行。
x0 <- read.csv("C:/Users/li--hai/Desktop/WXW/……")
> dat0 <- x0age>n<−length(dat0)>Z0<−x0Covariate
> # 令z1=(1,1)',z2=(1,0)',z3=(0,1)',z4=(0,0)'
> f1 <- function(beta) {
+ # 令β=(β1,β2),构造出m(1),m(2),m(3),m(4)
+ m <- 0
+ for(i in 1:n){
+ if(Z0[i]==1){
+ m[i] <- exp(1)
+ }
+ else if(Z0[i]==2){
+ m[i] <- exp(beta[2])
+ }
+ else if(Z0[i]==3){
+ m[i] <- exp(beta[3])
+ }
+ else{
+ m[i] <- exp(beta[2]+beta[3])
+ }
+ }
+ # 带入pdf,相乘取对数
+ f <- 0
+ for(i in 1:n){
+ f[i] <- beta[1]*m[i]*exp(-beta[1]*dat0[i]*m[i])
+ }
+ return(log(prod(f)))
+ }
> maxLik(f1, start=c(0.001,0,0))$estimate
Error in maxNRCompute(fn = function (theta, fnOrig, gradOrig = NULL, hessOrig = NULL, :
NA in the initial gradient