왜 누군가 회귀에 KNN을 사용합니까?


26

내가 이해 한 바에 따르면 훈련 데이터 간격 내에있는 회귀 함수 만 작성할 수 있습니다.

예를 들어 (패널 중 하나만 필요합니다) : 여기에 이미지 설명을 입력하십시오

KNN 회귀자를 사용하여 미래를 어떻게 예측할 수 있습니까? 다시 말하지만, 훈련 데이터의 간격 내에있는 함수에 근사한 것으로 보입니다.

내 질문 : KNN 회귀자를 사용하면 어떤 이점이 있습니까? 분류를위한 매우 강력한 도구이지만 회귀 시나리오에서 성능이 떨어지는 것 같습니다.


"미래 예측"이라는 말의 의미를 명확히 할 수 있습니까? 시계열이 있고 예측을 원하십니까? 아니면 두 변수 사이의 관계를 맞추고 나중에 알려진 X 값에서 Y 값을 추측하기 위해이를 사용하려고합니까?
gung-Monica Monica 복원

1
예를 들어 위의 이미지에서 X = 15와 같은 Y 값을 예측하려면 KNN 회귀자가 제대로 자르지 않습니까?

1
를 사용하여 집합을 했지만 데이터에 포함 된 값 보다 훨씬 높은 값을 볼 수있을 것으로 예상되는 경우 비모수 로컬 메서드는 적합하지 않을 수 있습니다. 대신 해당 도메인 지식을 사용하는 방법과 '관측'에 대한 지식을 포함하는 파라 메트릭 모델을 정의 할 수 있습니다 행동을 할 것으로 예상된다. x xx[0,5]xx
Meadowlark Bradsher 2014 년

1
회귀에 성공적으로 사용되는 KNN의 예는 Nate Silver의 PECOTA 야구 예측 것입니다. PECOTA에 관한 Wikipedia 기사 또는 다음과 같은 신문 기사에서 장단점을 읽을 수 있습니다 : macleans.ca/authors/colby-cosh/…
Flounderer

6
또한 통계 (또는 데이터 마이닝 / 머신 러닝 등)에 대한 지식이 풍부 해짐에 따라보다 일반적인 요점을 파악하기 위해 귀하의 질문과 같은 매우 일반적인 질문에 대한 답변은 종종 '의존적'이라는 문구로 해석 될 수 있습니다. 무엇이 '의존'인지 아는 것은 왜 지식인가.
Meadowlark Bradsher 2016 년

답변:


17

일부 상황에서는 K-NN과 같은 로컬 방법이 적합합니다.

제가 학교에서했던 한 가지 예는 다양한 시멘트 성분 혼합물의 압축 강도를 예측하는 것과 관련이있었습니다. 이들 성분은 모두 반응 또는 서로에 대해 상대적으로 비 휘발성이었고 KNN은 이에 대한 신뢰할만한 예측을했다. 다시 말해서, 독립 변수 중 어느 것도 개별적으로 또는 상호 상호 작용에 의해 모델에 부여하기 위해 불균형 적으로 큰 분산을 갖지 않았다.

결정적으로 이것을 보여주는 데이터 조사 기술을 모르지만 직관적으로 귀하의 기능에 비례 정도의 차이가있는 경우 어떤 비율을 알지 못하는지 합리적으로 보입니다. KNN 후보. 이 효과를 위해 몇 가지 연구와 결과 기술이 개발되었는지 알고 싶습니다.

일반화 된 도메인 관점에서 생각하면 비슷한 '레시피'가 비슷한 결과를 산출하는 광범위한 응용 프로그램 클래스가 있습니다. 이것은 시멘트 혼합의 결과를 예측하는 상황을 설명하는 것처럼 보였습니다. 이 설명에 따라 동작하는 데이터가 있고 거리 측정이 해당 도메인에 당연한 것이며 마지막으로 충분한 데이터가있는 경우 KNN 또는 다른 로컬 방법으로 유용한 결과를 얻을 수 있다고 생각합니다. .

로컬 방법을 사용할 때 극도로 낮은 편향의 이점도 얻습니다. 때로는 KNN을 사용하여 각 개별 변수를 피팅하여 GAM (Generalized Additive Model) 균형 바이어스 및 분산을 계산합니다.

y^=f1(x1)+f2(x2)++fn(xn)+ϵ

fn(xn)

나는 KNN을 그렇게 빨리 쓰지 않을 것이다. 그 자리가 있습니다.


1
knn에 대한 데이터 스케일링에 대한이 답변은 "비례 적 분산 정도"의 의미를 나타내는 데 도움이 될 수 있습니다. stats.stackexchange.com/questions/287425/…
eric_kernfeld

5

나는 그것을 말하고 싶지는 않지만 실제로 짧은 대답은 "미래에 대한 예측"은 knn이나 현재 존재하는 다른 분류 자 ​​또는 회귀자가 아니라 실제로 불가능하다는 것입니다.

물론 선형 회귀선 또는 SVM의 초평면을 외삽 할 수 있지만 결국 미래가 무엇인지 알지 못합니다. 우리가 아는 모든 선은 매력적인 현실의 작은 부분 일 수 있습니다. 예를 들어 가우시안 프로세스와 같은 베이지안 방법을 살펴보면 "알려진 입력 도메인"을 떠나 자마자 큰 불확실성을 알 수 있습니다.

물론 오늘 발생한 일부터 내일 일어날 일까지 일반화를 시도 할 수 있습니다. 이는 knn 회귀자를 사용하여 쉽게 수행 할 수 있습니다 (예 : 크리스마스 기간 동안 작년 고객 번호가 올해 수치에 대한 힌트를 줄 수 있습니다). 다른 방법으로는 추세 등이 포함될 수 있지만 결국 주식 시장이나 장기 날씨 예측과 관련하여 얼마나 잘 작동하는지 확인할 수 있습니다.


외삽에주의하고 외삽 할 때 KNN의 (상대적으로 보수적 인) 행동을 논의하기 위해 +1.
eric_kernfeld

KNN은 OP가 지적한 동작 때문에 정확하게 추정 할 때 선형 회귀보다 보수적입니다. 이미 관찰 된 Y 값 범위 내에서만 예측을 생성 할 수 있습니다. 이것은 많은 상황에서 이점이 될 수 있습니다.
eric_kernfeld

1

먼저 "KNN 회귀자를 사용하여 미래를 어떻게 예측할까요?"에 대한 예입니다.

sunt+1sunt..sunt6
sunt

weektsunt..sunt6tomorrow(weekt))sunt+1

weekt
week
tomorrow0..tomorrow9
predict(week)tomorrow0..tomorrow9

가중치를 조정하십시오 (예 : 역 거리 가중 -idw 보간-파이썬 )
및 7d의 "가장 가까운 이웃"에 대한 거리 측정법을 참조하십시오.

"KNN 회귀자를 사용하면 어떤 이점이 있습니까?"
다른 사람들의 좋은 의견에 코딩하고 이해하기 쉽게 추가하고 빅 데이터로 확장합니다.
단점 : 데이터 및 튜닝에 민감하며 이해가 부족 합니다.




XY
Yt=b0Xt+b1Xt1+...
Yt+1
Yt+1=a0Yt+a1Yt1+...

따라서 첫 번째 줄은 "훈련 데이터 간격 내에있는 회귀 함수 만 작성할 수 있습니다"는 혼란스러운 단어 "회귀"에 관한 것입니다.)


1

에서 통계 학습에 소개 , 3.5 :

실제 관계가 알려지지 않은 실제 상황에서 KNN이 선형 회귀보다 선호되어야한다는 결론을 도출 할 수 있습니다. 왜냐하면 진정한 관계가 선형이면 최악의 경우 선형 회귀보다 약간 열등하기 때문입니다. 진정한 관계가 비선형 인 경우 결과.

그러나 제약 조건이 있습니다 (교과서가 아니라 내가 결론을 내린 것).

  1. 예측 자당 충분한 수의 관측치
  2. 예측 변수의 수가 너무 크면 안됩니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.