이탈 예측을위한 생존 모델-시변 예측 변수?


17

이탈을 예측하기위한 예측 모델을 구축하고 개인 기간 교육 데이터 세트 (각 고객에 대해 한 행씩, 위험에 처한 개별 기간 및 개별 기간, 이벤트 표시기-1 해당 기간 동안 이탈이 발생한 경우 0).

  • Singer와 Willet 의 기술을 사용하여 일반적인 로지스틱 회귀를 사용하여 모델을 피팅하고 있습니다 .
  • 고객의 이탈은 한 달 동안 어느 곳에서나 발생할 수 있지만 고객이 알고있는 달의 말일에만 해당됩니다 (즉, 해당 달 동안 언젠가는 떠남). 24 개월은 훈련에 사용되고 있습니다.
  • 사용되는 시간 변수는 2008 년 12 월 31 일자로 활동중인 모든 고객의 샘플 원점 시간입니다. 2009 년 1 월 기준으로 t = 0을받습니다 (클래식 방법은 아니지만 빌드 할 때의 방법을 믿습니다) 예측 모델과 기존 통계 모델 비교). 사용 된 공변량은 해당 시점의 고객 보유 기간입니다.
  • 일련의 공변량이 구성되어 있습니다. 일부는 데이터 세트의 행 (주어진 고객에 대해)에서 변경되지 않으며 일부는 변경되지 않습니다.

  • 이 시간 변형 공변량은 문제이며, 이탈 예측에 대한 생존 모델 (현재 스냅 샷 데이터를 기반으로 다음 x 개월 동안 이탈을 예측하는 일반 분류기와 비교)에 의문을 제기하는 원인입니다. 변하지 않는 시간은 한 달 전의 활동을 설명하며 중요한 트리거가 될 것으로 예상됩니다.

이 예측 모델의 구현은 적어도 내 현재 생각에 근거하여 매월 말에 고객 기반을 채점하여 다음 달 동안 언젠가 이탈 확률을 계산하는 것입니다. 그런 다음 다음 1, 2 또는 3 개월 동안 다시. 다음 1,2,3,4,5,6 개월 동안. 3 개월과 6 개월 이탈 확률에 대해서는 추정 생존 곡선을 사용합니다.

문제 :

점수에 대해 생각할 때 시변 예측자를 어떻게 통합 할 수 있습니까? 시간 불변 예측 변수로만 점수를 매기거나 시간 불변 인 것을 포함시킬 수있는 것처럼 보이기 때문에 시간을 불변으로 만들어야합니다. "지금"값으로 설정하십시오.

이 생존 모델 사용에 대한 경험이나 생각이 있습니까?

@JVM 의견을 기반으로 업데이트 :

문제는 모델 추정, 계수 해석, 교육 데이터 등을 사용하여 흥미로운 공변량 값의 위험 / 생존 플롯을 그리는 것이 아닙니다. 문제는 모델을 사용하여 주어진 고객의 위험을 예측하는 것입니다. 이번 달 말에이 모델을 사용하는 여전히 활발한 고객 인 모든 사람에게 점수를주고 싶습니다. 위험 평가는 x 기간 (다음 달 말에 계정을 폐쇄 할 위험, 지금부터 두 달이 끝날 때 계정을 폐쇄 할 위험 등)으로 추정됩니다. 시변 공변량이있는 경우 해당 값을 미래 기간에 알 수 없으므로 모형을 사용하는 방법은 무엇입니까?

최종 업데이트 :

개인 기간 데이터 세트에는 각 개인 및 위험에 처한 각 기간에 대한 항목이 있습니다. J 기간이 있다고 가정하십시오 (24 개월 동안 J = ... 24 일 수 있음). 이산 시간 생존 모델을 구성한다고 가정 해 봅시다. 간단 성을 위해 시간 T를 선형으로 취급하고 X가 Z 인 두 개의 공변량 X와 Z를 갖습니다. -불변, 그것은 i 번째 사람에 대해 모든 기간에서 일정하고 Z는 시간에 따라 변하므로, i 번째 사람에 대한 각 레코드는 다른 값을 취할 수 있음을 의미합니다. 예를 들어 X는 고객의 성별이고 Z는 이전 달에 회사에 얼마나 가치가 있었을 수 있습니다. j 번째 기간의 i 번째 사람에 대한 위험의 로짓 모델은 다음과 같습니다.

영형나는(h(나는제이))=α0+α1제이+β1엑스나는+β2나는제이

따라서 문제는 시변 공변량을 사용하고 새로운 데이터를 사용하여 (아직 보이지 않는 미래에) 예측할 때 를 알 수 입니다.제이

내가 생각할 수있는 유일한 해결책은 다음과 같습니다.

  • Z와 같이 시변 공변량을 사용하지 마십시오. 예를 들어 Z가 감소하면 고객이 이탈하고 떠날 준비가되었음을 알려주기 때문에 이탈 이벤트를 예측하기 위해 모델을 크게 약화시킬 수 있습니다.
  • 시변 공변량을 사용하되 지연 시간 (Z와 같음)을 사용하면 변수를 지연시킨 많은 기간을 예측할 수 있습니다.
  • 시변 공변량을 사용하지만 예측에서 상수로 유지하십시오 (따라서 모형은 다양한 데이터에 적합하지만 예측을 위해 일정하게 유지하고 나중에 실제로 관찰되는 경우 이러한 값의 변화가 변동의 위험에 어떤 영향을 미치는지 시뮬레이션합니다.
  • 시변 공변량을 사용하지만 알려진 데이터의 예측을 기반으로 미래 값을 대치합니다. 예 : 각 고객에 대한 를 예측하십시오 .제이

몇 가지 질문이 있습니다. 첫째, 이산 시간 모델을 사용하는 데 관심이 있습니까? 파라 메트릭 생존 모델에서 수행하려는 작업이 더 간단 할 수 있습니다. 둘째, 이탈의 의미에 대한 예를 제공 할 수 있습니까? 데이터가 어떤 모습일까요?
Jason Morgan

@JWM. 이탈은 고객이 계정을 취소했음을 의미합니다. 고객이 취소 한 달만 알고 있으므로 이산 시간이 적절하다고 생각합니다. 모형이 이산 또는 연속 시간 (Cox 또는 AFT) 인 경우 시변 예측 변수와 동일한 문제가 존재한다고 생각합니까?
B_Miner

귀하의 우려를 아직 파악하지 못한 것에 대해 사과드립니다. 모델을 충분히 추정 할 수 있어야합니다. TVC 및 종속 변수에 측정 오류가있을 수 있으므로 모델에 TVC 지연을 사용해야합니다. 그렇지 않으면 이벤트가 발생한 후 측정 된 공변량 값을 해당 이벤트의 예측 변수로 사용할 위험이 있습니다. 시간 일관성 문제를 볼 수 있습니다. 나는 당신의 목표가 예측이라는 것을 알고 있지만 합리적인 신뢰 구간을 원한다면 적어도 표준 오차를 추정하고 싶을 것입니다.
Jason Morgan

@JVM은 분명히 나 자신을 잘 설명하지 못했습니다. 질문에 답변을 추가했습니다.
B_Miner

t=0에스>0(나는>에스+엑스|에프에스)

답변:


1

설명해 주셔서 감사합니다. B_Miner. 나는 나 자신을 많이 예측하지 않으므로 소금을 꼬집어 다음에 오는 것을 취하십시오. 다음은 데이터를 적어도 첫 번째로 잘라내는 것입니다.

  • 먼저 TVC를 설명하는 모델을 공식화하고 추정하십시오. 모든 교차 검증, 오류 확인 등을 수행하여 데이터에 대한 적절한 모델이 있는지 확인하십시오.
  • 둘째, (맛에 상관없이) 생존 모델을 공식화하고 추정하십시오. 이 모델이 합리적인지 확인하기 위해 모든 교차 검증, 오류 검사를 수행하십시오.
  • 셋째, TVC 모델의 예측을 이탈 위험 및 기타 원하는 것을 예측하는 기반으로 사용하는 방법을 결정하십시오. 다시 한번, 샘플을 사용하여 예측이 합리적인지 확인하십시오.

합리적인 모델이라고 생각되면 첫 번째 TVC 모델의 오류를 두 번째 모델에 통합하는 방법으로 데이터를 부트 스트랩하는 것이 좋습니다. 기본적으로 데이터에서 부트 스트랩 샘플을 가져 와서 일련의 예측을 생성 할 때마다 1-3 N 단계를 적용하십시오. 합리적인 수의 예측이 있으면 작업에 적합하다고 생각하는 방식으로 요약하십시오. 예를 들어, 각 개별 또는 공변량 관심 프로파일에 대한 평균 이탈 위험과 95 % 신뢰 구간을 제공합니다.


@JVM. 귀하의 제안이 위의 마지막 솔루션 옵션 (최종 업데이트)임을 올바르게 읽었습니까? 실제 생존 모델에 사용할 각 Z (TVC)를 예측하는 모델을 개발하고 있습니까?
B_Miner

2

내가 알 수 있듯이 두 가지 생존 분석 패러다임이 있습니다. Cox 회귀 프레임 워크는 시변 공변량을 허용하며 평균 취소 수준에 상대적인 특정 공변량 세트에 따라 취소 위험에 대한 추정치를 생성합니다. 포아송 오류가있는 glm 프레임 워크는 비례 위험 모델이며 특히 불연속 간격에 적합합니다. JVM은 이번 달에 불완전한 데이터를 사용하는 데 잠재적 인 오류가 있음을 지적했지만 공변량 또는 공변량 세트의 최신 값에 조건부로 추정치를 원한다는 의미입니다. 데이터 상황에 대한 더 나은 설명은 더 나은 예제를 산출 할 수 있습니다 ....

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