Вам, вероятно, не важно знать, нужны ли вам квадратичные термины, а узнать, являются ли какие-либо эффекты нелинейными.В то время как квадратичный член может взять некоторые из них, существуют некоторые явно не квадратичные эффекты, которые являются нелинейными.Есть много способов сделать это, но мне нравится использовать ограниченные кубические сплайны, реализованные в пакетах Hmisc
и Design
.
Например:
library(Design)
x1 <- runif(200)
x2 <- runif(200)
x3 <- runif(200)
x4 <- runif(200)
y <- x1 + x2 + rnorm(200)
f1 <- ols(y ~ rcs(x1,4) + rcs(x2,4) + rcs(x3,4) + rcs(x4,4))
> anova(f1)
Analysis of Variance Response: y
Factor d.f. Partial SS MS F P
x1 3 19.2033740 6.40112466 7.96 0.0001
Nonlinear 2 5.6426655 2.82133277 3.51 0.0319
x2 3 10.6042751 3.53475836 4.40 0.0051
Nonlinear 2 0.5047319 0.25236593 0.31 0.7309
x3 3 3.0844406 1.02814688 1.28 0.2829
Nonlinear 2 0.1474818 0.07374091 0.09 0.9124
x4 3 4.1770965 1.39236549 1.73 0.1619
Nonlinear 2 4.1770665 2.08853325 2.60 0.0771
TOTAL NONLINEAR 8 9.5322762 1.19153452 1.48 0.1660
REGRESSION 12 37.1220435 3.09350362 3.85 <.0001
ERROR 187 150.3064834 0.80377799
ols
isпо существу, эквивалент lm
.Обратите внимание на таблицу ANOVA в выходных данных: в ней есть тест на нелинейность эффектов, включая глобальный тест.