스플라인을 예측에 사용할 수 있습니까?


20

나는 데이터가 독점적이므로 데이터의 특성에 대해 구체적으로 말할 수는 없지만 다음과 같은 데이터가 있다고 가정합니다. 매달 어떤 사람들은 서비스에 가입합니다. 그런 다음 각 달에 그 사람들은 서비스를 업그레이드하거나 서비스를 중단하거나 서비스를 거부 할 수 있습니다 (예 : 지불 실패). 데이터에서 가장 빠른 코호트의 경우 약 2 년의 데이터 (24 개월)가 있습니다.

매달 가입하는 사람의 수가 많고 (10 만 명 범위) 세 가지 중 하나를 수행하는 사람은 수천 명입니다. 그러나 개별 수준 데이터 (수백만 행)를 사용하지 않고 월 및 코호트 (매월 각 코호트의 비율에 따라 각 코호트의 비율)로 집계 된 데이터를 사용하고 있습니다.

다변량 적응 회귀 스플라인 (MARS)을 사용하여 기존 데이터를 모델링하고 흥미로운 결과를 찾았습니다. 그러나 나는 이것들을 사용하여 미래를 추정하거나 예측하는 것에 대해 걱정하고 있습니다. 미래에 대한 예측은 반드시 샘플 공간 바깥에 있어야하고 (시간면에서) 스플라인은 외삽에 대해 불안정해질 수 있기 때문에 우려가됩니다.

이것이 합법적 인 방법입니까? 어떤 문제가 있으며 해결 될 수 있습니까?


2
물론 이들은 예측에 사용될 수 있지만 모델 하이퍼 파라미터를 올바르게 조정하는 방법에주의를 기울여야합니다. 스플라인 기능 (상수, 선형, 입방 형)의 선택도 중요한 관심사입니다. IIRC, MARS의 선형 스플라인 기능이 일반적으로 사용되며 외삽 / 과적 합에 대한 우려로 고차 스플라인을 피할 수 있습니다.
Sycorax는 Reinstate Monica

1
특히 염려되는 부분이 있습니까? 사용중인 방법을 의심하게 만들 수 있습니까? 당신의 정확도는 예상치 못하게 낮게 보입니까? 다른 방법을 사용해 보셨습니까? 그들은 어떻게 비교합니까?
one_observation

1
@Sophologist 주로 매듭과 선은 모두 과거의 값을 기반으로하기 때문에 새로운 값을 얻기 위해 크게 벗어날 것입니다. 예를 들어, "2014 년 이후 매년 XXX 증가"라는 선형 스플라인은 2015 년 데이터에만 기반하지만 2016에 적용되는 경우에도 같은 방향으로 계속 될 것입니다.
Peter Flom-Monica Monica 복원

3
@ PetetFlom : Sophologist에 대한 귀하의 답변을 읽을 때까지 실제로 귀하의 질문 (스플라인은 예측에 매우 일반적 임)에 대해 매우 혼란 스러웠습니다. 귀하의 우려가 무엇인지 정확하게 강조하기 위해 귀하의 질문을 편집했습니다. 검토하시기 바랍니다.
Cliff AB

2
@ PetetFlom : 편집 내용이 정확하다고 가정하면 스플라인으로 시간 효과를 모델링하고 있습니까? 그렇다면, 나는 매우 걱정할 것입니다. 그러나 지연 효과와 스플라인과 다른 공변량으로 시간 효과를 모델링하는 경우 아무런 문제가 없습니까?
Cliff AB

답변:


15

질문에 대한 나의 해석에서, 당신이 묻는 기본 질문은 시간을 스플라인으로 모델링 할 수 있는지 여부입니다.

내가 대답하려고하는 첫 번째 질문은 스플라인을 사용하여 데이터를 추정 할 수 있는지 여부입니다. 짧은 대답은 의존하지만, 대부분의 경우 스플라인은 외삽에 적합하지 않습니다. 스플라인은 본질적으로 보간법으로, 데이터가 놓인 공간을 분할하며 각 분할 영역에서 간단한 회귀에 맞습니다. MARS의 방법을 살펴 보겠습니다. MARS 방법은 여기서 는 MARS 모델의 i 번째 항에 대한 상수입니다. , 는 i 번째 항의 기본 함수이며αBX[I]가있어요X(0,X가[I]+CI)

f^(x)=i=1nαiBi(x[i])
αiBix[i]i 번째 용어의 특징 벡터에서 선택된 특징을 나타냅니다. 기본 기능은 상수이거나 힌지 기능 (정류기) 일 수 있습니다. 힌지 함수는 단순히 . 힌지 함수가 모델을 강제하는 것은 조각 선형 함수 를 만드는 것입니다 (정류 된 선형 활성화 함수가있는 신경망은 MARS 모델의 수퍼 셋 모델로 표시).
max(0,x[i]+ci)

따라서 스플라인이 일반적으로 외삽에 적합하지 않은 이유에 대한 질문으로 돌아가려면 외삽이 필요한 점이 일단 내삽의 경계를 지나기 시작하면 모델의 아주 작은 부분 만 활성화됩니다. 또는 그것의 매우 많은 부분이 "활성화"될 것이고, 따라서 모델의 힘이 사라집니다 (변이가 없기 때문에). 이것에 대해 조금 더 직관을 갖기 위해 MARS 모델을 에있는 지형 공간에 맞추려고 노력하는 것처럼 가정 해 봅시다 . 하나의 숫자가 주어지면 다른 숫자를 예측하려고합니다. MARS 모델에는 다음과 같은 함수가 있습니다. 외삽이 지나서 발생하는 경우F ( X ) = 5 + m X ( 0 , X - 5 ) + 2 m X ( 0 , X - 10 ) (10) F ( X는 ) = 10 + 2 ( X - 10 ) = 2 , X가 - 10 5R

f^(x)=5+max(0,x5)+2max(0,x10)

10함수는 이제 이됩니다. 이전에 가지고 있던 MARS 모델은 이제 단일 선형 함수로 축소되어 MARS 모델의 힘이 사라집니다 (이것은 대부분의 용어 "활성화"). 숫자 이전의 외삽에 대해서도 마찬가지 입니다. MARS 모델의 출력은 단순히 상수입니다. 이것이 대부분의 시간, 스플라인이 외삽에 적합하지 않은 이유입니다. 이것은 또한 당신이 당신의 게시물의 의견에서 언급 한 문제, 외삽 된 예측이 "새로운 가치를 위해 아주 벗어난"것에 대해 설명하고 그것들이 다른 시계열에 대해 "같은 방향으로 계속되는"경향을 설명합니다.
f^(x)=10+2(x10)=2x10
5

이제 시계열로 돌아갑니다. 시계열은 기계 학습에서 매우 특별한 경우입니다. 그것들은 그것이 부분적으로 불변이거나 많은 다른 유형의 하부 구조 중 하나이든, 약간의 구조를 갖는 경향이 있으며,이 구조는 이용 될 수 있습니다. 그러나이 구조를 악용 할 수있는 특수 알고리즘이 필요하지만 불행히도 스플라인은이를 수행하지 않습니다.

시도해 볼 것을 권장하는 몇 가지 사항이 있습니다. 첫 번째는 재귀 네트워크입니다. 시계열이 길지 않고 장기적인 종속성이없는 경우 간단한 바닐라 반복 네트워크를 사용하여 벗어날 수 있습니다. 무슨 일이 일어나고 있는지 이해하고 싶다면 바이어스를 활성화 함수로 사용하여 정류 된 선형 단위를 사용할 수 있으며 이는 시계열의 하위 집합에 대한 MARS 모델링과 반복적 인 신경망의 "메모리"를 수행하는 것과 같습니다. 보유합니다. 네트워크가 메모리를 관리하는 방법을 해석하기는 어렵지만 생성 된 부분 선형 함수와 관련하여 부분 공간을 처리하는 방법에 대한 아이디어를 얻어야합니다. 또한 시계열에 속하지 않는 정적 기능이있는 경우 인터넷에서 여전히 사용하기가 상대적으로 쉽습니다.

보유한 시계열이 매우 길고 장기 종속성이있는 경우 GRU 또는 LSTM과 같은 게이트 된 반복 네트워크 중 하나를 사용하는 것이 좋습니다.

보다 고전적인 시계열 분류에서는 숨겨진 마르코프 모델을 사용할 수 있습니다. 나는 그들에 익숙하지 않기 때문에 더 이상 들어 가지 않을 것입니다.

결론적으로 두 가지 이유로 스플라인을 사용하지 않는 것이 좋습니다. 하나는 복잡한 외삽 문제를 처리 할 수 ​​없으며, 이는 설명하는 문제 인 것 같습니다. 둘째, 스플라인은 시계열 분류에서 매우 강력한 시계열의 하위 구조를 이용하지 않습니다.

이것이 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.