ロジットモデルのハット行列をRで直接計算したいと思います。Long(1997)によれば、ロジットモデルのハットマトリックスは次のように定義されます。
Xは独立変数のベクトルであり、Vはが対角にある対角行列です。
このoptim
関数を使用して、可能性を最大化し、ヘッセ行列を導出します。だから私は私の質問だと思います: Rでを計算する方法は?
注:尤度関数は次のようになります。
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は従属変数を持つベクトルです。
注:これを行うための既定の手順があることは知っていますが、最初から行う必要があります
3
どのようにして最適化を使用していますか(勾配関数を指定するかどうかに関係なく、どのオプションを使用するかなど)?? ロジスティック回帰は滑らかな凸問題です。ニュートン法などを使用して簡単に解決できます。実際、共分散行列の推定値を取得するには、(これに近いものを)実行する必要があります。
—
枢機卿
情報を投稿に追加しました
—
Thomas Jensen