Jak se vyhnout multikolinearitě
Vrátíme se k našemu prodejnímu datasetu salesData, který je už načtený v pracovním prostředí. Navíc je načtený i balíček rms.
Odhadneme vícenásobnou lineární regresi! Přitom chceme využít všechny proměnné, které jsou v datasetu k dispozici.
Toto cvičení je součástí kurzu
Machine Learning for Marketing Analytics in R
Pokyny k cvičení
- Sestav úplný model s názvem
salesModel1využívající všechny proměnné kroměid, aby vysvětloval prodeje v tomto měsíci. K tomu doplň správné názvy proměnných do následující vzorové syntaxe:response ~ . - excluded_variable. Čte se to jako "responsemodelované pomocí všech proměnných kroměexcluded_variable." - Odhadni faktory změny rozptylu pomocí funkce
vif()z balíčkurms. - Kromě vyloučení proměnné
idodstraň také proměnnépreferredBrandanBrands, aby se předešlo multikolinearitě. Každou z nich vylučuješ přidáním-před její název. Model ulož do objektusalesModel2. - Znovu odhadni faktory změny rozptylu pro tento model. Jsou teď výsledky přijatelné?
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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
___