R에서 매듭을 지정하는 방법
이 ns
함수 는 입력 벡터가 주어지면 자연스런 회귀 스플라인을 생성합니다 . 매듭은 df
정수를 취하는 자유도 인수 또는 원하는 매듭 배치를 제공 knots
하는 벡터 를 취하는 매듭 인수 를 통해 지정할 수 있습니다 . 작성한 코드에서
library(splines)
lda.pred <- lda(y ~ ns(x, knots=5))
5 개의 매듭을 요청하지 않았지만 위치 5 에서 단일 (내부) 매듭을 요청했습니다 .
df
인수 를 사용 하면 벡터의 Quantile을 기준으로 내부 매듭 점이 선택됩니다 x
. 예를 들어 전화를 걸 경우
ns(x, df=5)
그런 다음 기준은 각각 20 번째, 40 번째, 60 번째 및 80 번째 Quantile에 배치 된 2 개의 경계 매듭 및 4 개의 내부 매듭을 포함합니다 x
. 경계 매듭은 기본적으로 최소값과 최대 값에 배치됩니다 x
.
다음은 매듭의 위치를 지정하는 예입니다
x <- 0:100
ns(x, knots=c(20,35,50))
대신을 호출 ns(x, df=4)
하면 각각 25, 50 및 75 위치에 3 개의 내부 매듭이 생깁니다.
절편을 원하는지 여부를 지정할 수도 있습니다. 일반적으로은 ( 는 ) 강제로 포함하지 않는 인터셉트를 포함 ns
하는와 함께 가장 자주 사용 되므로 지정 lm
되지 않습니다. intercept=TRUE
에 대한 호출에 사용하는 경우 왜 그렇게하고 ns
있는지 알고 있는지 확인하십시오. 이렇게하면 순진하게 호출 하면 디자인 매트릭스에 순위가 부족하게됩니다.lm
매듭을 세우기위한 전략
노트는 기본 동작 인과 같이 Quantile에 가장 일반적으로 배치됩니다 ns
. 직관은 많은 데이터가 서로 가깝게 클러스터되어 있으면 해당 지역의 잠재적 비선형 성을 모델링하기 위해 더 많은 노트를 원할 수 있다는 것입니다. 그러나 이것이 이것이 (a) 유일한 선택이거나 (b) 최선의 선택이라는 것을 의미하지는 않습니다.
다른 선택도 가능하며 도메인에 따라 다릅니다. 데이터에 대해 "정식"의 선택이 없다면, 예측 자의 히스토그램 및 밀도 추정값을 통해 매듭이 필요한 위치에 대한 힌트를 얻을 수 있습니다.
회귀 해석의 관점에서, 매듭 배치로 확실히 "연주"할 수는 있지만,이를 신중하게 평가하고 추론을 조정해야하는 모델 선택 페널티가 발생 함을 알아야합니다. 결과.