R中的模型选择,我是否包含变量之间的相互作用?

时间:2017-02-07 19:55:35

标签: r

所以我环顾四周,似乎无法从我发现的内容中解决这个问题。

我试图为我拥有的三种型号计算BIC,

resistivity1 = rho_i*(1 + (3/8)*lam*(1/thickness))

resistivity2 = rho_i(1 + (3/2)*lam*(1/grains)*(R/(1-R)))

resistivity3 = rho_i*(1 + (3/8)*lam*(1/thickness) + (3/2)*lam*(1/grains)*(R/(1-R)))

R,lam和rho_i是一些常数,现在我已经错过了 - 我对这些有特定的价值。

这就是我在R中所写的,

BIC(lm(formula = resistivity ~ 1 + (3/8)*I(1/thickness), data=z))

BIC(lm(formula = resistivity ~ 1 + (3/2)*I(1/grains), data=z)) 

BIC(lm(formula = resistivity ~ I(1 + (3/8)*I(1/thickness) + (3/2)*I(1/grains)), data=z)) 

如果有人需要知道,这就是我的数据头像,

|   | thickness | grains | resistivity |
---------------------------------------|
| 1 |     524.4 |   1829 |        15.6 | 
| 2 |     670.5 |   3155 |    450000.0 |
| 3 |     943.4 |   3859 |        22.1 |
| 4 |    1072.3 |   4585 |        10.9 |

基本上,我不知道我在R中写的内容是否与上面定义的模型相同。是否有必要同时包含互动resistivity:thicknessresistivity:grains

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以在两个模型上运行anova,一个使用,一个不进行交互。它应该向您显示添加交互是否更好地解释了您的数据。如果没有,请将其删除。

由于您没有包含可复制的示例,请将此作为指南:

anova(lm(y~a+b), lm(y~a+b+a:b))

告诉您添加互动a:b是否会改善模型。

在数据集(无意义的模型)上:

data(french_fries)
attach(french_fries)
anova(lm(potato ~ time + treatment), # model 1 with no interaction
      lm(potato ~ time * treatment)) # model 2 with interaction

输出告诉我们使用交互改进了模型(较低的RSS),但不是很明显:

Analysis of Variance Table

Model 1: potato ~ time + treatment
Model 2: potato ~ time * treatment
  Res.Df    RSS Df Sum of Sq      F Pr(>F)
1    683 8128.6                           
2    665 8012.6 18    115.93 0.5345 0.9422