Andy와 마찬가지로 Macro의 의견도 정확합니다. 다음은 예입니다.
> library(rms)
>
> set.seed(1)
> d <- data.frame(x1 = rnorm(50), x2 = rnorm(50))
> d <- within(d, y <- 1 + 2*x1 + 0.3*x2 + 0.2*x2^2 + rnorm(50))
>
> ols1 <- ols(y ~ x1 + pol(x2, 2), data=d) # pol(x2, 2) means include x2 and x2^2 terms
> ols1
Linear Regression Model
ols(formula = y ~ x1 + pol(x2, 2), data = d)
Model Likelihood Discrimination
Ratio Test Indexes
Obs 50 LR chi2 79.86 R2 0.798
sigma 0.9278 d.f. 3 R2 adj 0.784
d.f. 46 Pr(> chi2) 0.0000 g 1.962
Residuals
Min 1Q Median 3Q Max
-1.7463 -0.4789 -0.1221 0.4465 2.2054
Coef S.E. t Pr(>|t|)
Intercept 0.8238 0.1654 4.98 <0.0001
x1 2.0214 0.1633 12.38 <0.0001
x2 0.2915 0.1500 1.94 0.0581
x2^2 0.2242 0.1163 1.93 0.0602
> anova(ols1)
Analysis of Variance Response: y
Factor d.f. Partial SS MS F P
x1 1 131.894215 131.8942148 153.20 <.0001
x2 2 10.900163 5.4500816 6.33 0.0037
Nonlinear 1 3.196552 3.1965524 3.71 0.0602
REGRESSION 3 156.011447 52.0038157 60.41 <.0001
ERROR 46 39.601647 0.8609054
"청크 검정"은 항 x2
과 x2^2
항을 따로 고려하는 대신 , 항의 계수가 모두 0이라는 귀무 가설을 테스트하는 2-df 검정입니다 (저는 일반적으로 "일반 선형 F 검정"이라고합니다 ). 해당 검정의 p- 값은로 주어진 0.0037 anova(ols1)
입니다.
에 있습니다 rms
패키지, 당신은 지정해야합니다 x2
으로 조건을 pol(x2, 2)
위한 anova.rms()
그들이 함께 시험을하여야한다 알고.
anova.rms()
예를 들어, rcs(x2, 3)
범주 형 예측 변수를 사용하여 제한된 입방 스플라인으로 표시되는 예측 변수에 대해 유사한 테스트를 수행 합니다. 또한 "청크"에 상호 작용 용어가 포함됩니다.
인용에서 언급 한 것처럼 일반적인 "경쟁"예측 변수에 대해 청크 테스트를 수행하려면 두 모델을 개별적으로 피팅 한 다음을 사용하여 수동으로 수행해야한다고 생각합니다 anova(model1, model2)
. [편집 : 이것은 잘못되었습니다. Frank Harrell의 답변을 참조하십시오.]