我有一个多元线性回归,如下所示,其中包含交互项,其中我的一些术语是因子变量(季节,月份,假日,工作日,weathersit)
regwithint=lm(casual~season:temp+season:month+year:temp+
month:temp+holiday:temp+weekday:hum+season+
month+holiday+weekday+weathersit+temp+windspeed
,data=training)
然而,变量temp和windspeed被转换为(temp ^ 3)和(windspeed ^ 2)。
查看交互术语,我在 temp:weekday 之间进行了交互 其中temp是 temp ^ 3 ,而工作日是 factor 变量。
我知道在大多数情况下我应该使用 I(temp ^ 3) 但事实上它与因子变量配对意味着我应该使用 poly(temp,3,raw = T)而不是?
谢谢。
答案 0 :(得分:0)
首先,让我们确定I()
与因子变量交互正常工作:
data(iris)
reg <- lm(Sepal.Length~Species:I(Petal.Length^2), data=iris)
summary(reg)
Call: lm(formula = Sepal.Length ~ Species:I(Petal.Length^2), data = iris) Residuals: Min 1Q Median 3Q Max -0.87875 -0.22363 -0.00197 0.21664 1.06243 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 4.245539 0.133172 31.880 < 2e-16 *** Speciessetosa:I(Petal.Length^2) 0.341688 0.062196 5.494 1.7e-07 *** Speciesversicolor:I(Petal.Length^2) 0.092381 0.007413 12.462 < 2e-16 *** Speciesvirginica:I(Petal.Length^2) 0.075714 0.004388 17.253 < 2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.3431 on 146 degrees of freedom Multiple R-squared: 0.8318, Adjusted R-squared: 0.8284 F-statistic: 240.7 on 3 and 146 DF, p-value: < 2.2e-16
现在让我们看看你的功能是否也有效:
data(iris)
reg <- lm(Sepal.Length~Species: poly(Petal.Length,2,raw=T), data=iris)
summary(reg)
确实如此(注意它的不同之处在于它必须具有较低阶的术语):
Call: lm(formula = Sepal.Length ~ Species:poly(Petal.Length, 2, raw = T), data = iris) Residuals: Min 1Q Median 3Q Max -0.73849 -0.22814 -0.01978 0.24177 0.98833 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.79002 1.58957 1.126 0.2620 Speciessetosa:poly(Petal.Length, 2, raw = T)1 3.87221 2.16771 1.786 0.0762 . Speciesversicolor:poly(Petal.Length, 2, raw = T)1 1.13016 0.78109 1.447 0.1501 Speciesvirginica:poly(Petal.Length, 2, raw = T)1 0.74216 0.56640 1.310 0.1922 Speciessetosa:poly(Petal.Length, 2, raw = T)2 -1.12847 0.74087 -1.523 0.1299 Speciesversicolor:poly(Petal.Length, 2, raw = T)2 -0.03641 0.09628 -0.378 0.7059 Speciesvirginica:poly(Petal.Length, 2, raw = T)2 0.02178 0.05107 0.426 0.6705 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.3367 on 143 degrees of freedom Multiple R-squared: 0.8413, Adjusted R-squared: 0.8346 F-statistic: 126.4 on 6 and 143 DF, p-value: < 2.2e-16
那么区别是什么?
好吧,就像我在你的另一个问题中说的那样I()
是绝大多数R程序员在lm
和glm
方程式中使用的,因为它很远更灵活 - 可用于等式内的任何变换。