1
Rのロジスティック回帰のハット行列を計算する方法は?
ロジットモデルのハット行列をRで直接計算したいと思います。Long(1997)によれば、ロジットモデルのハットマトリックスは次のように定義されます。 H=VX(X′VX)−1X′VH=VX(X′VX)−1X′VH = VX(X'VX)^{-1} X'V Xは独立変数のベクトルであり、Vはが対角にある対角行列です。π(1−π)−−−−−−−√π(1−π)\sqrt{\pi(1-\pi)} このoptim関数を使用して、可能性を最大化し、ヘッセ行列を導出します。だから私は私の質問だと思います: Rでを計算する方法は?VVV 注:尤度関数は次のようになります。 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) } そして、これを次のようにoptim関数に送ります: logit <- optim(c(1,1),loglik, y = y, x = x, hessian = T) ここで、xは独立変数の行列であり、yは従属変数を持つベクトルです。 注:これを行うための既定の手順があることは知っていますが、最初から行う必要があります