스플라인 / 부드러운 회귀로 새 데이터를 예측하는 방법


11

예측 모델에 스무딩 / 스플라인을 사용할 때 새 데이터에 대한 예측을 수행하는 방법에 대한 개념적인 설명을 누구나 도울 수 있습니까? 예를 들어, 사용하여 작성된 모델 특정 gamboost에서 mboostP 스플라인과, R의 패키지, 어떻게 새로운 데이터 예측을 만들어? 훈련 데이터에서 무엇을 사용합니까?

독립 변수 x의 새로운 값이 있고 y를 예측하고 싶다고 가정하십시오. 스플라인 생성 공식이 모델을 학습 할 때 사용되는 매듭 또는 df를 사용하여이 새 데이터 값에 적용되고 훈련 된 모델의 계수가 적용되어 예측을 출력합니까?

다음은 새로운 데이터 mean_radius = 15.99에 대해 899.4139를 출력하기 위해 개념적으로 예상되는 R의 예입니다.

#take the data wpbc as example
library(mboost)
data(wpbc)

modNew<-gamboost(mean_area~mean_radius, data = wpbc, baselearner = "bbs", dfbase = 4, family=Gaussian(),control = boost_control(mstop = 5))
test<-data.frame(mean_radius=15.99)
predict(modNew,test)

질문 : 보간 (도메인 내부) 또는 외삽에 대한 것입니까? 그것들은 다르게 취급됩니다. 또한 "기본"기능에 크게 의존합니다. GLM에서 예상되는 것과 같은 방사형 기저 함수는 고차 다항식 기저와는 달리, 특히 꼬리 너머에서 실질적으로 다른 거동을 갖습니다.
EngrStudent

EngrStudent, 나는 어느 경우에서 일어나는 일을 개념적으로 이해하는 데 관심이 있습니다. 프로세스가 두 경우 모두 동일하지만 결과 값이
다르고

다항식 기저에는 때때로 "Gibbs effect"라고 불리는 현상이 있습니다. 표준 정규 분포의 균일 한 표본 인 데이터를 10 차 다항식과 같은 것에 맞추고 보간 품질을 보면 끝에서 기울기가 높고 보간이 매우 열악하다는 것을 알 수 있습니다. 다항식 기저에서는 보간보다 차수가 적은 외삽 법을 사용하는 것이 일반적입니다. 현상을 정의하는 "물리"를 모르면 외삽자는 종종 선형입니다. MatLab : mathworks.com/help/matlab/ref/interp1.html을 사용 합니다.
EngrStudent

답변:


10

예측 계산 방식은 다음과 같습니다.

원래 적합 mean_radius에서 훈련 데이터 의 범위를 통해 매듭 위치가 퍼졌습니다 . B- 스플라인 기준의 정도 (기본적으로 입방체 mboost)와 함께이 매듭 점 위치는 B- 스플라인 기준 함수의 모양을 정의합니다. 기본값은 mboost24 개의 큐빅 B- 스플라인 기본 함수를 정의하는 20 개의 내부 매듭을 갖는 것입니다. 이 기본 함수를 호출 입니다. 공변량 ``mean_radius '' 의 효과 는 간단히 . 선형 회귀 가중치 추정의 훨씬 간단한 문제에 대한 지정되지 않은 함수Bj(x);j=1,,24x=

f(x)=j24Bj(x)θj
f(x)θj 합성 모음과 연관된 공변량은 .Bj(x)

다음 복잡하게되지 않는다는 것을 예측 : 추정 계수 감안할 때 , 우리는 평가할 필요가예측 데이터 입니다 . 이를 위해 원본 데이터의 기본 기능을 정의하는 매듭 위치 만 있으면됩니다. 그런 다음 예측 된 값을 θ^jX N E w F ( X N E w ) = 24 Σ j 개의 B의 J ( X N E w ) θ J .Bj();j=1,,24xnew

f^(xnew)=j24Bj(xnew)θ^j.

승압은 반복적 인 절차이기 때문에 정지 반복 에서의 추정 계수 는 실제로 반복 의 계수 업데이트의 합입니다 . 세부 사항을 파악하고 싶다면 출력 결과를 살펴보십시오. 1 , , m s t o pmstop1,,mstop

bbs(rnorm(100))$dpp(rep(1,100))$predict,

거기에서 탐색하십시오. 예를 들어

with(environment(bbs(rnorm(100))$dpp(rep(1,100))$predict), newX)

전화

with(environment(bbs(rnorm(100))$dpp(rep(1,100))$predict), Xfun)

평가하는 에 .x n e wBj()xnew


이것은 대단하다. 이 기능들이 무엇을 광범위하게 설명하고 싶습니까? 새 데이터를 "점수"하는 데 필요한 것은 계수 세트, 훈련시 사용되는 매듭 위치 및 스플라인 수식입니다. KNN 모델과 같이 새 데이터를 채점하는 데 필요한 다른 교육 데이터가 있습니까?
B_Miner

1
필요한 정보는 사용하는 스플라인 기준 유형에 따라 다릅니다. B- 스플라인의 경우 B- 스플라인 (2 차 / 입방체 등)의 순서와 매듭 위치 만 알면됩니다. B- 스플라인의 "수식"은 재귀, Cox-de Boor 재귀 입니다. 내 답변에 반 문장을 추가했습니다.
fabians
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.