残差プロット:プロット対フィット値で、観測された値ではないのはなぜですか?


20

OLS回帰のコンテキストでは、一定の分散をテストし、モデルの仕様を評価するために、従来、残差プロット(適合値に対する)が表示されることを理解しています。なぜ残差は値ではなくフィットに対してプロットされるのですか?情報はこれらの2つのプロットとどのように異なりますか?Y

私は次の残差プロットを作成するモデルに取り組んでいます:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

そのため、プロットと近似値の関係は一見良好に見えますが、値に対する2番目のプロットにはパターンがあります。なぜこのような顕著なパターンが残差対適合プロットにも現れないのだろうか...Y

私はモデルの問題を診断するのに助けを求めていませんが、(1)残差対適合プロット&(2)残差対プロットの違い(一般的に)を理解しようとしています。 Y

価値があるのは、2番目のグラフのエラーパターンは、DVに影響する変数の省略によるものだと確信しています。現在、そのデータの取得に取り組んでおり、全体的な適合性と仕様の改善に役立つと期待しています。私は不動産データを扱っています:DV =販売価格。IV:1平方フィートの家、#ガレージスペース、1年建て、1年建て。 2


3
私はあなたの意図にもう少し密接にタイトルを微調整する自由を取りました。エコノミスト(あなたもそうかもしれません)の間でさえ、「IV」には道具変数の別の意味がありますが、この場合にはあいまいさはありません。いくつかの統計科学間のコミュニケーションを改善するために、DV(一部の人々にとってはまだDeo volenteを意味する)やIV などのローカルで使用される略語をやめ、一方では応答や結果、予測変数や共変量などの刺激的な用語を支持しますその他。これはあなたの質問の詳細であることは知っていますが、よく回答されています。
ニックコックス

回答:


10

構築により、OLSモデルの誤差項は、X共変量の観測値と相関しません。これは、モデルの仮定に違反しているため(変数の省略問題や逆因果性の問題など)、パラメーターの真の値を反映しない偏った推定値をモデルが生成している場合でも、観測データに対して常に当てはまります。予測値は完全にこれらの共変量の関数であるため、誤差項とも相関しません。したがって、予測値に対して残差をプロットするとき、それらは推定器の構築によって実際に無相関であるため、常にランダムに見えるはずです。対照的に、実際にはモデルの誤差項がYと相関することは完全に可能です(そして確かに可能性があります)。たとえば、二分されたX変数では、さらに真のYはE(Y | X = 1)またはE(Y | X = 0)、残差が大きくなります。これは、Rでシミュレートされたデータを使用した同じ直観です。ここでは、データ生成プロセスを制御するため、モデルに偏りがないことがわかります。

rm(list=ls())
set.seed(21391209)

trueSd <- 10
trueA <- 5
trueB <- as.matrix(c(3,5,-1,0))
sampleSize <- 100

# create independent x-values
x1 <- rnorm(n=sampleSize, mean = 0, sd = 4)
x2 <-  rnorm(n=sampleSize, mean = 5, sd = 10)
x3 <- 3 + x1 * 4 + x2 * 2 + rnorm(n=sampleSize, mean = 0, sd = 10)
x4 <- -50 + x1 * 7 + x2 * .5 + x3 * 2  + rnorm(n=sampleSize, mean = 0, sd = 20)
X = as.matrix(cbind(x1,x2,x3,x4))


# create dependent values according to a + bx + N(0,sd)
Y <-  trueA +  X %*%  trueB  +rnorm(n=sampleSize,mean=0,sd=trueSd)


df = as.data.frame(cbind(Y,X))
colnames(df) <- c("y", "x1", "x2", "x3", "x4")
ols = lm(y~x1+x2+x3+x4, data = df)
y_hat = predict(ols, df)
error = Y - y_hat
cor(y_hat, error) #Zero
cor(Y, error) #Not Zero

たとえば、省略した場合、バイアスモデルとのゼロ相関の同じ結果が得られます。 x1.

ols2 = lm(y~x2+x3+x4, data = df)
y_hat2 = predict(ols2, df)
error2 = Y - y_hat2
cor(y_hat2, error2) #Still zero
cor(Y, error2) #Not Zero

2
参考になりましたが、明確にするために最初の文を書き換えることができます。「構築」は残差を生成します。エラー項は、計算の前に存在し、存在すると見なされます。同様に、構築されるのは推定値であり、構築に使用される方法であるエスティメータではありません。
ニックコックス

しかし、それではなぜ残差チャートを見るのでしょうか(適合)。そのプロットにはどのような診断目的がありますか?このサイトは初めてです。Michaelにタグを付ける必要がありますか、それともこのコメントを自動的に取得しますか?私のコメントは、以下の@Glen_bの回答にも適用されます。どちらの答えも私の理解に役立ちます。ありがとう。
Mac

...他の構造を明らかにする可能性があるため。残差と適合の間の相関関係の欠如は、他のことも起こり得ないという意味ではありません。あなたのモデルが完璧だと信じているなら、あなたはそれが可能であると信じないでしょう....実際には、他の種類の構造をチェックする必要があります。
ニックコックス

@Mac、正直に言って、私はこれらのプロットを見たことがないと言います。因果推論を行おうとする場合、省略された変数の問題を考え、因果関係の問題を概念的に逆にする必要があります。どちらの問題も発生する可能性がありますが、これらは観測的な同等性の問題であるため、これらのプロットから目を離すことはできません。予測のみが必要な場合は、モデルの予測がサンプル外で実行されるかどうかを検討し、サンプル外でテストする必要があります(そうでない場合は予測ではありません)。
マイケル

@NickCoxはい、パラメータの真の値ではなく、モデルによって推定される誤差項を意味します。
マイケル

19

あなたが私に満足していると私が仮定している2つの事実:

y=y^+e^

Covy^e^=0

次に:

Covye^=Covy^+e^e^

=Covy^e^+Cove^e^

=0+σe2

=σe2

そのため、近似値は残差と相関していませんが、観測値です。

実際、これは、観測値と残差の両方が誤差項に関連しているためです。

これにより、通常、診断目的で残差プロットを使用するのが多少難しくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.