8 回帰分析

8.1 概要

回帰分析という統計手法は、独立変数(説明変数・予測変数)と従属変数(被説明変数・目的変数・応答変数)の関係を記述するのに使われます。

回帰分析を使うことで、

  1. 目的変数と関連のある説明変数を特定したり、
  2. 変数間の関係式を記述したり、
  3. 説明変数から目的変数を予測したり

することができます。

8.2 データセット

datarium パッケージの marketing データを利用します。

図のパラメータを調整しておきます。

8.4 多項式回帰

2次式による回帰。
formula において2次の項を I() で囲う必要があります。

3次式による回帰。

8.6 重回帰

重回帰モデル。

説明変数の交互作用を含めるときは、コロン記号を使います。
以下の例では youtube と facebook の交互作用項を加えています。

交互作用の様子を視覚化するには effect() 関数が便利です。

facebook の値が大きいほど、youtube と sales の関係が強くなる(スロープが急峻になる)ことがわかります。

8.7 回帰の診断方法

回帰分析はいくつかの前提条件を想定しています。

  • 正規性(Normality)
  • 独立性(Independence)
  • 線形性(Linearity)
  • 等分散性(Homoscedasticity)

回帰分析をする際はこれらの条件が満たされているかをチェックしておく必要があります。

8.7.1 正規性(Normality)

目的変数が正規分布に従うという条件です。
もしそうなっていれば、Q-Q プロットにおいてデータは対角線上に分布します。

データは直線になっておらず、値が小さい場合や大きい場合に実測値はモデルの予測よりも小さくなっています。

左下の 131 のデータが特に大きな外れ値になっています。
外れ値であることは残差やスチューデント化残差の大きさに反映されます。

Q-Q プロットから 131 と 6 のデータが外れ値であるようなので、それらを除外して再度 Q-Q プロットを作図してみます。

正規性を満たすかを確認するには誤差分布の形状を確認するのもわかりやすい方法です。
以下の図では誤差のヒストグラムを表示します。

この図でも分布があまり左右対称ではなく、また左端に外れ値があることなどが見て取れます。

8.7.2 独立性(Independence)

各観測が独立でなければならないという条件です。
時系列データや階層性のあるデータの場合にはこの条件が満たされません。

car パッケージの durbinWatsonTest() 関数は Durbin-Watson 検定によって系列的な相関について調べることができます。

p > 0.05 であるため自己相関があるとは言えません(つまり独立性が示唆される)。

8.7.3 線形性(Linearity)

目的変数が説明変数と線形な関係を持つという条件です。

Component plus residual プロットを使うと線形性を確認できます。

直線は線形モデルのフィットで、曲線は Loes による曲線です。
どの図(説明変数)でも2つの線が重なっているので、線形性は満たされていると考えられます。

8.7.4 等分散性(Homoscedasticity)

目的変数の分散が位置によらず一定であるという条件です。
もし等分散性が満たされていれば残差の値は予測値の値に依存しない(つまり水平な分布)になるはずです。

p 値が 0.05 未満であり、等分散ではないという結果になっています。
(この検定は等分散であることを帰無仮説とし、予測値の値によって分散が異なることを対立仮説とします。p < .05 で帰無仮説が棄却されると、等分散ではないという仮説が支持されます)

図を見ると右下がりの分布になっており、予測値の値が小さいほど残差が大きく、確かに等分散ではないと見て取れます。

8.8 多重共線性(Multicollinearity)

多重共線性は VIF (variance inflation factor; 分散拡大要因) という指標で診断できます。
VIF は各説明変数に対して算出され、その値は 2 未満であることが望まれます。
VIF の値が 10 以上であれば、その変数は多重共線性の要因になっていることが示唆されます。

8.9 異常値

外れ値、高レバレッジ点、影響値などは回帰分析の結果に大きく影響するためよく検討しておく必要がある。

8.9.3 影響値(Influential observations)

クックの距離は、目的変数と説明変数の両方の外れ具合の指標。

偏回帰 added-variable プロット(または偏回帰レバレッジ partial-regression leverage プロット)

影響プロット Influence plot

ハット値は説明変数の外れ具合
ステューデント化残差は目的変数の外れ具合
円の面積はクックの距離で、2つの外れ具合の両方を表す

8.10 対処方法

回帰モデルを診断して問題が見つかった場合にどのような対処をするか。

  • データの除外
  • 変数変換
  • 変数の追加または削除
  • 異なる分析方法を用いる

といった方法が考えられます。

8.10.1 データの除外

外れ値や影響値を除外した上で回帰モデルのフィットを再度行います。
測定ミスや被験者が課題を正しく理解していなかったせいで生じた外れ値と考えられる場合はそのデータを除外することは正当ですが、そうでない場合には注意が必要。
モデルに合わないデータが存在する理由を考えることは現象についての洞察を得る機会になります。

8.10.2 変数変換

正規性・線形性・等分散性などが満たされない場合には変数を指数変換や対数変換すると状況が良くなる場合があります。

正規性や等分散性が満たされない場合には目的変数を変換することを試します。

car パッケージの powerTransform() 関数を使うとデータを最も正規分布に近づける指数の値を最尤推定します。

結果の一番下で変数変換が不要という仮説が p < 0.05 で棄却されているので、何らかの変数変換が有用である(つまり変数変換した方が良さそう)であることがわかります。対数変換(Log transform)であるという仮説も p < 0.0 で棄却されているので、対数変換を使うべきではなさそうです。

Est Power が 0.5779 となっているので、sales 変数を約 0.6 乗することで sales 値の分布を正規分布に近づけることができます。この値は 0.5 に近いので平方根を使うのも良さそうです(X^0.5 = sqrt(X)なので)。

線形性が満たされない場合は説明変数を変数変換します。

car パッケージの boxTidwell() 関数は線形性を向上させる変換指数の最尤推定値を計算します。

boxTidwell 関数を使う際はデータの値が全て正の値(0もだめ)である必要があります。
marketing データの 128 行目の facebook の値が 0 なので、この行も除外して分析をします。

youtube は 0.47、facebook は 1.2、newspaper は 6.2 で指数変換すると良いことがわかります。ただし p < 0.05 であるのは youtube だけなので、youtube だけを変換すれば良いでしょう。

変数変換したモデルの方が R^2 値が大きいので、回帰モデルの当てはまりが良くなっています。

8.10.3 変数の追加または削除

特定の説明変数を分析から除外したり、新たな説明変数を追加したりすることで回帰モデルの当てはまりが良くなる場合があります。多重共線性が生じている場合は問題になっている変数を除外するのが良く使われる方法です。

8.10.4 異なる分析方法を用いる

一般化線形モデルなど他の分析方法を試す。

8.11 ベストな回帰モデルを選ぶ

8.11.1 AIC を用いた変数選択

AIC(赤池情報量規準)はモデルの予測性能の指標で、この値が小さいほど良いモデル(予測誤差が小さい)とされます。

fit3 が最も AIC の値が小さく、この 3 つのモデルの中では最良であると考えられます。

MASS パッケージの stepAIC() 関数を使うと変数を順に削除(または追加)していき、最も AIC が小さくなるモデルを探索します(ステップワイズ回帰)。

ただし、この方法は常に最も良いモデルを見つけ出すとは限らない点に問題があります(あらゆる変数の組み合わせがチェックされるとは限らないので)。

8.11.2 All subsets regression

説明変数がそれほど多くない場合には、あらゆる変数の組み合わせについて回帰結果を比較する(全サブセット回帰)のが良いでしょう。

leaps パッケージの regsubsets() 関数を使うとそのような分析ができます。

変数の組み合わせごとに回帰モデルの R^2 値が示されます。
youtube と facebook の 2 変数を使うモデルが最も良さそうとわかります。

8.13 標準化回帰係数

回帰モデルの各説明変数間の相対的な重要性を知るには、説明変数の標準化回帰係数を見るのが簡単な方法です。
データの各説明変数の値を z 変換した上で回帰分析をすれば標準化回帰係数が得られます。

標準化回帰係数は youtube の 0.73 が最も大きな値です。
youtube の値が 1 標準偏差増えると sales が 0.73 標準偏差増えることを意味します。
売り上げの予測に最も重要な説明変数は youtube であることがわかります。

8.14 相対的重みづけ分析

各説明変数間の相対的な重要性を定量化するには他にも様々な方法が提案されています。
相対的重みづけ(relative weights)は当該説明変数をモデルに加えた時のR^2値の増加の期待値として計算されます。
https://www.researchgate.net/publication/220030359

この結果は、回帰モデルのR^2値のうちの 61% を youtube が説明し、35%を facebook が説明することを意味します。この分析結果からも、youtube が最も重要な説明変数であることがわかります。

8.15 練習問題

新たなデータを題材にして、(重)回帰分析の練習をしてみましょう。

8.15.1 データについて

Atir らが 2015年に Psychological Science 誌に発表した論文のデータを用います。
今回の分析で用いるのはこの論文の中の Study 1b のものです。

この論文では overclaiming と呼ばれる現象について研究を行なっています。
overclaiming とは、知っているはずのない事柄に対して、それを知っていると主張することです。
例えば、「事前相場株式」について知っているかと聞かれて、知っていると答えた場合、それは overclaiming です(「事前相場株式」という言葉は存在しません)。

overclaiming がなぜ起こるのかを調べるため、Study 1b では 202名の被験者を集めて質問紙調査を行いました。被験者らは、(A) 金融に関して自分がどれほど知識が豊富だと思うかを調べる質問紙と、(B) 金融に関する様々な単語についてそれを知っている度合いを調べる質問紙に回答しました。どちらの質問紙を先に回答するかはカウンターバランスされました。質問紙 B は 15 個の金融用語それぞれについて、知っている度合いを 7 段階で評定するものでした。ただし、15個のうち3個は実在しない架空の用語でした。

論文では、自分の知識豊富さに関する自覚が overclaiming にどう影響するかについて、重回帰分析を用いた分析結果が報告されています。

論文:
Atir, S., Rosenzweig, E., & Dunning, D. (2015). When knowledge knows no bounds: Self-perceived expertise predicts claims of impossible knowledge. Psychological Science, 26, 1295-1303.

論文リンク

参考ページ:
https://sites.trinity.edu/osl/data-sets-and-activities/regression-activities

8.15.2 データの読み込み

各列の内容は以下の通り:

  • id: 被験者番号
  • overclaiming: 質問紙 B (overclaiming task)で、実在しない金融用語を知っていると回答した度合い
  • confidence: 質問紙 A (self-perceived knowledge of personal finance) のスコア
  • accuracy: 質問紙 B の正解率
  • FINRA: FINRA 質問紙のスコア
  • order: overclaiming 課題と confidence 課題を行なった順番

8.15.3 分析したいこと

  • overclaiming の平均や分散、分布(ヒストグラム)を調べる。
  • confidence と overclaiming の関係を調べる。
  • confidence と overclaiming の関係は、accuracy や FINRA の影響を統制した上でもなお見られるか。
  • 課題順序の影響はあるか。

8.15.4 分析

グラフ化

まずは横軸に confidence、縦軸に overclaiming をとってグラフにしてみます。

正の相関がありそうです。

car パッケージの関数を使って他の変数との関係もまとめて図示してみます。
被験者番号は図に含める必要がないので、sebset 関数を使って id の列を除外しています。

Accuracy が overclaiming と負の相関を持っていそうなことや、order が overclaiming や confidence と負の相関を持っていそうなことなどが推察できます。

8.15.4.1 回帰分析の実施

では回帰分析を実施しましょう。

論文のページ 3 に結果が記載されています。
Study 1a についての記述の部分で

“We next entered self-perceived knowledge of personal finance (M = 4.23, SD = 1.22) and accuracy into a regression model predicting overclaiming”.

とあるように、self-perceived knowledge of personal finance (confidence のこと) と acuracy を用いて overclaiming を予測する回帰モデルによる分析をしていることがわかります。

実験 1b のその分析結果は以下のように書かれています。

“Likewise, in Study 1b, self-perceived knowledge of personal finance (M = 4.43, SD = 1.17) positively predicted overclaiming, b = 0.10, t(199) = 13.07, p < .001.”

この分析結果を再現してみましょう。

confidence の行の結果を見ると、b = 0.099765、t = 13.07, p < 2e-16 となっています。
b は四捨五入すれば 0.10 なので、論文中での値と同じ値が得られました。

(ちなみに、p 値の 2e-16 という値は相関係数の検定の Notes でも補足したように、使っているコンピュータで扱える最小の数値ですので、「とにかく小さな数」という以上の意味はありません)

次に、質問紙の回答順序の効果に関して次のような記述があります。

“overclaiming was higher when self-perceived knowledge was assessed first (M = 0.34, SD = 0.24) rather than second (M = 0.27, SD = 0.21), t(200) = 2.21, p < .05.”

どうやら、self-perceived knowledge (confidence) を先に回答したグループの方が overclaiming が多かったようです。

この結果を再現してみましょう。データを order の値が 1 のグループと 2 のグループに分けて、両グループの overclaiming の値について、対応なしの t 検定をします。

結果の一番下に平均値が表示されており、論文中の M = 0.34 と M = 0.27 と合っています。
t = 2.2092, p = 0.02832 で、これも論文中の値と合っていますね。

この結果から、質問紙の回答順序によって overclaiming の度合いに違いがあったとわかります。ただし、どちらの順でやったにせよ confidence と overclaiming の関係は有意であったようです。そのことが以下のように書かれています。

“However, self-perceived knowledge significantly predicted overclaiming regardless of whether it was assessed before the overclaiming task, b = 0.12, t(98) = 9.83, p < .001, or after it, b = 0.09, t(98) = 8.47, p < .001.”

この結果を再現してみましょう。

(summary の結果のうち回帰係数の部分のみを表示させています)

order が 1(confidence の質問紙が先)の時は b = 0.11609, t = 9.828, p = 2.86e-16、
order が 2 の時は b = 0.08625, t = 8.469, p = 2.502806e-13
となっており、論文中の値と一致しています。

続いて以下の記述を確認します。

“Genuine knowledge, as assessed by the financial literacy quiz, also positively predicted overclaiming, b = 0.05, t(199) = 4.92, p < .001. Selfperceived knowledge was positively correlated with genuine knowledge, r(200) = .32, p < .001.”

前半に関しては以下のような回帰モデルを作ると論文中の数値と一致しました。

後半の相関に関しては

で同じ結果になることが確認できます。

次の段落で、最後の分析として、genuine knowledge (FINRA スコアのこと) を含めた回帰分析が報告されています。

“When genuine knowledge was entered into the model with self-perceived knowledge, self-perceived knowledge remained a highly significant predictor of overclaiming, b = 0.09, t(198) = 11.73, p < .001.”

order 以外のすべての要因を回帰モデルに入れれば良いので、

これで論文と同じ結果が得られます。
accuracy や FINRA の影響を統制した上でもなお overclaiming と confidence には有意な関係がありました。

回帰モデルの診断

論文中の結果の記述は以上ですが、ここでは続けて回帰モデルの診断基準についての分析もしておきましよう。

正規性を Q-Q プロットで確認します。
データが直線的に並んでいるので、正規性が満たされていることが確認できます。

次に線形性を見ます。
青の点線は直線を当てはめたもので、紫の実線はデータにひっつく曲線(Loes)です。
紫(データ)は青の直線上に並んでいるので、説明変数と目的変数に直線的な関係がある(つまり線形性が満たされる)ことが確認できます。

次に等分散性を確認します。

p = 0.09 なので、等分散であるという帰無仮説は棄却されず、分散に差があるとは言えない、という結果です。図を見ると、残差は少し右上がりではありますがほぼ水平になっているので、等分散であることを示唆します。

最後に多重共線性をチェックします。

どの説明変数についても値は 2 未満であるので、多重共線性の問題はないことが確認できました。