| 스피커 |
성적 증명서 |
| 미아 스티븐스 |
모델 스크리닝. |
| |
예측 모델링 작업을 수행하면 모델 스크리닝이 예측 모델링 워크플로를 간소화하는 데 도움이 된다는 것을 알게 될 것입니다. |
| |
이번 강연에서는 예측 모델링에 대한 개요를 제공하고, JMP에서 사용할 수 있는 다양한 유형의 예측 모델에 대해 설명하겠습니다. |
| |
더 광범위한 분석 워크플로 내의 예측 모델링 워크플로에 대해 살펴보고, 모델 스크리닝이 이 워크플로를 간소화하는 데 어떻게 도움이 될 수 있는지 알아보겠습니다. |
| |
검증 데이터를 사용하여 경쟁 모델을 비교하는 데 사용되는 몇 가지 지표에 대해 설명하고 JMP Pro에서 몇 가지 예를 살펴보겠습니다. |
| |
먼저 예측 모델링과 예측 모델링이 무엇인지에 대해 간략히 알아보겠습니다. |
| |
여러분은 아마 회귀 분석을 접해 보셨을 겁니다. 회귀는 설명적 모델링의 한 예입니다. 회귀 분석에서는 일반적으로 모델을 구축하는 데 관심이 있습니다. |
| |
하나 이상의 X에 대한 반응 또는 Y의 함수로, 모델링 목표가 다를 수 있습니다. 중요한 변수를 파악하는 데 관심이 있을 수 있습니다. 그렇다면 핵심 X, 즉 핵심 입력 변수는 무엇일까요? |
| |
예를 들어, 문제를 해결하기 위해 집중할 수 있는 문제 해결 환경에서는 어떨까요? |
| |
우리는 입력 변수에 따라 반응이 평균적으로 어떻게 변하는지 이해하는 데 관심이 있을 수 있습니다. |
| |
X의 1단위 변화는 Y의 5단위 변화와 연관됩니다. 따라서 이것은 고전적인 설명적 모델링이고, 학교에서 통계학을 수강했다면 회귀에 대해 이렇게 배웠을 것입니다. |
| |
이제 대조적으로, 예측 모델링의 목표는 약간 다릅니다. 예측 모델링에서 우리의 목표는 미래 결과를 정확하게 예측하거나 분류하는 것입니다. |
| |
따라서 우리의 반응이 연속적이라면, 우리는 가능한 한 정확하고 정밀하게 다음 관찰, 다음 결과를 예측할 수 있기를 원합니다. |
| |
그리고 만약 우리의 반응이 범주적이라면, 우리는 분류에 관심이 있습니다. 그리고 다시 한번, 우리는 현재 데이터를 사용하여 미래에 개인 수준에서 무슨 일이 일어날지 예측하는 데 관심이 있습니다. |
| |
그리고 우리는 여러 모델을 적합하고 비교할 수도 있고, 예측 모델링에서는 좀 더 진보된 모델을 사용할 수도 있습니다. 신경망과 같은 머신 러닝 기법을 사용할 수도 있습니다. |
| |
이러한 모델 중 일부는 해석하기 쉽지 않을 수 있으며, 많은 모델에는 설정할 수 있는 다양한 튜닝 매개변수가 있습니다. 결과적으로 예측 모델링에서는 과적합 문제가 발생할 수 있습니다. |
| |
과적합이란 필요 이상으로 복잡한 모델을 적용한다는 것을 의미합니다. |
| |
따라서 예측 모델링에서는 일반적으로 검증을 사용하며, 사용할 수 있는 검증에는 여러 가지 형태가 있습니다. |
| |
우리는 모델 비교와 선택을 위해 검증을 사용하는데, 이는 근본적으로 과대적합뿐만 아니라 과소적합도 방지합니다. |
| |
과소적합이란 필요 이상으로 복잡한 모델을 학습시키는 것을 말합니다. 데이터의 구조를 제대로 포착하지 못하는 것이죠. |
| |
이제 슬라이드 마지막의 부록에서 검증이 왜 중요한지 설명하는 슬라이드를 몇 장 가져왔지만, 이 발표의 초점은 예측 모델을 적용할 때 검증을 사용하는 것입니다. |
| |
JMP Pro에 적용할 수 있는 다양한 유형의 모델이 있으며, 이는 결코 전체 목록이 아닙니다. |
| |
여러 유형의 회귀 모형을 적합할 수 있습니다. 연속형 반응 변수가 있는 경우 선형 회귀 모형을 적합할 수 있습니다. |
| |
우리의 반응이 범주형이면 로지스틱 회귀 모델을 사용할 수 있지만, 일반화 선형 모델을 적합시키고 회귀 방법에 페널티를 줄 수도 있으며, 이 모든 것은 적합 모델 플랫폼에서 제공됩니다. |
| |
예측 모델링 플랫폼에는 신경망, 부스팅이 적용된 신경망, 다양한 수의 레이어와 노드 등 많은 옵션이 있습니다. |
| |
분류 및 회귀 트리, 더욱 진보된 트리 기반 방법, 그리고 여러 다른 기술. |
| |
또한 다변수 방법 플랫폼에는 몇 가지 예측 모델링 옵션도 있으므로 분석을 구별할 수 있습니다. |
| |
부분 최소 제곱은 예측 모델링에 사용할 수 있는 두 가지 다른 유형의 모델입니다. 참고로, 부분 최소 제곱은 적합 모델에서도 사용할 수 있습니다. |
| |
그렇다면 왜 우리는 이렇게 많은 모델을 가지고 있을까요? |
| |
예측 모델링에서는 종종 하나의 모델이 존재하지 않는다는 것을 알게 됩니다. |
| |
또는 모델링 유형이 항상 가장 효과적입니다. 특정 상황에서는 신경망이 가장 적합할 수 있으며, 신경망은 일반적으로 꽤... 꽤 좋은 성능을 보입니다. |
| |
하지만 다른 경우에는 더 간단한 모델이 실제로 가장 좋은 성능을 보일 수도 있습니다. 즉, 데이터에 가장 잘 맞고 가장 정확하게 예측하는 모델 유형은 주로 응답에 따라 달라지지만, 데이터의 구조에 따라서도 달라집니다. |
| |
따라서 여러 유형의 모델을 적용하고 이들 모델을 비교하여 가장 정확하게 맞거나 가장 정확하게 예측하는 모델을 찾을 수 있습니다. |
| |
따라서 해결하려는 어떤 종류의 문제로 시작하여 데이터를 수집하고, 데이터를 준비하고, 데이터를 탐색하는 보다 광범위한 분석 워크플로 내에서 |
| |
예측 모델링은 모델 분석 및 구축 단계에서 중단되었습니다. 일반적인 예측 모델링 워크플로는 다음과 같습니다. 검증을 통해 모델을 적합시키는 단계입니다. |
| |
그런 다음 해당 수식을 데이터 테이블에 저장하거나 수식 저장소에 게시합니다. |
| |
그리고 또 다른 모델을 맞추고 이를 반복하면 여러 다른 모델을 맞출 수 있습니다. |
| |
그리고 이 모델들을 비교합니다. JMP Pro의 모델 비교 플랫폼을 사용하면 검증 데이터에 대한 모델 성능을 비교하고, 가장 적합한 모델이나 최적의 조합 모델을 선택한 후 모델을 배포할 수 있습니다. |
| |
모델 스크리닝의 다른 점은 모든 모델 피팅과 비교, 이러한 선택이 하나의 플랫폼, 즉 모델 스크리닝 플랫폼 내에서 이루어진다는 것입니다. |
| |
그래서 여러분께서 잘 알고 계실 만한 예를 하나 들어보겠습니다. 커뮤니티에 게시된 이 데이터를 활용한 모델 스크리닝에 대한 블로그가 있는데, 여기에 당뇨병 데이터가 있습니다. |
| |
따라서 연구자들은 기준선으로부터 1년 후의 질병 진행 속도를 예측하고자 합니다. |
| |
따라서 몇 가지 기준 측정이 있고 두 가지 유형의 응답이 있습니다. |
| |
반응 Y는 양적 측정치이자 연속적 측정치입니다. 즉, 질병 진행률을 나타내고, 두 번째 반응인 Y 이진값은 높음 또는 낮음을 나타냅니다. |
| |
따라서 Y 바이너리는 매우 높은 진행률을 나타낼 수도 있고, 낮은 진행률을 나타낼 수도 있습니다. |
| |
그리고 여기서 예측 모델링의 목표는 질병 진행률이 가장 높을 가능성이 있는 환자를 예측하여 시정 조치를 취할 수 있도록 하는 것입니다. |
| |
이를 방지하기 위해서입니다. JMP Pro에서 두 가지 반응 모두에 대해 모델을 적합하는 방법을 살펴보고, 모델 스크리닝을 사용하여 동일한 모델을 적합하는 방법을 알아보겠습니다. |
| |
JMP에 대해 이야기하기 전에, 예측 모델을 비교하는 방법에 대해 간략히 이야기하고 싶습니다. |
| |
우리는 검증 세트나 테스트 세트에서 예측 모델을 비교합니다. 즉, 기본적으로 우리가 하는 일은 훈련 데이터라고 불리는 데이터의 하위 집합에 모델을 학습시키는 것입니다. |
| |
그리고 우리는 그 모델을 검증된 데이터(일반적으로 이를 검증 데이터라고 함)에 맞춰서 모델의 성능이 얼마나 좋은지 확인합니다. |
| |
그리고 연속적인 반응이 있는 경우 오차 측정을 사용할 수 있습니다. 즉, 루트 평균 제곱 오차(RMSE) 또는 RASE(경로 평균 제곱 오차)를 사용할 수 있습니다. 이는 예측 오차를 측정하는 방법입니다. |
| |
AAE, MAD, MAE는 평균 오차를 측정하는 방법이고, 사용할 수 있는 R 제곱 측정값도 다양합니다. |
| |
범주형 응답을 얻으려면 오류나 오분류의 측정에 가장 관심을 두는 경우가 많습니다. |
| |
ROC 곡선을 살펴보고, AUC(곡선 아래 면적)나 민감도, 특이도, 거짓 양성률, 거짓 음성률을 살펴보는 것도 흥미로울 수 있습니다. |
| |
F1-점수와 매튜스 상관 계수인 MCC. |
| |
그럼 JMP로 전환해 보겠습니다. |
| |
이걸 접어두고 당뇨병 데이터를 열어보겠습니다. |
| |
이걸 크게 만들어서 여러분이 볼 수 있게 해드릴게요. |
| |
자, 이게 데이터입니다. 442명의 환자에 대한 정보가 있고, 다시 한번, 반응 Y가 있는데, 이는 연속형이고 1년 후 질병 진행 정도를 나타냅니다. Y부터 살펴보겠지만, 두 번째 변수인 Y 이진형도 있습니다. |
| |
우리는 기본 정보를 가지고 있습니다. |
| |
그리고 열 검증이 있습니다. 다시 한번 말씀드리지만, 모델을 학습할 때는 학습 데이터만 사용하여 모델을 학습시키고, 검증 데이터를 사용하여 모델 성장을 언제 멈춰야 할지, 그리고 모델이 실제로 얼마나 잘 학습하는지 측정합니다. |
| |
이제 이 열을 작성하기 위해 예측 모델링에서 모델 검증 열이라는 유틸리티가 있습니다. |
| |
이를 통해 검증 열을 구축하는 데 다양한 옵션이 제공되므로 데이터를 훈련 검증 세트와 테스트 세트로 분할할 수 있습니다. |
| |
그리고 대부분의 경우, 우리가 이런 종류의 기술을 사용하여 데이터를 하위 집합으로 분할하는 경우, |
| |
테스트 세트를 갖는 것이 좋습니다. 테스트 세트를 사용하면 모델 구축이나 모델 성장 억제에 사용되지 않은 데이터에 대한 모델 성능을 평가할 수 있으므로, 이 경우에는 테스트 세트가 없더라도 테스트 세트를 갖는 것을 권장합니다. |
| |
예를 들어, 제가 원하는 건... 반응을 가장 정확하게 예측하는 모델을 찾는 겁니다. 보시다시피, 선택할 수 있는 모델이 정말 다양하거든요. |
| |
적합 모델부터 시작하겠습니다. |
| |
그리고 이것은 보통 좋은 시작점입니다. |
| |
따라서 Y를 반응 변수로, X를 모델 효과로 하는 회귀 모델을 만들겠습니다. 그리고 이 시점에서는 주효과만 입력하겠습니다. 그리고 검증 열을 추가하겠습니다. |
| |
이제 적합 모델에서 기본값은 표준 최소 제곱이 되지만, 우리가 적합시킬 수 있는 다양한 유형의 모델이 많이 있습니다. |
| |
저는 단순히 최소 제곱 모델을 실행할 것입니다. |
| |
여기서 몇 가지 짚고 넘어가야 할 점이 있습니다. 여기 V라고 적힌 표시를 눈여겨보세요. |
| |
모델을 훈련 데이터에 맞춰 학습시켰지만, 검증 데이터에서도 모델이 얼마나 잘 수행되는지 확인하고 싶으므로 V로 표시된 모든 마커는 검증 세트의 관찰값입니다. |
| |
검증이 있으므로 여기에 교차 검증 섹션이 있습니다. 이를 통해 훈련 세트와 검증 세트의 R 제곱을 살펴보고 RASE를 수행할 수 있습니다. |
| |
그리고 종종 보게 될 것은 검증 통계가 훈련 통계보다 다소 나쁘다는 것입니다. 그리고 그 차이가 클수록 모델이 과대적합되었거나 과소적합되었다는 것을 더 잘 나타냅니다. |
| |
이 강연의 범위를 벗어나는 또 다른 내용을 지적하고 싶은데, 바로 예측 프로파일러에 관한 것입니다. |
| |
그리고 예측 프로파일러 |
| |
사실 제가 JMP를 처음 사용하기 시작한 이유 중 하나예요. 모델을 이해하는 데 정말 강력한 도구거든요. |
| |
그래서 나는 모든 X의 값을 변경하고 예측된 응답에 무슨 일이 일어나는지 볼 수 있습니다. 이것은 평균입니다. |
| |
이 모델들은 평균을 예측하고 있습니다. 하지만 이 밴드들이 총 콜레스테롤과 LDL, HDL에 대해 어떻게 펼쳐지는지 보세요. 그 이유는 해당 지역에 대한 데이터가 없기 때문입니다. |
| |
새로운 기능, 다시 한번 간략하게 말씀드리자면, 이 강연의 범위를 벗어나는 외삽 제어라는 기능입니다. 경고를 켜고 드래그하면 |
| |
총 콜레스테롤 수치를 보면 외삽이 가능하다는 것을 알 수 있습니다. 즉, 데이터가 전혀 없는 영역에서 예측을 시도하고 있다는 뜻입니다. |
| |
이 외삽 제어를 켜면, 이 막대와 이 선이 잘려나가는 것을 볼 수 있습니다. 즉, 해당 영역에서는 예측을 할 수 없다는 뜻입니다. 모델을 설계할 때 확인해 보는 것이 좋습니다. 정말 강력한 도구입니다. |
| |
자, 모든 진단 작업을 마쳤다고 가정해 봅시다. 이 모델을 축소했고, 결과를 저장할 수 있게 하고 싶습니다. |
| |
음, 몇 가지 방법이 있습니다. 빨간색 열로 가서 열을 저장하고 예측 수식을 저장할 수 있습니다. |
| |
이렇게 하면 방금 만든 선형 모델이 데이터 테이블에 저장됩니다. 배경에서 확인할 수 있습니다. 그리고 이 데이터 테이블에 새 값을 추가하면 자동으로 반응을 예측합니다. |
| |
하지만 모델을 다른 형식으로 저장하고 싶을 수도 있으므로 이를 위해 다음을 게시할 수 있습니다. |
| |
이 수식을 수식 저장소로 보냅니다. 수식 저장소는 실제로 데이터 테이블과 독립적이지만, 이 기능을 사용하면 스크립트를 복사하여 새 데이터가 있는 다른 데이터 테이블에 붙여넣어 새 데이터의 점수를 매길 수 있습니다. |
| |
아니면 이것을 일종의 프로덕션 시스템에 배포할 수 있도록 다른 언어로 코드를 생성하고 싶을 수도 있습니다. |
| |
이 글을 마무리하겠습니다. 이건 하나의 모델일 뿐입니다. 더 복잡하거나 정교한 모델을 적용하면 성능이 향상될 가능성이 있을까요? |
| |
그래서 다른 모델을 적용할 수도 있겠네요. 예를 들어, 그냥 '재현'을 눌러 볼게요. 성격을 표준 최소제곱법에서 일반화 회귀로 바꿀 수도 있겠네요. |
| |
이렇게 하면 다양한 응답 분포를 지정할 수 있습니다. 저는 그냥 일반을 선택하고 '실행'을 클릭하겠습니다. |
| |
이렇게 하면 다양한 페널티 기법을 적용하고 다양한 변수 선택 기법을 사용할 수 있습니다. 일반화 회귀 분석을 아직 살펴보지 않으셨다면, |
| |
정말 강력하고 유연한 최신 모델링 플랫폼이에요. 그냥 "Go"를 클릭하겠습니다. 이 모델에 적합하다고 가정해 보겠습니다. |
| |
이 모델을 이미 저장한 모델과 비교하고 싶습니다. 그래서 예측 공식을 데이터 테이블에 저장할 수도 있을 것 같습니다. 이제 데이터 테이블의 배경에 또 다른 열이 생겼습니다. |
| |
아니면 이것을 다시 게시하고 싶을 수도 있습니다. |
| |
에게 |
| |
공식 세부 사항을 보면 이제 두 가지 다른 모델이 있습니다. 계속 진행할 수 있습니다. 이건 일반화 회귀의 한 모델일 뿐입니다. 또한 여러 유형의 |
| |
예측 모델링 메뉴에서 예측 모델을 선택할 수 있습니다. 예를 들어 신경망이나 파티션, 부트스트랩 포레스트 또는 부스트 트리가 있습니다. |
| |
이제 일반적으로 내가 해야 할 일은 이 모든 모델을 맞추고 결과를 데이터 테이블이나 수식 저장소에 저장하는 것입니다. |
| |
데이터 테이블에서 이 모델 비교 플랫폼을 사용하여 다양한 경쟁 모델을 비교할 수 있습니다. 여러 모델이 있을 수 있지만, 여기서는 두 개만 있습니다. |
| |
실제로 모델이 무엇인지 지정할 필요도 없고, 검증만 지정하면 됩니다. 그리고 여기 "by" 필드에 검증을 넣는 게 좋을 것 같습니다. |
| |
이렇게 하면 훈련 세트와 검증 세트 모두에 대한 적합 통계가 나오는데, 저는 검증 단계에 대한 통계만 살펴볼 것입니다. 따라서 이를 활용하여 가장 성능이 좋은 모델을 선택할 수 있을 것입니다. |
| |
제가 관심 있는 것은 R 제곱 값이 더 높고, RASE(제곱근 평균 제곱 오차) 값이 더 낮고, 평균 절대 오차가 더 낮은 것입니다. 이 두 모델 중에서는 이 최소 제곱 회귀 모델이 가장 적합한 것으로 보입니다. |
| |
이제 가능한 모든 모델을 적용한다면... 시간이 꽤 많이 걸릴 수 있습니다. 그래서 JMP Pro 16에서는 이런 작업 대신 모델 스크리닝이라는 새로운 플랫폼이 추가되었습니다. |
| |
그리고 모델 검토를 시작하면, 앞서 본 것처럼 상단에 대화 상자가 나타나므로, 여기에 내용을 입력하겠습니다. |
| |
그리고 검증 기능을 추가하겠습니다. 그런데 옆에서 보면 여러 가지 모델을 선택하고 이 모든 모델을 한 번에 적용할 수 있다는 걸 보실 수 있습니다. |
| |
그래서 의사결정 트리, 부트스트랩 포레스트, 부스트 트리, K 최근접 이웃, 맞아요. 이 모든 모델을 적용할 수 있어요. |
| |
그리고 의미가 없는 모델은 실행되지 않으므로 옵션 중 하나로 연속 응답 로지스틱 회귀가 있는데 로지스틱 회귀 모델에서는 실행되지 않습니다. |
| |
지속적인 응답을 제공합니다. 여기 XGBoost라는 옵션도 있습니다. |
| |
그리고 그 이유는 추가 기능이 있고 실제로 오픈 소스 라이브러리를 사용하고 이 추가 기능(JMP 사용자 커뮤니티에서 사용 가능)을 설치하면 |
| |
XGBoost라고 불리며 JMP Pro에서만 작동합니다. 하지만 이 추가 기능을 설치하면 모델 스크리닝 대화 상자에 자동으로 나타납니다. |
| |
그러니 그냥 확인을 클릭할 건데, 확인을 클릭하면 각 플랫폼이 실행됩니다. |
| |
그러면 모든 결과가 하나의 창에 표시됩니다. 그래서 확인을 클릭했습니다. 데이터가 많지 않아서 아주 빠르네요. |
| |
그리고 세부 정보 아래에는 적합했던 모든 개별 모델이 표시됩니다. 이 대화 상자 중 하나를 열면 결과를 볼 수 있고, 해당 메뉴에서 사용할 수 있는 추가 옵션에도 접근할 수 있습니다. |
| |
그래서 자세한 내용은 숨기겠습니다. 기본적으로 훈련 데이터에 대한 통계를 보고하지만, 검증 데이터에 대한 결과도 표시해 주므로 R 제곱과 RASE를 확인할 수 있습니다. |
| |
기본적으로 RASE 순서로 정렬되므로 가장 낮은 것이 가장 좋습니다. |
| |
하지만 여기 아래에 몇 가지 작은 단축키 옵션이 있습니다. 따라서 가장 적합한 모델을 찾고 싶은 경우, R 제곱이 일부 모델에 가장 적합하지만 RASE가 다른 모델에 더 적합한 경우 '주요 모델 선택'을 클릭합니다. |
| |
이 경우에는 신경망 부스팅을 선택했으므로 모든 모델 중에서 가장 좋은 모델은 신경망 부스팅입니다. 이 모델을 자세히 살펴보려면 여기 신경망 아래의 세부 정보를 확인하거나 |
| |
아니면, 간단히 말해서, 선택된 것을 실행한다고 말할 수 있습니다. |
| |
저는 이에 대해 이야기하지 않았지만, 대화창에는 무작위 시드를 설정하는 옵션이 있습니다. |
| |
그리고 제가 그 랜덤 시드를 설정하면 여기서 실행되는 결과는 제가 여기서 보는 것과 동일할 것입니다. 그래서 이건... 이건 |
| |
TanH 함수를 사용하는 세 개의 노드를 가진 신경망 모델이지만, 부스팅도 사용하고 있습니다. 따라서 이 플랫폼을 설계하면서 개발자들은 다양한 모델에 가장 적합한 시작점과 기본 설정을 결정하기 위해 많은 시뮬레이션을 수행했습니다. |
| |
그래서 신경 강화가 최고예요. |
| |
그리고 |
| |
이 모델을 배포할 수 있게 하려면 지금 할 수 있는 일은 스크립트를 저장하는 것입니다. |
| |
아니면 직접 실행할 수도 있고, 더 깊은 수식에 저장할 수도 있습니다. |
| |
이건 연속형 반응인데, 빨간색 삼각형 아래에 다른 옵션들이 있습니다. 만약 범주형 반응이라면 어떨까요? 범주형 반응의 경우, 같은 플랫폼을 사용할 수 있습니다. 다시 한번 모델 스크리닝으로 넘어가겠습니다. |
| |
회수를 클릭하지만 Y 대신 Y 이진법을 사용하겠습니다. |
| |
기본 방법은 하나도 바꾸지 않을 겁니다. 난수 시드를 넣을 건데, 예를 들어 12345처럼 무작위 숫자를 가져올 겁니다. |
| |
이렇게 하면 반복성이 생깁니다. 따라서 모델을 데이터 테이블이나 수식 저장소에 저장하면 |
| |
모델에서 통계는 동일하고 적합도도 동일합니다. 몇 가지 다른 옵션이 있습니다. 보고서와 같은 일부 기능을 해제하는 것이 좋습니다. |
| |
다른 교차 검증 방법을 사용하고 싶을 수도 있는데, 이 플랫폼에는 K 폴드 검증이 포함되어 있지만 중첩된 K 폴드 교차 검증도 사용됩니다. |
| |
그리고 우리는 이것을 반복할 수 있습니다. 정말 정말 좋습니다. 때로는 데이터를 훈련 검증과 테스트로 분할하는 것이 최선이 아니며 K-폴드 |
| |
실제로는 조금 더 개선될 수 있습니다. 그리고 하단에 몇 가지 추가 옵션이 있습니다. 양방향 상호 작용을 추가하는 것도 좋을 것 같습니다. 2차 효과도 추가해 볼 수 있을 것 같습니다. |
| |
추가 방법에서는 추가 일반화 회귀 방법에 적합합니다. 따라서 '확인'을 클릭하겠습니다. |
| |
좋아요. 모든 모델을 실행하고, 다시 말씀드리지만, 이건 데이터 세트가 작습니다. 아주 빠르게 실행됩니다. |
| |
네, 모양새와 느낌은 같지만 통계가 달라졌습니다. 오분류율이 있고, 곡선 아래 면적도 있고, R 제곱 측정값과 제곱 평균 제곱근 오차도 있습니다. |
| |
'주도적 방법 선택'을 클릭하고, 다시 한 번, 주도적 방법은 신경 강화 방식입니다. |
| |
이제, 이러한 다양한 모델 중 일부를 탐색하고 싶다면 어떻게 해야 할까요? 즉, 여기서의 오분류는 단계별 오분류보다 상당히 낮습니다. |
| |
AUC는 비슷하고, 전체적으로는 가장 낮지만, 그렇게 크게 나아진 건 아닌 것 같아요. 몇 개 가져가 볼게요. 몇 개 클릭하면... 아마 이 네 개, 다섯 개를 선택하게 될 거예요. |
| |
모델을 비교하기 위해 ROC 곡선을 살펴보는 데 관심이 있다면 ROC 곡선을 살펴볼 수 있습니다. |
| |
여기에는 모델을 끄고 특정 모델에 집중할 수 있는 몇 가지 좋은 컨트롤이 있습니다. |
| |
그리고 제가 정말 기대하는 새로운 기능은 결정 임계값이라는 것입니다. |
| |
그리고 결정 임계값을 통해 우리가 살펴볼 수 있는 것은 다음과 같습니다. |
| |
그리고 훈련 데이터를 살펴보는 것으로 시작해서, 데이터의 스냅샷을 제공합니다. |
| |
오분류율은 분류 기준점인 0.5를 기준으로 합니다. 따라서 각 모델에 대해 실제로 높은 점수와 낮은 점수를 보여줍니다. 높은 점수에 초점을 맞추면 녹색 점이 높은 점수로 올바르게 분류된 것입니다. |
| |
그리고 빨간색 영역에 있는 것은 잘못 분류된 것이므로 올바른 분류와 잘못된 분류를 표시하고 여기 측면에 모든 통계를 보고합니다. |
| |
그리고 아래에서는 여러 가지 측정 항목과 많은 그래프를 볼 수 있는데, 이를 통해 잘못된 분류와 올바른 분류를 살펴볼 수 있습니다. |
| |
이걸 닫고 다음 내용을 살펴보겠습니다. |
| |
검증 데이터. |
| |
그렇다면 이것이 왜 유용할까요? 민감도를 극대화하고 싶은 특별한 상황이 있을 수 있습니다. |
| |
특정 특이성을 유지하면서 말이죠. 그리고 민감도... 여기에 몇 가지 정의가 있습니다. 민감도는 진양성률입니다. |
| |
특이도는 진음성률입니다. 이는... 질병 진행 상황을 살펴보고자 하는 시나리오이므로, 높은 민감도 비율을 유지하고 있는지 확인해야 합니다. |
| |
특이성이 높은지 확인하는 것도 중요합니다. 여기 슬라이더가 있는데, 이 슬라이더를 드래그해서 |
| |
그리고 분류 기준이 바뀌면서 분류도 어떻게 바뀌는지 볼 수 있습니다. |
| |
그래서 저는 이것이 경쟁 모델을 살펴볼 때 정말 강력한 도구라고 생각합니다. 왜냐하면 전체의 차단점이 0.5인 모델이 있을 수 있고, 그 모델이 가장 좋은 오분류율을 보일 수 있기 때문입니다. |
| |
하지만 분류 기준을 변경하면 모델마다 성능이 다르게 나타나는 경우도 있을 수 있습니다. 예를 들어, 특정 지역에 있는 경우, 단계적 모델이 실제로 더 나은 결과를 보일 수 있습니다. |
| |
이제 이를 더 잘 설명하기 위해 다른 예를 들어보겠습니다. |
| |
이 예를 신용카드 마케팅이라고 합니다. |
| |
그리고 이 시나리오를 소개하기 위해 슬라이드로 돌아가겠습니다. |
| |
이것은 다음과 같은 시나리오입니다. |
| |
우리는 신용카드 혜택 수용에 대한 시장 조사를 바탕으로 많은 데이터를 얻었습니다. |
| |
정답은 '제안이 수락되었는가'입니다. 이 시나리오에서는 연구에 참여한 제안 중 단 5.5%만이 실제로 수락되었습니다. |
| |
이제 우리가 관심을 갖는 요소가 있으므로 제공되는 보상 유형이 다양합니다. |
| |
그리고 우편물 종류도 다양합니다. 사실 이건 계획된 실험입니다. 이 연구의 그 부분은, 사실, 무시하겠습니다. |
| |
그리고 재정 정보도 있습니다. 이 예시에서는 하나의 목표에 집중하겠습니다. 제안을 수락할 가능성이 가장 높은 고객을 식별하는 것입니다. |
| |
그리고 만약 가장 가능성이 높은 고객을 파악할 수 있다면, 이 시나리오에서는 제안을 수락할 가능성이 더 높은 하위 집합에만 제안을 보내고 나머지는 무시할 수 있습니다. 이것이 바로 여기의 시나리오입니다. |
| |
그리고 저는 이 데이터를 공개할 겁니다. |
| |
저는 10,000개의 관찰 결과를 얻었고 제 답변은 제안을 수락했습니다. |
| |
그리고 저는 이미 스크립트를 데이터 테이블에 저장했기 때문에 항공 마일리지, 우편물 유형, 소득 수준, 신용 등급, 그리고 몇 가지 다른 재정 정보를 얻었습니다. |
| |
진행 중이에요... 저장 스크립트를 실행했어요. 모든 모델을 실행 중이에요. 이 경우 Neural이 Boosted Neural을 실행하고 있어서 시간이 가장 오래 걸릴 것 같아요. |
| |
몇 초 더 걸릴 겁니다. 지원 벡터 머신을 실행하고 있습니다. 지원 벡터 머신은 시간 초과되어 관측값이 10,000개를 넘으면 실행되지 않습니다. |
| |
잠시만 더 기다려 보겠습니다. 저는 검증을 사용할 테니, 표준 검증을 사용하고 검증 열이 있습니다. 이 경우에는 0과 1로 구성된 열이 있는데, JMP는 0은 학습 데이터로, 1은 검증 데이터로 인식합니다. |
| |
좋아요. 이제 실행되었습니다. 대용량 데이터 테이블을 다루는 경우 실행할 수 있는 보고서가 있습니다. |
| |
경과 시간을 살펴보려고 합니다. 이 시나리오에서는 SVM(Support Vector Machine)이 실제로 가장 오랜 시간이 걸렸습니다. 10,000개가 넘는 관측치가 있을 때 SVM이 실행되지 않는 경우가 있는 이유가 바로 여기에 있습니다. |
| |
자, 이것들을 살펴보죠. 제가 '지배적' 모델을 선택한다면, 가장 좋은 모델은 신경망 강화 모델과 의사결정 트리입니다. 그런데 여기서 한 가지 짚고 넘어가야 할 점이 있습니다. 오분류율에 주목하세요. |
| |
오분류율은 지원 벡터 머신을 제외한 모든 모델에서 동일합니다. 왜 그럴까요? 제안 수락 분포를 실행하면, |
| |
(좀 더 크게 보여드리도록 하겠습니다) 검증 데이터에 집중해 보면, 관측치의 0.063%가 '예'였습니다. 이는 모델이 예측한 결과와 정확히 일치합니다. |
| |
그러면 왜 이런 일이 일어나는 걸까? |
| |
다시 한번 결정 기준을 물어보겠습니다. |
| |
그리고 여기 이 그래프에 초점을 맞추고 있는데, 이 그래프는 많은 용도가 있으며, 이 경우 분류에 대한 기준이 .5라는 것을 보여줍니다. |
| |
하지만 우리가 맞춘 확률은 그 근처에도 못 갔죠. 그래서 결과적으로 모델은 '아니오'를 '아니오'로 올바르게 분류했거나 |
| |
아니면 '예'를 '아니오'로 분류했습니다. 어떤 것도 '예'로 분류한 적이 없습니다. 확률이 0.5보다 크지 않았기 때문입니다. 그래서 이 사람을 쭉 늘려보면, |
| |
네, 두 모델의 차이를 알 수 있습니다. 신경망 부스팅의 경우 최고 확률은 약 0.25였고, 의사결정 트리의 경우 약 0.15였습니다. |
| |
의사결정 트리의 경우, 의사결정 트리는 기본적으로 일련의 이진 분할을 수행하고 여러 예측값을 갖는 반면, 신경망 부스팅은 점들의 무작위 패턴을 보여줍니다. 이 값을 0.12 정도로 변경해 보겠습니다. |
| |
맞아요. 사실 .12에서 끊겼어요. 이걸 움직여 보면 낮아질수록 실제로 (여기서 메트릭을 켜볼게요) 긍정적인 결과가 나오기 시작한다는 걸 알 수 있을 거예요. |
| |
그리고 거짓 양성 결과가 나오기 시작했어요. 이걸 드래그하면 막대에 보이는데, 막대가 좀 작죠? 신경망을 강화하니까 참 양성과 거짓 양성이 보이기 시작했어요. |
| |
이제 보이기 시작합니다. 이 첫 번째 지점을 지나면서 의사결정 트리를 볼 수 있게 됩니다. |
| |
따라서 이 데이터에 대해 0.5의 차단점을 사용하는 것은 의미가 없으며, 다시 한 번 말씀드리지만, 특이성에 대한 적절한 수준을 유지하면서 가장 민감도가 높은 차단점을 찾아봐야 할 것입니다. |
| |
이 경우에는 다른 두 가지 통계를 지적하겠습니다. |
| |
F1은 F1 점수이고, 이는 실제로 우리가 얼마나 긍정적인 결과를 잘 포착할 수 있는지를 측정하는 기준입니다. |
| |
MCC는 매튜스 상관계수인데, 네 가지 가능성 각각에서 얼마나 잘 분류되는지를 나타내는 좋은 지표입니다. 그래서... |
| |
거짓 양성, 거짓 음성, 참 양성, 참 음성이 있을 수 있습니다. |
| |
그리고 여기 있는 네 개의 상자에 해당한다고는 말씀 안 드렸지만, 네 가지 옵션이 있습니다. MCC는 -1에서 +1 사이의 상관 계수로, 네 개의 상자 각각에서 제가 어떻게 예측하는지를 측정합니다. |
| |
그래서 최대 F1 값이나 최대 MCC 값을 제공하는 컷오프를 탐색해 보고 싶습니다. 그리고 이 부분을 아래로 드래그한다고 가정해 보겠습니다. |
| |
민감도는 빠르게 증가하고 특이도는 떨어지기 시작했으니 아마 0.5 정도일 겁니다. 특이도가 너무 떨어지기 시작하는 지점에 도달한 것 같습니다. |
| |
차단점을 찾을 수도 있고, 하단에 수익 매트릭스를 설정하는 옵션이 있습니다. 이걸 수익 매트릭스로 설정하면, 기본적으로 이 차단점을 사용하여 새로운 데이터를 평가할 수 있게 됩니다. |
| |
그러니 여기에 설정하고 확인을 누르면, 제가 앞으로 어떤 예측을 하든, 이것을 데이터 테이블이나 수식 저장소에 저장하면 그 차단 값이 사용됩니다. |
| |
그리고 이는 실제로 수익 매트릭스에 구축할 수 있는 재무 정보를 얻을 수 있는 시나리오입니다. |
| |
예를 들어, 슬라이더를 사용하여 한계점을 선택하는 대신, 제 분류와 관련된 달러 가치에 대한 지식이 있다면 어떨까요? 그리고 만약 실제 답변이 '아니요'라면, |
| |
하지만 제가 제안을 보내면, "네, 맞을 것 같아요"라는 답이 나오고, 제가 제안을 보내면, 아마 5달러 정도 들 것 같아서, 음수 값이 나오죠. |
| |
그리고 어쩌면 제가 잠재적 이익에 대해 어느 정도 알고 있을 수도 있고, 어쩌면 이 기간 동안의 잠재적 이익이 100달러일 수도 있고, 어쩌면 제가 놓친 기회가 있을지도 모릅니다. 아마 제가 "-100"이라고 말할 수도 있겠죠. |
| |
상대방이 실제로 답장을 했을 텐데, 제가 제안을 보내지 않았거든요. 그래서 기회를 놓친 것일 수도 있고, 가끔은 이 부분을 비워두는 경우도 있습니다. 이제 이걸 대신 사용하면, |
| |
수익 매트릭스가 있다는 것을 인식하도록 몇 가지 추가 정보가 표시됩니다. 이제 지표를 살펴보면 이 수익을 기반으로 최적의 모델을 결정할 수 있습니다. |
| |
그래서 저는 이 추가 정보를 의사 결정에 활용하고 있습니다. 때로는 수익 매트릭스를 직접 활용할 수도 있고, 때로는 그렇지 않을 수도 있습니다. 이 경우 신경망 강화 모델이 전반적으로 가장 높은 수익을 낼 수 있을 것으로 보입니다. |
| |
그럼, 모델 심사를 잠깐 엿보겠습니다. 슬라이드로 돌아가겠습니다. |
| |
여기서 우리는 무엇을 보았을까요? 예측 모델링에 대해 이야기했습니다. |
| |
예측 모델링과 설명 모델링의 목표가 어떻게 다른지 알아보겠습니다. 따라서 우리의 목표는 미래 결과를 정확하게 예측하거나 분류하는 것이므로, 미래 관측치를 평가하고자 합니다. |
| |
그리고 우리는 일반적으로 검증을 사용하여 많은 모델을 맞추고 비교한 다음 가장 좋은 성과를 내고 가장 정확하게 예측하는 모델이나 모델 조합을 선택합니다. |
| |
모델 검토를 통해 워크플로가 간소화되어 하나의 플랫폼에서 다양한 모델을 동시에 적용할 수 있습니다. |
| |
그리고 저는 실제로 기본 설정만 사용했기 때문에 실제 설정보다 훨씬 더 정교한 모델을 적용할 수 있습니다. 주요 모델을 선택하고 모델 세부 정보를 탐색하기가 정말 쉽습니다. 새로운 모델을 적용할 수도 있습니다. |
| |
세부 정보에서. 범주형 데이터를 다루는 경우 이 결정 임계값을 사용하면 분류 기준점을 탐색할 수 있으며, 수익 행렬을 포함하는 기능도 통합할 수 있습니다. |
| |
선택한 모델에 대해 해당 모델을 수식 저장소에 배포하거나 데이터 테이블에 저장할 수 있습니다. 정말 강력한 새 도구죠. |
| |
더 자세한 정보를 원하시면, 분류 지표에 대해 말씀드리자면, F1 점수와 매튜스 상관 계수를 보기 전에는 그 통계가 제게는 비교적 생소했던 걸 알고 있습니다. |
| |
민감도와 특이성을 이해하기 위해 이 위키피디아 게시물에는 정말 훌륭한 예시와 훌륭한 토론이 나와 있습니다. |
| |
예측 모델링과 모델 스크리닝에 대한 유용한 자료도 많이 있습니다. JMP 사용자 커뮤니티에는 동영상 자료를 이용할 수 있는 새로운 경로인 Learn JMP가 있습니다. |
| |
JMP 시리즈 영상 마스터하기. 작년 투싼 JMP 디스커버리에서 루스 허멜과 메리 러브리스가 어떤 모델을 언제 사용해야 하는지에 대한 아주 좋은 강연을 했습니다. |
| |
이 글은 다양한 모델링 목표와 각 모델을 언제 사용해야 할지에 대해 잘 설명하고 있습니다. |
| |
예측 모델링을 처음 접한다면 무료 온라인 과정인 STIPS(산업 문제 해결을 위한 통계적 사고) 모듈 7을 통해 예측 모델링을 소개받을 수 있습니다. |
| |
그래서 이 책을 추천합니다. 제가 알려드릴 당뇨병 데이터를 활용하는 모델 스크리닝 블로그가 있는데, 이 책의 2판인 "Building Better Models with JMP Pro"도 있다는 점을 말씀드리고 싶습니다. |
| |
몇 달 안에 나올 예정이에요. 아직 새 표지는 없지만, 그 책에 모델 심사도 넣을 예정이에요. |
| |
자, 이제 말씀드릴 내용은 다 드렸습니다. 이 글에 댓글을 달거나 궁금한 점을 질문해 주시면 감사하겠습니다. 남은 컨퍼런스도 즐겁게 시청해 주시길 바랍니다. 감사합니다. |