多重共線性を避ける
作業スペースには、売上データセット salesData がすでに読み込まれています。さらに、rms パッケージも読み込まれています。
では重回帰モデルを推定してみましょう。もちろん、データセット内のすべての変数を活用したいところです。
この演習はコースの一部です
Rで学ぶマーケティングアナリティクスのための機械学習
演習の手順
- 今月の売上を説明するため、
id以外のすべての変数を使ったフルモデルをsalesModel1という名前で作成してください。その際、次のダミー構文に正しい変数名を入れて使います:response ~ . - excluded_variable。これは「responseをexcluded_variableを除くすべての変数でモデル化する」という意味です。 rmsパッケージのvif()関数を用いて分散拡大係数(VIF)を推定してください。- さらに
idに加えて、多重共線性を避けるためにpreferredBrandとnBrandsを除外してください。これは、それぞれに-を付けて指定します。モデルは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
___