残差プロットの解釈による回帰分析の向上

このページの内容:

回帰分析を実行すると、Stats iQは残差の計算とプロットを自動的に行うので、回帰モデルの理解を深め、回帰モデルを向上させることができます。このセクションでは、残差(定義と例を含む)の解釈に関して理解しておくべきことについて説明します。

観察、予測と残差

残差を解釈する方法を示すために、かき氷販売スタンドのデータセットを使用します。こちらでは、各行は日々の「気温」と「収入」です。

気温(℃) 収入
28.2 $44
21.4 $23
32.9 $43
24.0 $30
その他 その他

 

「気温」と「収入」の関係を示す回帰方程式は次のようになります。

収入 = 2.7 * 気温 – 35

例えば、かき氷販売スタンドの気温が30.7℃の日の「収入」が$50だったとします。この50は、観測値または実測値で、実際の 値です。

したがって、30.7を「気温」の値に代入します。

収入 = 2.7 * 30.7 – 35
収入 = 48

計算の結果、収入は$48になりました。こちらは、その日の予測値として、「気温」に基づいて回帰方程式で予測された「収入」です。

もちろん、このモデルは常に完璧であるわけではありません。この場合、予測は2ドル分外れています。この差が残差と呼ばれます。残差は、観測値から予測値を減算した残りです。

残差 = 観測値 –予測値

さらに、データの各行には、予測値と残差があります。

気温
(℃)
収入
(観測値)
収入
(予測)
残差
(観測値 – 予測値)
28.2 $44 $41 $3
21.4 $23 $23 $0
32.9 $43 $54 -$11
24.0 $30 $29 $1
その他 その他 その他 その他

 

次に、観測値、予測値と残差値を使用して、モデルの評価と改善を行います。

観測値と予測値の比較による精度の理解

このように変数が2つだけのシンプルなモデルでは、「気温」を「収入」に関連付けることによってモデルの精度を理解できます。2つの異なるかき氷販売スタンドで同じ回帰分析を実行した例は以下の通りです。1つのモデルは非常に高い精度を示していますが、もう1つのモデルの精度は高くありません。
高い精度のモデル予測と低い精度のモデル予測のグラフ

両方のかき氷販売スタンドでは、「気温」が高いほど「収益」が高いことが明白です。しかし、ある「気温」を仮定した場合、右側のかき氷販売スタンドに比べて、左側のかき氷販売スタンドの方が「収益」を高い精度で予測できます。こちらは、モデルの精度が高いことを意味します。

一方、ほとんどのモデルには説明変数があるので、このようなグラフで多くの変数を表すのは現実的ではありません。したがって、ここでは同じデータセットの予測値と観測値の比較をプロットしてみます。
精度の高いモデルと精度の低いモデルの予測値と実測値の比較を示すグラフ

ここでも、左側のグラフのモデルは非常に高い精度を示し、モデルの予測値と対応する実測値の間で高い相関関係があります。右側のグラフのモデルは反対であり、モデルの予測はあまり好ましくない結果です。

これらのモデルは、前の例の「気温」対「収入」のグラフと同じように思えますが、X軸は「気温」ではなく、予測された「収益」を表しています。こちらは、回帰方程式に説明変数が1つしかない場合に一般的に見られます。多くの場合、複数の説明変数があるので、これらのグラフは、1つの説明変数と「収入」の関係を示すプロットとは非常に異なります。

予測値と残差値の検証(「残差プロット」)

残差をプロットする一番便利な方法は、予測値をX軸に配置し、残差値をY軸に配置することです。

(Stats iQは残差値を標準化残差として表現するので、モデルの各残差プロットは同じ標準化されたY軸上に配置されます。)
予測値と実測値の比較のグラフと標準化残差のグラフ

右側のプロットでは、各ポイントが日を表し、モデルで生成された予測値はX軸に配置され、予測の精度はY軸に配置されています。中央の0の基準線から離れるほど、目的変数に対する予測精度が悪いものがプロットされます。

数式では、

残差 = 観測値 –予測値

上記の式では、正の値の残差(Y軸)は予測が低すぎることを示し、負の値は予測が高すぎることを示します。0の値は、予測が正しいことを示します。

理想的な残差のプロットは下記になります。
理想的な標準化残差プロットの例

つまり、
(1)分布が対称的で、プロットの中央に向かってクラスタを形成する。
(2)Y軸の1桁台の小さい値の範囲にクラスタが形成される(例:30や150ではなく、0.5や1.5)。
(3)一般的に、明確なパターンがない。

上記の要件を満たさない残差プロットの例を以下に示します。
望ましくない標準化残差プロットの例

これらのプロットでは、縦方向に均等に分布している、外れ値がある、または明確な形状があるという特徴が見られます。

残差に明確なパターンや傾向がある場合、モデルには改善の余地があります。

次のセクションでは、その理由と対策について説明します。

モデルが完璧でない場合どれほど問題になるか

モデルが完璧でない場合や残差が正常でないと思われる場合、どの程度考えるべきかは分析担当者次第です。

素粒子物理学の論文を発表するのであれば、モデルの精度を可能な限り高くすべきかもしれません。かき氷販売スタンドの売り上げを簡単に分析する場合、予測(「収入」に対する「気温」の影響)に必要なのは完璧なモデルではないかもしれません。

ほとんどの場合、適切なモデルは必要ありません。手元のモデルを改善しようとするのであれば、目的に対してモデルの精度が十分かどうかを判断する必要があります。

残差プロットとその診断の例

残差が何かわからない場合、このセクションを読み進める前に上記の説明を参照してください。

ここでは、正常でない残差プロットの例をいくつか示します。実際の残差は、次のいずれかのタイプであるか、いくつかのタイプの組み合わせになります。

次の例のいずれかに当てはまる場合、その残差の[このプロットの詳細と問題の修正方法を表示]をクリックし、モデルで発生している問題を理解し、その修正方法を確認してください。

(ここではかき氷販売スタンドの「収入」とその日の「気温」をサンプルデータセットとして使用します。)

アンバランスなY軸

アンバランスなY軸の残差プロット

このプロットの詳細と問題の修正方法を表示

問題

次に示すように、何らかの理由でかき氷販売スタンドの収入が低下する日もあり、非常に高い日もあります。

かき氷販売スタンドの収入の歪んだヒストグラム

対称的なベル型のヒストグラムは次のようになります。

かき氷販売スタンドの収入の対称的なヒストグラム

「気温」と「収入」の関係のプロットは、次のように下の方に集まった形になります。

かき氷販売スタンドの歪んだデータに見られる「気温」と「収入」の関係

黒い線はモデルの方程式(「気温」と「収入」の関係に関するモデルの予測)を表します。上のプロットで特定の「気温」に対して黒い線が示す各予測値を確認してください(「気温」が30の場合、予測される「収入」は約20です)。ほとんどの点は線の下にあります(予測が高すぎる)。線の上に表示されている点(予測が低すぎる)はわずかです。

同じデータを診断プロットに変換すると、方程式の予測値のほとんどが少し高く、いくつかは低すぎます。

かき氷販売スタンドの例における予測値と実測値の比較、および残差のプロット

意味

ほとんどの場合、こちらはモデルの精度を大幅に上げることが可能であることを意味します。ほとんどの場合、モデルは方向的に正しいものの、向上したバージョンに比べて非常に精度が低いことがわかります。このような問題を修正した場合、モデルのR二乗が(0~1のスケールで)0.2から0.5に向上することは珍しくありません。

修正方法

  • この問題の修正方法は、ほとんどの場合、データ(一般的に応答変数)を変換 (英語)することです。
  • モデルで変数が欠落している可能性もあります。

分散不均一性

分散不均一性を示す残差プロット

 

このプロットの詳細と問題の修正方法を表示

問題

これらのプロットは、予測が大きくなるに従って残差が大きくなる「分散不均一性」を示します。

例えば、寒い日に収入が一定でも、暑い日の収入に変動が見られる際、

その場合のプロットは次のようになります。

かき氷販売スタンドのプロットの分散不均一性

意味

こちらは本質的に問題を引き起こすものではありませんが、モデルに改善の余地があることを示します。

唯一の例外は、サンプルサイズが250未満であり以下の手順で問題を修正できない場合に、P値が本来の値よりも少々高すぎるか低すぎるかによって有意水準上にある変数が水準の正しくない側に間違って配置される可能性があります。それでも、回帰係数(「収入」は「気温」が1増加すると変化します)は正確です。

修正方法

  • 最も一般的な修正方法は、変数を変換 (英語)することです。
  • 分散不均一性は、変数が欠落していることを示すことがあります。

非線形

非線形の残差プロット

 

このプロットの詳細と問題の修正方法を表示

問題

かき氷は寒い日にはあまり売れず、暖かい日によく売れます。また、非常に暑い日にはあまり売れません(非常に暑い日には外出する人が少ないからだと考えられます)。

その場合のプロットは次のようになります。

データが放物線状になる「気温」と「収入」の比較

線で示されているモデルは好ましくない例です。予測値が非常に基準線から離れているので、モデルは「気温」と「収入」の関係を正確に表していないことがわかります。

したがって、残差は次のようになります。

「予測値」対「実測値」と残差の非線形プロット

意味

上記の例のようにモデルの精度が非常に低い場合、予測値に有意性はありません(上の例の0.027というR二乗のようにR二乗が非常に低くなります)。

そうではない場合次のように、完璧ではないものの全般的に関係を良好に示します。

可能なプロットであるが準最適な非線形フィット

モデルは非常に精度が高いと思われます。描画を細かく見た場合(残差を見た場合)、点は線に一致しない曲線上にあるというパターンがあることがわかります。

好ましく見える「予測値」対「実測値」と非線形の残差

こちらが問題になるかどうかは、モデルの使用目的に応じて異なります。関係をすばやく把握したい場合、この直線はある程度適切な近似として使用できます。このモデルを説明ではなく予測に使用する場合、最も精度の高いモデルでは、この曲線を考慮に入れることが考えられます。

修正方法

  • このようなパターンは、変数を変換 (英語)する必要があることを示す場合もあります。
  • この例のようにパターンが明確な場合は、非線形モデルを作成する必要があると思われます(一般的に思われるほど難しいことではありません)。
  • また、以前の例と同様に、欠損している変数が問題の原因であることも考えられます。

外れ値

外れ値を示すプロット

 

このプロットの詳細と問題の修正方法を表示

問題

データポイントの1つが通常の20℃台や30℃台ではなく、80℃の「気温」を示した場合はどうなるでしょうか。その場合のプロットは次のようになります。

1つの外れ値「気温」ポイントを含む「気温」対「収入」のプロット

この回帰分析には、入力変数「気温」に外れ値のデータポイントがあります(入力変数の外れ値は「レバレッジポイント」とも呼ばれます)。

データポイントの1つに$20~$60ではなく、$160の収入を示すものがある場合はどうなるでしょうか。その場合のプロットは次のようになります。

1つの外れ値「収入」ポイントを含む「気温」対「収入」のプロット

この回帰分析には、出力変数「収入」に1つの外れ値データポイントがあります。

意味

Stats iQは、出力の外れ値(収入が$160の日など)による影響はなくても入力の外れ値(80℃の「気温」など)による影響を受ける回帰分析を実行します。最悪の場合、モデルは外れ値以外の全てのポイントを網羅しながら外れ値に近づけようと試みるので、全体的に間違った予測になることがあります。次に例を示します。

外れ値の気温ポイントがある場合とない場合のモデルのプロット

青い線がモデルに期待すべき予測ですが、「気温」80の外れ値がある場合のモデルの予測は赤い線になります。

修正方法

  • こちらは測定またはデータ入力エラーに起因する間違った外れ値である可能性があります。その場合、外れ値を削除します。
  • いくつかの外れ値は実際には、ベキ分布であることがあります。変数の1つに非対称分布がある場合(ベル型分布から離れている場合)、変数を変換 (英語)することを検討してください。
  • 正当な外れ値である場合、外れ値の影響を評価する必要があります。

大きいY軸のデータポイント

大きいY軸データポイントがある残差プロット

このプロットの詳細と問題の修正方法を表示

問題

現在のかき氷販売スタンドの近くに別の2つのかき氷販売スタンドがあるケースを考えてみましょう。ほとんどの場合、営業しているのはどちらかだけなので、現在のかき氷販売スタンドの収入は定期的に良好です。どちらも営業していない場合、現在のかき氷販売スタンドの収入は増加します。逆に両方とも営業している場合、収益は減少します。

この場合の「収入」と「気温」の関係は次のようになります。

大きいY軸データポイントのあるデータの「気温」と「収入」の関係

プロットの上部は2つのかき氷販売スタンドでどちらも営業していない日を示し、下部は2つのかき氷販売スタンドが両方とも営業している日を示します。

この残差プロットは次のようになります。

大きいY軸データポイントがある場合の「予測値」と「実測値」の比較と残差プロット

この場合、0の両方の位置にかなりの数のデータポイントがあり、その残差は10以上なので、モデルは正しくないと言えます。

この問題は、「営業しているかき氷販売スタンドの数」という変数のデータを毎日収集し、その変数をモデルに追加することによって修正できます。しかし、必要なデータがない場合(またはどのような変数が必要なのかがわからない場合)もあります。

意味

モデルに意味がないわけではありませんが、必要な変数が全てある場合と比べると良くもありません。このモデルを引き続き使用できますが、「ほとんどの場合、このモデルの精度は非常に高いけれども、ときどき予測が大きく外れることがある」という現象が見られた場合、このモデルは使用可能でしょうか。モデルを使用してどのような決断をするのかに応じて異なります。

修正方法

  • このアプローチは上記のような特定の例では機能しませんが、変数を変換 (英語)できる可能性があるかどうかを確認することをお勧めします。
  • 変数を変換しても望ましい結果が得られない場合は、欠損している変数を見つける必要があります。

アンバランスなX軸

X軸がアンバランスなデータの残差プロット

 

このプロットの詳細と問題の修正方法を表示

問題

「気温」だけでなく、近所の「歩行者数」も「収入」に影響するケースを考えてみましょう。次の通り、かき氷販売スタンドの収入が著しく低下する日がある一方で、非常に収入が多い日があるとします。

右側に歪んだ「歩行者数」のヒストグラム

対称的なベル型のヒストグラムは次のようになります。

対称的な「気温」ヒストグラム

「歩行者数」と「気温」の比較は次のようになり、ほとんどのデータは左側に集中しています。

「歩行者数」対「収入」のプロット

黒い線はモデルの方程式(「歩行者数」と「収入」の関係に関するモデルの予測)を表します。このモデルでは、「歩行者数」が0の場合と、100や1,000の場合の違いを区別できないことがわかります(それぞれの予測収益は、全て$53前後です)。

同じデータを診断プロットに変換すると次のようになります。

「歩行者数」モデルの「予測値」対「実測値」と残差プロット

意味

実際にはモデルに何も悪いところがない場合があります。上記の例では、良いモデルでないことは明白ですが、場合によっては残差プロットはアンバランスで、モデルは非常に良好です。

これを見分ける唯一の方法は、a)データを変換してモデルが改善するかどうかを確認すること、および b)上記の例のように、「予測値」対「実測値」プロットを参照して、多くのデータポイントで予測が外れているかどうかを確認することです(次の例は逆のケースを示します)。

アンバランスなX軸の許容可能な「予測値」対「実測値」のプロット

(このモデルのように)残差のアンバランスが許容されなくてもモデルが正確な場合のルールはありませんが、多くの場合、X軸がアンバランスな残差はモデルの精度を大幅に向上させることができることを意味します。ほとんどの場合、モデルは方向的に正しいものの、向上したバージョンに比べて非常に精度が低いことがわかります。このような問題を修正した場合、モデルのR二乗が(0~1のスケールで)0.2から0.5に向上することは珍しくありません。

修正方法

  • この問題の修正方法は、ほとんどの場合、データ(一般的に説明変数)を変換することです。(次の例では、応答変数を変換し、同じプロセスを使用しています。)
  • モデルで変数が欠落している可能性もあります。

モデルの改善:外れ値の影響の評価

正当な外れ値データポイントがあり、測定やデータ入力のエラーがない場合を考えてみましょう。次のステップを決定するには、回帰分析におけるそのデータポイントの影響を評価する必要があります。

最も簡単な方法は、現在のモデルの係数を確認し、そのデータポイントを回帰分析から除外することです。モデルで大きな変化が見られない場合、大きな問題はありません。

モデルが大きく変化した場合、モデル(特に「実測値」対「予測値」)を検証し、どちらのモデルが適切かを決定します。理論的根拠では(「このケースでは外れ値に大きな意味はなく、関心領域外である」や「親戚のおじさんからチップとしてもらった$100はモデルに組み込むべきでない」など)がある場合、外れ値を無視しても問題ありません。

モデルの改善:変数の変換

概要

モデルを改善する最も一般的な方法は、変数を変換することです。通常、「対数」変換を使用します。

変数を変換すると、分布の形状が変化します。一般的に、対称の分布やベル型の分布ではなく非対称の分布が見られる変数から始めることをお勧めします。そのような変数を見つけて変換を行います。

右側に歪んだ「収入」のヒストグラム

一般的に、回帰分析モデルは、対称のベル型曲線で良好に機能します。そのような形状に近い形が得られるまで、何種類かの変換を試してみてください。対称のベル型曲線にならないこともありますが、なるべくこちらに近づくことが目的です。対称の形状を得るために「収入」の平方根(√x)を取る場合を考えてみます。その場合の分布は次のようになります。
「収益」の平方根のヒストグラム

かなり改善されましたが、少々非対称です。今度は、「収益」の対数(log)を取ってみます。その場合は次のような形状になります。
「収入」の対数のヒストグラム

こちらは良い対称型になりました。この場合、「収入」ではなく、「log(収入)」の方が優れた回帰分析モデルを得ることができると考えられます。方程式、残差とR二乗は、次のように変化します。
未変換データと変換済みデータの残差プロット

Stats iQは、変数の分布を回帰方程式と共に示します:

変数の左側にある変換[fx]ボタンを選択します。

変数名の左にある変換オプションを選択

次に、変換(ほとんどの場合、対数変換を表す[log(x)..])を選択します。

ドロップダウンリストから変換を選択

変換を行った後、次の例のようにヒストグラムの分布が中央に集まったかどうかを確認します。
対称型に近くなるヒストグラムの変換

変数を変換した後、分布、回帰分析のR二乗と残差プロットのパターンがどのように変化するかを確認します。改善が見られた場合(特にR二乗と残座)、変換を維持するのがベストです。

変換が必要な場合、「対数」(log)変換から開始します。一番簡単にモデルの結果を確認する方法としてお勧めします。しかし、変換するデータにゼロや負の値が含まれる場合、問題が発生することがあることにご注意ください。対数を取るのが便利な理由、正でない値の変換、またはデータの変換でどのような処理が行われるかの詳細については、以下のセクションを参照してください。

詳細

数値のlog10()を取る場合、「10を何乗するとその数になるか」を計算します。例えば「収入」と「log(収入)」の両方を含む4つのデータポイントの標準テーブルを考えてみましょう。

気温 収入 Log(収入)
20 100 2
30 1,000 3
40 10,000 4
45 31,623 4.5

 

「気温」対「収入」と「気温」対「log(収入)」をプロットした場合、logのモデルの方が優れていることがわかります。
変換済みモデルのプロットの方が優れている

この変換で興味深い点は、回帰分析が線形でなくなることです。「気温」が20から30に増加すると、「収入」は10から100に増加します(90ユニットのギャップ)。次に、「気温」が30から40に増加すると、「収入」は100から1000になり、ギャップがさらに大きくなります。

応答変数の対数を取った場合、「気温」の1ユニットの増加は「収入」のX - ユニットの増加ではなくなり、「収入」のX-%の増加になります。この場合、「気温」の10ユニットの増加は、Yの1000%増加に関連付けられます(「気温」の1ユニットの増加は「収入」の26%増加に関連付けられます)。

また、ゼロや負の数の対数を取ることはできないことに注意してください(10X = 0や10X= -5 を満たすXは存在しません)。したがって、対数変換を行うと、このようなデータポイントは回帰分析から失われます。このような状況に対処するには、一般的に4つの方法があります。

  1. 平方根(または立方根)を取ります。対数を取る場合ほどに曲線の形状は劇的に変化しませんが、回帰分析でゼロを維持できます。
  2. データでゼロを含む行の数が少なく、それらの行が理論的に重要でない場合は、対数変換を行って回帰分析からいくつかの行を失っても問題ないことがあります。
  3. log(y)ではなく、log(y+1)を取ります。ゼロは1になるので、回帰分析で維持することができます。モデルで若干のプラスのバイアスが生じますが、一般的に実践的な部分での負の影響は非常に小さく抑えられます。

モデルの改善:欠損している変数

モデルが適合しない場合の最も一般的な理由としては、全ての適切な変数が含まれていないことが挙げられます。この問題には、多くの解決方法があります。

新しい変数の追加

この問題は、別の変数をモデルに追加するだけで解決できることがあります。例えば、週末のかき氷販売スタンドの「収入」が平日に比べて多かった場合、モデルは平日と週末を区別することなく全ての日の平均を取るので、「予測値」対「実測値」のプロットは次のようになります(0.053のR二乗)。
変数が欠損しているデータのプロット

モデルに「週末」という変数を追加した場合、「予測値」対「実測値」のプロットは、次のようになります(0.974のR二乗)。
第2の変数を追加したデータのプロット

このモデルでは、平日と週末が区別されるので、予測の精度が大きく向上します。

この方法でモデルを改善するには、Stats iQで変数を作成する必要がある場合があります。例えば、「日付」変数(2014/10/26など)がある場合、「週の日」(Sundayなど)または「週末」(Weekend)という新しい変数を作成する必要がある場合があります。

使用できない省略済み変数

しかし、多くのケースでは、該当する変数が何かわからない場合や収集することが困難な場合があり、使用できないことがあるので、この方法は簡単ではありません。検討すべきは「平日」と「週末」という問題ではなく、「地域内で競合するかき氷販売スタンドの数」が必要なことも考えられます。

必要な変数が使用できない場合、または必要な変数が何かわからない場合、モデルを改善することはできないので、モデルを評価して、その結果にどれだけ満足できるかどうか(欠点があっても使えるかどうか)を検討する必要があります。

変数同士の相互作用

週末のかき氷販売スタンドの売り上げが常にキャパシティの100%である場合、「収入」は「気温」に関係なく高い結果になります。一方、平日はあまり忙しくないので、「気温」は「収入」に大きく影響します。「週末」と「気温」を含む回帰分析を実行すると、次のような「予測値」対「実測値」のプロットが得られます(上部の行は週末の日を表します)。
相互作用のない2つの変数モデルのプロット

「週末」と「気温」の相互作用があると考えた場合、「収入」に対するいずれかの変数の影響は、もう一方の変数の値に基づいて異なります。相互作用のある変数を作成すると、非常に精度の高いモデルを得ることができます。このモデルの「予測値」対「実測値」のプロットは次のようになります。
相互作用が追加された2つの変数モデルのプロット

モデルの改善:非線形の修復

次のような関係がある場合を考えてみます。

線形モデルを使用した非線形データのプロット

形状は放物線状なので、一般的に次のような方程式に関連付けられます。

y = x2 + x + 1

デフォルトで、回帰分析では、次のような線形モデルが使用されます。

y = x + 1

上記のプロットの線の方程式を以下に示します。

y = 1.7x + 51

しかし、こちらはまったく適合しません。したがって、x2の項を追加すると、このモデルが曲線に適合する確率が高くなります。この結果は次のようになります。

非線形モデルを使用した非線形データのプロット

この曲線の方程式を以下に示します。

y = -2x2 +111x – 1408

次の図は、この例の診断プロットを示します。

線形モデルを使用する診断プロット

このプロットは次のように変化します。

非線形モデルを使用する診断プロット

データが右側に偏っているように見えますが、これらは正常な診断プロットです。

x3 の項を追加することによって、上記のアプローチを他の種類の形状(特にS字型曲線)に拡張できますが、あまり一般的ではありません。

次の点にご注意ください。

  • 一般的に、データに非線形のパターンがあるためにx2の項がある場合、x2ではなく普通のxの項を使用することを検討してください。この項がなくてもモデルが適切であることがありますが、両方のケースを試すことをお勧めします。
  • 回帰分析方程式は理解するのが難しい場合があります。このセクションの冒頭の線形方程式の場合、「気温」のユニットが1つ上がると、「収入」は1.7ユニット上がります。方程式にx2とxの両方がある場合、「気温」が1℃上がった場合の結果を予測することは困難です。そのため、方程式が十分に適合する場合は、線形方程式を使用する方が簡単な場合があります。