有人知道预测函数在回归模型中存在交互项时如何计算项?我知道如何在回归没有交互条件的情况下解决条件,但是当我添加一个时,我再也无法解决这些问题了。这是一些示例数据,我想看看如何手动计算这些值。谢谢! -Aleksi
set.seed(2)
a <- c(4,3,2,5,3) # first I make some data
b <- c(2,1,4,3,5)
e <- rnorm(5)
y= 0.6*a+e
data <- data.frame(a,b,y)
model1 <- lm(y~a*b,data=data) # regression
predict(model1,type='terms',data) # terms
#This gives the result:
a b a:b
1 0.04870807 -0.3649011 0.2049069
2 -0.03247205 -0.7298021 0.7740928
3 -0.11365216 0.3649011 0.2049069
4 0.12988818 0.0000000 -0.5919534
5 -0.03247205 0.7298021 -0.5919534
attr(,"constant")
[1] 1.973031
答案 0 :(得分:2)
您的模型在技术上是y ~ b0 + b1*a + b2*a*b + e
。计算a
是通过将自变量乘以其系数并使结果居中来完成的。例如,a
的术语将是
cf <- coef(model1)
scale(a * cf[2], scale = FALSE)
[,1]
[1,] 0.04870807
[2,] -0.03247205
[3,] -0.11365216
[4,] 0.12988818
[5,] -0.03247205
与上面的输出相匹配。
由于交互项只是乘以自变量,因此转换为
scale(a * b * cf[4], scale = FALSE)
[,1]
[1,] 0.2049069
[2,] 0.7740928
[3,] 0.2049069
[4,] -0.5919534
[5,] -0.5919534