~ 안에 Technically Speaking 최신판 , 모델 성능을 향상시키기 위해 텍스트 마이닝에서 파생된 변수를 예측 모델에 통합하는 방법을 살펴보았습니다. (프레젠테이션을 아직 시청하지 않았다면 계속 읽기 전에 시청하시기 바랍니다.) 사례 연구는 예측 모델링보다 텍스트 마이닝에 더 중점을 두었으므로 이제 논의되지 않은 두 가지 주요 모델링 단계를 살펴보겠습니다. 모델을 검증하고 새로운 관찰 결과를 채점합니다.
모델 검증
예측 모델링에서는 모델을 사용하여 예측을 생성하기 전에 모델의 정확성을 테스트하는 것이 중요합니다. 우리는 모델이 "과적합"되지 않도록 하여 훈련된 데이터를 정확하게 캡처하지만 이전에 본 적이 없는 데이터에 대해서는 부정확한 예측을 생성하기를 원합니다. 과적합(overfitting)의 개념을 포착한 훌륭한 밈이 한동안 인터넷에 돌고 있었습니다.

과적합을 확인하는 한 가지 방법은 데이터의 하위 집합을 따로 보관하거나 "보류"하고 나머지 데이터로 모델을 훈련한 다음 홀드아웃 세트에서 모델을 테스트하는 것입니다. 훈련 데이터와 홀드아웃 데이터 모두에 대해 모델의 예측 성능을 측정하고, 훈련에서 테스트 세트까지의 정확도가 크게 떨어지는 경우 모델이 과적합되었다는 증거가 됩니다.
우리는 사례 연구에서 Bootstrap Forest 모델을 구축할 때 실제로 이 홀드아웃 검증 절차를 사용했지만 이를 얼버무렸습니다. 검증 절차의 모델 적합도 측정 표는 다음과 같습니다. JMP 학습 및 테스트 세트 성능을 비교할 수 있는 다양한 측정 방법을 제공합니다. (궁금하신 경우 이에 대해 읽어 보십시오.) 여기 ); 프레젠테이션에서 테스트 그룹에 대한 엔트로피 RSquare 및 오분류율을 확인했습니다. 어떤 측정값도 훈련에서 테스트까지 성능이 급격히 떨어지는 것을 보여주지 않으므로(몇 가지 측정값에서는 약간의 저하가 있지만 이는 드문 일이 아닙니다) 모델이 과대적합이 아니라는 결론을 내립니다.

뭔가 눈치챌 수도 있습니다. 이 표에는 "검증" 열도 있습니다. 그게 뭐야? 실제로 여기서는 데이터를 훈련, 검증, 테스트의 세 가지 하위 집합으로 나눕니다. Bootstrap Forest 모델에서 훈련 세트는 각 의사 결정 트리에서 최상의 분할을 찾는 데 사용되는 반면, 검증 세트는 각 트리에서 새 분할 만들기를 중지할 시기와 새 트리 만들기를 중지할 시기를 결정하는 데 사용됩니다. 즉, 각각의 새로운 분할 또는 트리가 검증 세트의 성능을 향상시키는 한 모델 피팅 알고리즘은 계속 진행됩니다. 검증 세트의 성능이 떨어지면 알고리즘이 중지됩니다. (엔트로피 RSquare 통계를 기억하시나요? 이것이 이 과정에서 사용되는 검증 통계입니다.) 알고리즘이 중지되면 결과 모델의 정확도는 테스트 세트를 사용하여 평가됩니다. ~ 안에 JMP 프로 에서 본 것처럼 모델 사양 창에서 유효성 검사 열을 지정하면 이 모든 작업이 자동으로 수행됩니다. 프레젠테이션 .
모든 모델에 이와 같은 세 부분으로 구성된 검증이 필요한 것은 아닙니다. 피팅을 중지할 시기를 결정하려면 반복 피팅 절차와 별도의 데이터 하위 집합(검증 세트)을 사용하는 모델에만 필요합니다. 반복적 피팅 절차를 포함하지 않는 모델(예: 여기서 사용할 수 있는 로지스틱 회귀)의 경우 훈련 및 테스트 세트만 필요합니다.
JMP Pro에는 모델 검증을 위해 데이터를 쉽게 나눌 수 있는 방법이 있습니다. 우리는 데이터 테이블의 검증 열에 기록된 하위 집합을 사용하여 데이터에 대해 무작위 또는 의사 무작위 샘플링(교체 없음)을 수행하는 Make Validation Column 유틸리티를 사용하여 각 하위 집합을 생성했습니다.

여기서는 계층화된 무작위 샘플링을 사용하여 하위 집합을 만들었습니다. 이에 대해서는 두 번째 스크린샷 상단의 단락에서 설명합니다. 일부 범주형 변수에는 심각한 불균형이 있었으며, 예를 들어 테스트 세트에서 가중 위반이 거의 또는 전혀 발생하지 않는 상황을 피하고 싶었습니다. 모델의 정확도에 대한 유효한 측정값을 얻으려면 모델이 가중 위반에 대해 어떻게 작동하는지 확인해야 하기 때문에 이는 문제가 될 수 있습니다.
아래의 대화형 분포 보고서에서 세 가지 데이터 하위 집합에 걸쳐 각 계층화 열이 일치하는 표현을 가지고 있음을 확인할 수 있습니다. 거의 40,000개 행의 데이터를 사용하면 계층화를 사용하지 않고도 문제가 없을 가능성이 있지만 안전하게 사용하는 것도 나쁘지 않았습니다. 계층화는 Make Validation Column 유틸리티가 구현할 수 있는 여러 가지 의사 난수 샘플링 절차 중 하나입니다(참조: 여기 이상).

Make Validation Column 유틸리티는 "Validation"이라는 열을 데이터 테이블(Technically Speaking 프레젠테이션 페이지에서 다운로드 가능)에 다시 추가한 다음 이를 Bootstrap Forest 플랫폼에 공급하여 유효성 검사 프로세스를 트리거했습니다. 과적합의 증거를 찾지 못했으므로 모델의 전반적인 정확도에 만족한다고 가정하고 이를 사용하여 새로운 관찰에 대한 예측("점수")을 생성할 준비가 되었습니다.
새로운 관찰 점수 매기기
방금 발행된 건축법 위반 그룹이 있고 각 항목에 재정적 벌금 확률을 할당하고 이를 재무 예측에서 부과된 각 벌금 금액에 가중치를 두는 데 사용할 것이라고 가정해 보겠습니다. 예를 들어, 벌금 확률이 0.7인 위반에 대해 부과된 벌금 $1,000의 예상 지급액은 $700입니다. 물론 피고인은 궁극적으로 $1,000 또는 $0를 지불하게 되지만, 많은 위반 사항에 대해 평균적으로 우리의 예상 합계는 최종 수익과 비슷해야 합니다(희망합니다). Bootstrap Forest 모델에서 페널티 확률을 얻었지만 해당 모델은 주제 분석의 점수를 입력으로 사용했습니다. 따라서 두 모델을 통해 새로운 위반 사항을 실행해야 합니다. 이는 한 모델의 출력을 다른 모델의 입력으로 사용하는 일반적인 관행입니다.
JMP 모델을 원래 데이터 테이블(모델링 플랫폼의 빨간색 삼각형 옵션 아래)에 다시 열 수식으로 출력할 수 있으며 테이블에 추가한 모든 새 데이터에서 실행됩니다. 새로운 관찰의 점수를 매기기 위해 테이블에 새로운 위반 사항을 추가하기만 하면 됩니다. 그러면 주제 점수와 페널티 확률이 열 공식에 의해 자동으로 계산됩니다. 그런 다음 벌금 확률에 부과된 벌금 금액을 곱하는 새 열 수식을 만들고 예상 지불금을 얻습니다. 아래에는 1,000건의 새로운 위반에 대한 예상이 나와 있습니다. 우리는 이를 통해 약 184만 달러의 수익을 얻을 것으로 예측합니다. 하지만 그 총액의 약 3분의 1은 해당 긍정적인 꼬리에서 예상되는 가장 큰 100개의 지불금에 의해서만 설명됩니다. 우리 예측의 정확성은 이러한 위반이 어떻게 되는지에 따라 크게 좌우됩니다.
(여담: 포인트 앤 클릭 방식으로 관찰 점수를 매기는 방법을 설명했지만 JSL(JMP 스크립팅 언어)의 스크립팅을 통해 점수 매기기를 쉽게 자동화할 수 있습니다. 이 모델은 JMP 외부에서 Python이나 JavaScript와 같은 언어로 배포할 수도 있으며, JMP Pro에서는 다른 언어로 채점 코드를 작성할 수도 있습니다.)
그리고 이것은 아마도 가장 중요한 질문을 강조할 것입니다. 우리의 예측은 실제로 얼마나 좋은가요? 우리는 모델 성능을 포착하기 위해 Entropy RSquare와 같은 통계를 적합하게 만들었습니다. 정말 중요한 것은 재무 예측의 정확성입니다. 실제로 우리는 테스트 세트에 대한 수익 예측을 생성하고 이를 관찰한 실제 수익과 비교하여 모델 구축 단계의 일부로 이를 평가했습니다. 불행하게도 이용 가능한 데이터에는 처음에 부과된 벌금 금액이 포함되지 않았고 판결 후 최종 금액만 포함되어 있었기 때문에 여기서는 이 작업을 수행하지 않았습니다. (위의 채점 예에서는 설명 목적으로 초기에 부과된 일부 벌금 금액을 상상했습니다.)
이별의 생각
새로운 위반에 금전적 처벌 가능성을 할당하는 모델이라는 목표에 도달했지만 이와 같은 프로젝트는 실제로 완료되지 않았습니다. 시간이 지남에 따라 위반의 새로운 유형이나 경향이 나타날 수 있고, 새로운 정책이 위반 특성과 벌금 납부 간의 관계를 변경할 수 있으며, 벌금 납부 가능성은 집행 능력이나 관대함과 같은 측정되지 않은 요인으로 인해 시간이 지남에 따라 단순히 변경될 수 있습니다. 아래 그래프의 시간 경과에 따른 추세는 후자를 암시할 수 있습니다. (선 너비는 연간 총 위반 건수를 나타냅니다. 이는 올해 급격한 증가를 신뢰할 수 있을 만큼 2020년 데이터가 아직 충분하지 않다는 것을 분명히 합니다.)

여러 가지 이유로 인해 시간이 지남에 따라 모델의 정확도가 떨어질 수 있습니다. 우리는 예측이 정확하게 유지되도록 최신 데이터를 통합하고(아마도 오래된 데이터를 폐기하여) 주제 분석 및 부트스트랩 포레스트 모델을 주기적으로 다시 조정해야 합니다.
감사해요, @스왈로66 .도움이 되셨다니 기쁘네요.