Tôi muốn tính ma trận mũ trực tiếp trong R cho một mô hình logit. Theo Long (1997) ma trận mũ cho các mô hình logit được định nghĩa là:
X là vector của các biến độc lập, và V là một đường chéo ma trận với trên đường chéo.
Tôi sử dụng optim
chức năng để tối đa hóa khả năng và lấy được hessian. Vì vậy, tôi đoán câu hỏi của tôi là: làm thế nào để tôi tính trong R?
Lưu ý: Hàm khả năng của tôi trông như thế này:
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)
}
Và tôi cung cấp cho chức năng tối ưu như sau:
logit <- optim(c(1,1),loglik, y = y, x = x, hessian = T)
Trong đó x là ma trận của các biến độc lập và y là một vectơ với biến phụ thuộc.
Lưu ý: Tôi biết rằng có các quy trình đóng hộp để làm điều này, nhưng tôi cần phải làm lại từ đầu