ロジスティック回帰からの適合値の標準誤差はどのように計算されますか?


29

ロジスティック回帰モデルから近似値を予測する場合、標準誤差はどのように計算されますか?つまり、フィッシャーの情報マトリックスを含む係数ではなく、近似値についてです。

私はのみで数を取得する方法を見つけたR(例えば、ここでは R-ヘルプ上、またはここにスタックオーバーフロー上)が、私は式を見つけることができません。

pred <- predict(y.glm, newdata= something, se.fit=TRUE)

(できれば大学のウェブサイトで)オンラインソースを提供できれば、それは素晴らしいことです。

回答:


35

予測は、推定係数の単なる線形結合です。係数は漸近的に正常であるため、これらの係数の線形結合も漸近的に正常になります。したがって、パラメータ推定値の共分散行列を取得できれば、それらの推定値の線形結合の標準誤差を簡単に取得できます。共分散行列をとして示し、線形結合の係数をベクトルとしてCとして書き込むと、標準誤差はちょうどΣCCΣC

# Making fake data and fitting the model and getting a prediction
set.seed(500)
dat <- data.frame(x = runif(20), y = rbinom(20, 1, .5))
o <- glm(y ~ x, data = dat)
pred <- predict(o, newdata = data.frame(x=1.5), se.fit = TRUE)

# To obtain a prediction for x=1.5 I'm really
# asking for yhat = b0 + 1.5*b1 so my
# C = c(1, 1.5)
# and vcov applied to the glm object gives me
# the covariance matrix for the estimates
C <- c(1, 1.5)
std.er <- sqrt(t(C) %*% vcov(o) %*% C)

> pred$se.fit
[1] 0.4246289
> std.er
          [,1]
[1,] 0.4246289

私が示す「手で」方法は、経由で報告されたのと同じ標準エラーを与えることがわかります predict


2
関連する質問が1つあります。ロジスティックではなく線形回帰で値と信頼区間を予測するとき、誤差分散/標準誤差を組み込みます。しかし、ロジスティック回帰はそうではありません。この違いは、ロジスティック回帰の観測値が0または1であり、誤差分散を推定する意味がないという事実に起因していますか?少なくとも何かをする必要があるように感じますが、何かが足りないかもしれません。
user2457873

3
古い質問ですが、このスレッドはちょうど私を助けたので、ここに行きます:ロジットは0または1を観察しますが、確率を予測します。近似値の標準誤差を取得すると、線形予測子のスケールになります。あなたは(+/- 1.96 * se.fitをフィット)ロジットを話し確率の信頼区間を取得
generic_user

これは漸近法線近似を使用していることに注意してください。これはロジスティックモデルにとって非常に悪い場合があります(このサイトでHauss-Donner現象を検索してください)。係数については、たとえば尤度プロファイリング(MASSのconfint関数で使用)によって修正できます。それは...、線形予測子に対しては不可能である
HalvorsenのはKjetil B

2
これは、OPが要求したものとは異なります。適合するGLMは、ロジットリンク関数ではなく、アイデンティティリンク関数を使用します。o <- glm(y ~ x, data = dat, family = binomial)代わりにフィットする必要があります。修正していただけますか?説明は、type = "link"オプションを使用してlog-odds SEを推定するために機能しますがpredicttype = "response"オプションを使用する場合はSEには使用できません。
he張
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.