Лінійна регресія з факторами в R


10

Я намагаюся зрозуміти, як саме працюють фактори в Р. Скажімо, я хочу запустити регресію, використовуючи деякі вибіркові дані в R:

> data(CO2)
> colnames(CO2)
[1] "Plant"     "Type"      "Treatment" "conc"      "uptake"   
> levels(CO2$Type)
[1] "Quebec"      "Mississippi"
> levels(CO2$Treatment)
[1] "nonchilled" "chilled"   
> lm(uptake ~ Type + Treatment, data = CO2)

Call:
lm(formula = uptake ~ Type + Treatment, data = CO2)

Coefficients:
 (Intercept)   TypeMississippi  Treatmentchilled  
       36.97            -12.66             -6.86  

Я розумію це TypeMississippiі Treatmentchilledрозглядаються як булеві: Для кожного ряду початкове поглинання є 36.97, і ми віднімаємо, 12.66чи є він типу Міссісіпі і 6.86чи був він охолодженим. У мене виникають проблеми з розумінням чогось такого:

 > lm(uptake ~ Type * Treatment, data = CO2)

 Call:
 lm(formula = uptake ~ Type * Treatment, data = CO2)

 Coefficients:
                 (Intercept)                   TypeMississippi  
                      35.333                            -9.381  
            Treatmentchilled  TypeMississippi:Treatmentchilled  
                      -3.581                            -6.557  

Що означає множення двох факторів разом на lm?

Відповіді:


17

Щоб пояснити відповідь @ Джона: у формулах R у вас є кілька операторів, які ви можете застосувати до термінів: "+" просто додає їх ":" означає, що ви додаєте термін (або кілька термінів), що посилається на їх взаємодію ( див. нижче) "*" означає і те, і інше: "основні ефекти" додаються, а також додаються також терміни взаємодії.

То що означає ця взаємодія? Що ж, у випадку безперервних змінних це дійсно доданий термін, який є просто кратним двома змінними. Якщо ви мали б висоту та вагу в якості предикторів і використовуватимете їх out ~ height * weightяк формулу, лінійна модель, таким чином, буде містити три «змінні», а саме: вагу, зріст та їх продукт (вона також містить взаємодію, але це тут менш цікаво).

Хоча я пропоную інакше вище: це працює точно так само і для категоричних змінних, але зараз "продукт" застосовується до (набору) фіктивних змінних (змінних) для кожної категоріальної змінної. Припустимо, ваш зріст і вага зараз категоричні, кожна з яких має три категорії (S (торговий центр), M (edium) і L (arge)). Потім у лінійних моделях кожна з них представлена ​​набором двох манекенів-змінних, які або 0, або 1 (існують інші способи кодування, але це за замовчуванням у R та найчастіше використовується). Скажімо, ми використовуємо S як опорну категорію для обох, тоді ми маємо щоразу дві манекени висоти.M і висоти. L (і подібні за вагою).

Отже, тепер модель out ~ height * weightмістить 4 манекени + всі продукти всіх манекенів-комбінацій (я тут явно не пишу коефіцієнтів, вони маються на увазі):

(intercept) + height.M + height.L + weight.M + weight.L + height.M * weight.M + height.L * weight.M + height.M * weight.L + height.L * weight.L.

У верхньому рядку "*" тепер знову посилається на простий продукт, але це час манекенів, тому кожен продукт сам по собі також є або 1 (коли всі коефіцієнти дорівнюють 1), або 0 (коли хоча б одного немає).

У цьому випадку 8 'змінних' дають різні (середні) результати у всіх комбінаціях двох змінних: ефект великої ваги зараз вже не однаковий для малих людей (для них ефект просто формується терміном weight.L), як для великих людей (тут ефект є weight.L + height.L * weight.L)


7

Щоб продовжити відповідь Джона, формули в lm не використовують арифметичні позначення, вони використовують компактну символічну нотацію для опису лінійних моделей (зокрема нотації Вілкінсона-Роджерса, тут є хороший короткий підсумок http: //www.physiol .ox.ac.uk / ~ raac / R.shtml ).

По суті, включення A * B у формулу моделі означає, що ви підходите до A, B і A: B (взаємодія A і B). Якщо термін взаємодії є статистично значущим, це говорить про те, що ефект від лікування є різним для кожного з видів.


3

Можливо, пошуки «формули» допомоги допоможуть. Ви не розмножуєтесь, ви говорите, що хочете і двох основних ефектів, і їх взаємодії.


1
(+1), хоча мені здається, що це більше нагадує коментар.
Дмитро Челов
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.