Множественный линейный Reg — применение полиномиальных терминов к эффектам взаимодействия

#r #regression

#r #регрессия

Вопрос:

Я ломал голову над этим и не могу понять, каков наилучший способ для этого.

До сих пор я проводил свой первоначальный MLR

 reg=lm(register~.,data=train)
  

Оттуда я проверил наличие эффектов взаимодействия, используя

 testinter=glm(register~(.-atemp)*(.-atemp),data=train)
  

После определения значимых взаимодействий я включил все в свою модель.

 reg=lm(register~season:month season:temp year:month 
     year:weekday year:temp month:temp holiday:windspeed weekday:
     weathersit weekday:hum weathersit:hum 
     hum weathersit season year temp, data=train)
  

Однако, после рассмотрения некоторых переменных, hum и temp необходимо было преобразовать в полиномиальные термины. hum ^ 2 и temp ^ 3.

Мой вопрос в том, как я могу включить их в эффекты взаимодействия? Это моя попытка до сих пор, когда я заменил «hum» на poly (hum, 2, raw = T), но я не уверен, правильно ли это.

 reg=lm(register~season:month season:poly(temp,3,raw=T) year:month 
     year:weekday year:poly(temp,3,raw=T) month:poly(temp,3,raw=T) holiday:windspeed weekday:
     weathersit weekday:poly(hum,2,raw=T) weathersit:poly(hum,2,raw=T) 
     poly(hum,2,raw=T) weathersit season year poly(temp,3,raw=T), data=train)
  

Комментарии:

1. Добро пожаловать в Stack Overflow! Пожалуйста, обратите внимание, что SO в целом требует воспроизводимых примеров, и r тег специально запрашивает, чтобы вы делились данными dput() , если в вашем примере не используются встроенные данные. Пожалуйста, наведите курсор мыши на тег R для получения дополнительной информации.

Ответ №1:

Вы должны использовать I() , когда вам нужно выполнить преобразование в lm glm уравнении или.

Вот пример использования iris набора данных:

 data(iris)
reg <- lm(Sepal.Length~Sepal.Width:I(Petal.Length^2), data=iris)
summary(reg)
  
 Call:
lm(formula = Sepal.Length ~ Sepal.Width:I(Petal.Length^2), data = iris)

Residuals:
    Min      1Q  Median      3Q     Max 
-0.9405 -0.2357  0.0029  0.2224  0.8241 

Coefficients:
                               Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   4.8649126  0.0478357  101.70   <2e-16 ***
Sepal.Width:I(Petal.Length^2) 0.0192699  0.0007492   25.72   <2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.3552 on 148 degrees of freedom
Multiple R-squared:  0.8172,  Adjusted R-squared:  0.816 
F-statistic: 661.6 on 1 and 148 DF,  p-value: < 2.2e-16
  

Комментарии:

1. Спасибо! Это действительно помогает! Быстрый вопрос, что, если некоторые взаимодействия между квадратичными и кубическими членами связаны с факторными / категориальными переменными? Должен ли я по-прежнему использовать I()?

2. @ieaggie Всегда пожалуйста. Да, если вы имеете в виду это Species:I(Petal.Length^2) , это работает нормально. Конечно, вы не можете использовать мощность или другое преобразование уровня фактора, поскольку это не имеет никакого смысла. Но если вы имеете в виду числовую переменную, с которой вы взаимодействуете, то да.