始める無料で始める

多重共線性を避ける

作業スペースには、売上データセット salesData がすでに読み込まれています。さらに、rms パッケージも読み込まれています。

では重回帰モデルを推定してみましょう。もちろん、データセット内のすべての変数を活用したいところです。

この演習はコースの一部です

Rで学ぶマーケティングアナリティクスのための機械学習

コースを見る

演習の手順

  • 今月の売上を説明するため、id 以外のすべての変数を使ったフルモデルを salesModel1 という名前で作成してください。その際、次のダミー構文に正しい変数名を入れて使います: response ~ . - excluded_variable。これは「responseexcluded_variable を除くすべての変数でモデル化する」という意味です。
  • rms パッケージの vif() 関数を用いて分散拡大係数(VIF)を推定してください。
  • さらに id に加えて、多重共線性を避けるために preferredBrandnBrands を除外してください。これは、それぞれに - を付けて指定します。モデルは salesModel2 というオブジェクトに保存してください。
  • モデルの VIF を改めて推定してください。これで結果を受け入れられそうでしょうか?

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Estimating the full model
salesModel1 <- lm(salesThisMon ~ . - ___, 
                 data = salesData)

# Checking variance inflation factors
vif(___)

# Estimating new model by removing information on brand
salesModel2 <- lm(salesThisMon ~ . - ___, 
                 data = ___)

# Checking variance inflation factors
___
コードを編集して実行