Quiero calcular la matriz de sombreros directamente en R para un modelo logit. Según Long (1997), la matriz de sombreros para los modelos logit se define como:
X es el vector de variables independientes, y V es una matriz diagonal con en la diagonal.
Utilizo la optim
función para maximizar la probabilidad y derivar la arpillera. Así que supongo que mi pregunta es: ¿cómo calculo en R?
Nota: Mi función de probabilidad se ve así:
loglik <- function(theta,x,y){
y <- y
x <- as.matrix(x)
beta <- theta[1:ncol(x)]
loglik <- sum(-y*log(1 + exp(-(x%*%beta))) - (1-y)*log(1 + exp(x%*%beta)))
return(-loglik)
}
Y paso esto a la función de optimización de la siguiente manera:
logit <- optim(c(1,1),loglik, y = y, x = x, hessian = T)
Donde x es una matriz de variables independientes, e y es un vector con la variable dependiente.
Nota: Sé que existen procedimientos fijos para hacer esto, pero necesito hacerlo desde cero