스플라인 라이브러리에는 함수가 있으며 함수 bs
와 ns
함께 사용할 스플라인 기준을 lm
만든 다음 스플라인을 포함하여 선형 모델과 모델을 맞추고 anova
함수를 사용 하여 전체 및 축소 모델 테스트를 수행하여 스플라인 모델이 훨씬 더 잘 맞는지 확인할 수 있습니다 선형 모델보다.
예제 코드는 다음과 같습니다.
x <- rnorm(1000)
y <- sin(x) + rnorm(1000, 0, 0.5)
library(splines)
fit1 <- lm(y~x)
fit0 <- lm(y~1)
fit2 <- lm(y~bs(x,5))
anova(fit1,fit2)
anova(fit0,fit2)
plot(x,y, pch='.')
abline(fit1, col='red')
xx <- seq(min(x),max(x), length.out=250)
yy <- predict(fit2, data.frame(x=xx))
lines(xx,yy, col='blue')
poly
함수를 사용하여 다항식 피팅을 수행하고 비선형 항을 곡률 테스트로 테스트 할 수 있습니다.
황토 적합을 위해 조금 더 복잡합니다. 선형 및 황토 모델에 대한 값 과 함께 사용 하여 F 테스트 를 수행 할 수있는 황토 평활화 매개 변수에 대한 동등한 자유도 추정치가 있습니다 . 부트 스트랩 및 순열 테스트를 기반으로 한 방법이 더 직관적이라고 생각합니다.아르 자형2
loess fit에 대한 신뢰 구간을 계산하고 플로팅하는 기술이 있습니다 (ggplot2 패키지에 내장 된 방법이 있다고 생각합니다). p- 값이 아니지만 여전히 예 / 아니오를 제공합니다.
선형 모형을 적합하고 잔차를 취하고 반응으로 잔차에 황토 모형을 적합 (및 예측 변수로 관심 변수) 할 수 있습니다. 실제 모형이 선형 인 경우이 적합은 평평한 선에 가깝고 점을 다시 정렬해야합니다. 예측 자와 관련하여 아무런 차이가 없어야합니다. 이를 사용하여 순열 테스트를 만들 수 있습니다. 황토를 맞추고, 0에서 가장 먼 예측 값을 찾은 다음, 무작위로 점을 퍼머 팅하고 새로운 황토를 맞추고 0에서 가장 먼 예측 된 점을 찾고, 여러 번 반복하며, p- 값은 추가 된 치환 된 값의 비율입니다. 원래 값보다 0부터
황토 대역폭을 선택하는 방법으로 교차 유효성 검사를보고 싶을 수도 있습니다. 이것은 p- 값을 제공하지 않지만, 무한대 대역폭이 완벽한 선형 모델에 해당합니다. 교차 검증이 매우 큰 대역폭을 제안하면 더 높은 대역폭이 명확하게 열등한 경우 선형 모델이 합리적 일 수 있습니다 더 작은 대역폭은 명확한 곡률을 나타내며 선형으로는 충분하지 않습니다.