начальное значение в 'vmmin' не является конечным для моего кода для пробита - PullRequest
0 голосов
/ 01 июня 2019

Я написал mle для пробита, но кажется, что некоторые части в моем коде пошли не так и показали, что «начальное значение в« vmmin »не является конечным».

Это было сделано R. КакПервокурсник, я ознакомился с некоторыми советами по переполнению стека, но все они были бесполезны. Некоторые примеры могут быть использованы только для моделирования данных.мой код выглядит следующим образом

setwd("C:\\Users\\ThinkPad\\Desktop\\MSL for R")
xtlogit_data <- read_dta("xtlogit_data.dta")

y <- unlist(xtlogit_data["union"]) 
X <- cbind(1, as.matrix(xtlogit_data[c("age", "grade", "not_smsa", 
"south")]))

ans_probit <- glm(union ~ age + grade + not_smsa + south, 
              family = gaussian(link = "identity"), 
              data = xtlogit_data)
initval <- c(coef(ans_probit))

probitml <- function(parm,y,X){
  nx <- ncol(X)
  Xb <- c(X %*% parm[1:nx])
  mp <- pnorm(Xb)
  mpll <- y*log(mp)+(1 - y)*(1 - log(mp))
  return(-sum(mpll,log=TRUE,na.rm=FALSE))
}

ans_probitml <- optim(par = initval, fn = probitml, method = "BFGS", 
                  control = list(trace = 1, maxit = 500), y = y,  
                  X = X,hessian = TRUE)

данные находятся в baidu SkyDrive: https://pan.baidu.com/s/1NCwt3pimR9dwXBPU1Dg0yw код : jvvf

Спасибо за ваше внимание и терпение, я с нетерпением жду ваших отзывов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...