| 스피커 |
성적 증명서 |
| 미아 스티븐스 |
아마 45분은 걸리지 않을 거예요. |
| |
좋습니다. 좋습니다. |
| |
젠장, 왜 그 문자가 방금 나타났지? |
| 제이슨 위긴스, JMP |
보셨나요? 방금 녹음을 시작했는데 누군가가 들어와서 시작 부분과 끝 부분을 잘라낼 거라고 말하려고 했어요. |
| 미아 스티븐스 |
녹음 중이라고 말하고 싶습니다. |
| 제이슨 위긴스, JMP |
응. |
| |
원하시면 멈출 수 있어요. |
| |
하나. |
| 제이슨 위긴스, JMP |
좋아요, 녹음이 시작되었습니다. |
| 미아 스티븐스 |
안녕하세요. 저는 MIA 스티븐스이고, JMP 제품 관리자입니다. |
| |
오늘은 JMPed 16 또는 JMP pro 16 모델 화면 검사에 처음 등장한 새로운 기능에 대해 이야기해보겠습니다. |
| |
사실, 다시 시작하겠습니다. |
| 제이슨 위긴스, JMP |
녹음이 다시 시작되었습니다. |
| 미아 스티븐스 |
안녕하세요, 저는 미아 스티븐스입니다. |
| |
저는 JMP 제품 관리자입니다. 오늘은 모델 스크리닝에 대해 이야기해 보겠습니다. 모델 스크리닝은 JMP Pro 16의 새로운 플랫폼으로, 여러 모델을 동시에 적용할 수 있어 예측 모델링 워크플로를 간소화할 수 있습니다. |
| |
그래서 우리는 예측 모델링이 무엇을 의미하는지에 대해 간략히 이야기하면서 시작하려고 합니다. 이는 보다 고전적인 모델링이나 설명 모델링과 대조됩니다. |
| |
JMP Pro에서 구축할 수 있는 모델 유형을 살펴보고, 예측 모델링 워크플로에 대해서도 간략하게 알아보겠습니다. 그리고 모델 스크리닝을 사용하여 이 워크플로를 간소화하는 방법을 알아보겠습니다. |
| |
경쟁 모델을 비교하기 위한 여러 가지 지표를 살펴보고 JMP Pro에서 두 가지 예를 사용하겠습니다. 여기서는 JMP Pro 16.1을 사용하겠습니다. |
| |
그러면 먼저, 예측 모델링이란 무엇을 의미할까요? |
| |
우리 대부분은 대학이나 회사에서 통계학 수업을 들었을 겁니다. 그리고 일반적으로 통계 모델링을 배울 때는 설명 모델링을 배우죠. |
| |
즉, 여러분은 몇몇 X나 입력 변수의 함수로서 어떤 Y 변수, 즉 관심 있는 반응을 연구하는 데 관심이 있다는 뜻입니다. |
| |
그래서 우리는 중요한 변수를 식별하는 데 관심이 있을 수도 있고, 아마도 가장 중요한 X, 즉 가장 중요한 잠재적 원인을 식별하려는 문제 해결 상황에 있을 수도 있습니다. |
| |
따라서 설명적 모델링의 결과로 X1, X3, X6가 Y 변화의 잠재적 원인임을 식별할 수 있으며, 이를 통해 설계된 실험을 사용하여 이러한 변수를 추가로 연구할 수 있습니다. |
| |
또한 관계의 본질을 정량화하는 데 관심이 있을 수 있습니다. 예를 들어, X의 함수로 Y(반응)가 평균적으로 어떻게 변하는지 이해하는 데 관심이 있을 수 있습니다. |
| |
X의 1단위 변화는 Y의 5단위 변화와 연관됩니다. |
| |
따라서 모델링이나 통계적 모델링 또는 회귀 분석에 대해 이야기할 때 일반적으로 생각하는 바가 이것입니다. |
| |
이와 대조적으로 예측 모델링은 미래의 결과를 정확하게 예측하거나 분류하는 것입니다. |
| |
따라서 고전적인 모델링에서는 일반적으로 평균, 즉 전체 평균에 대한 진술을 합니다. 예측 모델링에서는 다음에 무슨 일이 일어날지 알고 싶어 합니다. 예를 들어, 이 고객이 이탈할까요? 이 고객이 |
| |
신용카드 제안을 받아들일지, 기계가 고장 날지, 그래서 우리는 다음에 무슨 일이 일어날지 예측하는 데 관심이 있습니다. 그래서 우리는 정확성, 예측의 정확성에 관심이 있습니다. |
| |
예측 모델링에서는 가능한 여러 모델을 비교하고 그에 맞는 모델을 찾는 경향이 있으며, 여기에는 매우 진보된 기술이 필요합니다. |
| |
그리고 이러한 기술 중 일부는 해석하기가 쉽지 않을 수 있습니다. 따라서 신경망을 생각해 보면, 신경망은 일반적으로 다소 블랙박스처럼 여겨집니다. |
| |
그리고 이렇게 더 복잡한 모델에서는 과잉 맞춤이 문제가 될 수 있는데, 과잉 맞춤이란 우리가 필요 이상으로 복잡한 모델을 맞출 수 있다는 것을 의미합니다. |
| |
따라서 예측 모델링에서는 모델 검증을 사용하는 경향이 있습니다. 모델 검증은 과적합과 과소적합을 방지하기 위해 사용됩니다. 모델 검증은 데이터를 분할하는 것을 포함하며, 일반적인 데이터 분할 방법은 일부 데이터를 그대로 유지하는 것입니다. |
| |
음, 일부 데이터는 모델을 학습하는 데 사용되고, 일부 데이터는 보류되며, 세 번째 데이터 세트도 보류될 수 있습니다. 이 데이터를 사용하는 방식은 학습 데이터를 사용하여 모델을 학습하는 것입니다. |
| |
그리고 검증 데이터에서 모델이 얼마나 잘 수행되었는지 확인합니다. 그리고 세 번째 단계인 테스트 세트(test set)를 사용할 수 있습니다. |
| |
검증은... JMP의 검증 데이터는 종종 모델 크기를 제어하는 데 사용됩니다. 몇 분 후에 이 과정이 어떻게 진행되는지 살펴보겠습니다. |
| |
검증에 대한 자세한 내용은 다루지 않겠지만, 이 주제가 여러분에게 비교적 생소한 경우를 대비해 이 자료의 마지막에 있는 슬라이드를 몇 장 소개합니다. 무료 온라인 강좌인 STIPS에서 빌려온 슬라이드인데, 검증이 왜 중요한지 잘 보여줍니다. |
| |
JMP Pro에서는 다양한 유형의 예측 모델을 적용할 수 있습니다. |
| |
이 중 일부는 적합 모형에서 사용할 수 있으므로, 연속형 반응 변수가 있는 경우 선형 회귀 모형을 적합할 수 있습니다. 범주형 반응 변수가 있는 경우 |
| |
로지스틱 회귀 모형. 순서형, 다항형 또는 이항형 회귀 모형일 수 있습니다. 일반화 선형 모형이나 탄성망, 라소 및 능형 회귀와 같은 벌점 회귀 모형을 적합할 수 있습니다. |
| |
예측 모델링 메뉴에는 여러 항목이 있습니다. 예를 들어 신경망이 있습니다. JMP Pro에서는 다음을 사용하여 신경망을 피팅할 수 있습니다. |
| |
두 개의 레이어, 여러 노드, 여러 개의 활성화 함수, 부스팅을 사용합니다. 일반적으로 JMP에서는 |
| |
동일한 플랫폼을 사용하여 범주형 반응이나 연속형 반응에 대한 모델을 적합할 수 있습니다. 다양한 유형의 트리, 분류 트리를 적합할 수 있습니다. |
| |
범주형 반응, 연속형 반응인 경우 회귀 트리를 사용할 수 있습니다. 부트스트랩 포레스트나 부스트 트리처럼 좀 더 복잡한 유형의 트리도 적합할 수 있습니다. 그리고 다른 방법도 사용 가능하다는 것을 알 수 있습니다. |
| |
다변량 분석법에는 몇 가지 예측 모델링 플랫폼이 있는데, 판별 분석과 부분 최소 제곱법입니다. 따라서 이 목록이 전부는 아니며, 적합 모델에서도 부분 최소 제곱법을 사용할 수 있다는 점을 알려드립니다. |
| |
질문은, 왜 그렇게 많은 모델이 필요한가입니다. 고전적인 설명 모델링에서는 일반적으로 회귀 분석에 대해 배우지만, 적용할 수 있는 모델 유형은 훨씬 더 많습니다. |
| |
그 이유는 어떤 단일 모델이 항상 최고는 아니기 때문입니다. 최고의 모델은 종종 데이터 구조에 따라 달라집니다. |
| |
순전히 연속적인 X가 있든, 연속적이고 범주형 변수가 혼합되어 있든, 비선형적인 동작이 있든, 변수가 몇 개나 있습니까? |
| |
따라서 어떤 단일 모델이 항상 정확한 예측을 하는 데 가장 효과적인 것은 아닙니다. 따라서 일반적으로 여러 모델을 시도해 보고 가장 좋은 결과를 내는 모델이나 여러 모델을 조합하여 선택합니다. |
| |
그리고 우리는 더 광범위한 분석 워크플로의 맥락에서 예측 모델링에 대해 생각합니다. |
| |
물론 우리가 해결하려고 하는 문제는 비즈니스 문제든 엔지니어링 문제든 다양합니다. |
| |
하지만 우리는 데이터를 수집하는데, 이 데이터는 다양한 출처에서 온 것일 수 있고, 우리는 이 데이터들을 연결하고 큐레이션해야 합니다. |
| |
우리는 데이터를 탐색하고 시각화하여 현재 이용 가능한 데이터와 추가 데이터 요구 사항을 더 자세히 파악합니다. 그리고 이 과정에서 예측 모델링은 데이터를 분석하고 모델을 구축하는 데 중요한 역할을 하는데, 제 생각에는 바로 이 지점에서 진정한 재미가 시작됩니다. |
| |
따라서 JMP의 기존 워크플로는 검증을 통해 모델을 맞추는 것입니다. |
| |
그런 다음 예측 공식을 데이터 테이블에 저장하거나 공식 저장소에 게시하면 잠시 후에 결과를 확인할 수 있습니다. |
| |
그리고 또 다른 모델을 적합시킵니다. 즉, 회귀 모델로 시작하여 트리 기반 모델을 적합시킬 수 있습니다. 그리고 이를 반복하여 여러 유형의 모델을 적합시킵니다. |
| |
그런 다음 모델 비교를 통해 검증 데이터에 대한 각 모델의 성능을 평가합니다. 모델을 학습시키기 위해서는 학습 데이터를 사용하지만, 어떤 예측이 가장 정확한지 확인하기 위해 모델을 비교할 때는 검증 데이터나 테스트 데이터를 사용합니다. |
| |
그리고 우리는 가장 좋은 모델이나 가장 좋은 모델 조합을 선택합니다. |
| |
그런 다음 모델을 배포합니다. 이는 일반적인 워크플로입니다. |
| |
이제 모델 스크리닝을 통해, 모델 스크리닝의 기능은 이러한 과정을 간소화하는 것입니다. 따라서 원하는 모든 모델을 모델 스크리닝 플랫폼에 적용할 수 있습니다. |
| |
검증 데이터를 사용하여 여러 모델을 비교하고 최적의 모델을 선택합니다. 모델을 탐색하고, 모델 스크리닝을 통해 새로운 모델을 적용한 후 최적의 모델을 쉽게 배포할 수 있습니다. |
| |
따라서 이를 자세히 살펴보기 위해 몇 가지 예를 사용하겠습니다. 첫 번째 예는 여러분이 잘 알고 있을 수 있는 예입니다. |
| |
당뇨병 데이터는 샘플 데이터 디렉토리에 있습니다. 따라서 연구자들은 질병 진행 속도를 예측할 수 있기를 원합니다. |
| |
기준선 측정 후 1년이 지났습니다. 따라서 10개의 기준선 변수와 442명의 환자가 있으며, 여기서 살펴볼 반응 유형은 두 가지입니다. 반응 Y는 1년 동안 질병이 얼마나 진행되었는지를 측정하는 정량적 지표입니다. |
| |
그리고 높음/낮음이라는 이진 반응도 있습니다. 즉, 높음은 질병 진행 속도가 매우 높다는 것을 의미하고 낮음은 진행 속도가 낮다는 것을 의미합니다. |
| |
여기서 모델링의 목표는 질병 진행률이 가장 높을 가능성이 있는 환자를 예측하여 시정 조치를 취하는 것입니다. |
| |
따라서 궁극적으로 우리가 하고 싶은 것은 인구 통계학적 변수와 여기에 있는 기준 정보를 기반으로 미래 환자를 분류할 수 있는 모델을 구축하는 것입니다. |
| |
질병 진행률이 높을지 여부를 정확하게 예측해서 조치를 취할 수 있도록 말이죠. 네, 시나리오는 이렇습니다. |
| |
JMP에 대해 이야기하기 전에, 어떤 모델이 가장 좋은 예측을 하는지 결정하는 방법에 대해 잠깐 이야기해 보겠습니다. |
| |
그리고 저는 우리가 이를 위해 검증이나 테스트 세트를 사용한다고 언급했고, 우리가 사용할 수 있는 여러 가지 유형의 측정이 있습니다. |
| |
연속형 반응의 경우 RMSE(제곱근 오차) 또는 RASE(제곱근 평균 오차)를 사용합니다. RASE는 예측 오차를 나타내는 관련 측정값이며, 낮을수록 좋습니다. |
| |
AAE(평균 절대 오차), MAD(평균 절대 편차), MAE를 사용할 수도 있는데, 이 경우에도 낮을수록 좋습니다. 따라서 이것들은... 이것들은... 이것들은 일종의 평균 오차 측정값입니다. |
| |
그리고 R 제곱이 있는데, R 제곱은 실제로 적합도의 척도인데, 높을수록 좋습니다. |
| |
따라서 우리는 지속적인 대응에 이러한 방법을 사용하는 경향이 있습니다. 사용 가능한 다른 유형의 측정 방법도 많이 있습니다. |
| |
범주형 응답의 경우 오분류나 오류율 또는 정확도에 관심이 있는 경우가 많았지만, 우리는 정밀도에 관심이 있을 수 있습니다. |
| |
곡선 아래의 면적이라는 다른 측정값도 있는데, 이는 ROC 곡선에서 볼 수 있으며 민감도와 특이도도 있습니다. 이 둘은 여러 가지 이름으로 불립니다. |
| |
그리고 모델 스크리닝에 추가한 몇 가지 다른 측정값도 있는데, 불균형 데이터가 있을 때 유용합니다. F1 점수와 매튜스 상관계수(MCC)가 있는데, 이 값은... |
| |
또는 -1과 +1 사이의 값을 취하는 지표로, 범주형 데이터가 있을 때 데이터가 참 양성, 참 음성, 거짓 양성, 거짓 음성의 네 가지 가능한 범주 모두에 얼마나 잘 분류되는지 측정하는 데 적합합니다. |
| |
그럼... JMP로 넘어가보죠. |
| |
그럼 데이터를 공개해 볼게요. |
| |
그러니까 이건... 조금 더 크게 표현하자면, 이것도 당뇨병 데이터입니다. |
| |
그리고 이 데이터를 가지고 놀고 싶다면, 이 데이터를 사용하는 블로그가 있고, 도움말에서 샘플 데이터를 찾을 수도 있습니다. |
| |
그리고 다시, 반응 Y가 있는데, 조금 더 크게 표현해 보겠습니다. 이는 질병 진행을 연속적으로 측정하는 지표입니다. 그리고 낮음 또는 높음의 결과를 나타내는 이진 Y가 있는데, 이 두 가지를 각각 살펴보겠습니다. |
| |
그럼 시작하기에 앞서, JMP 15가 있거나 모델 스크리닝을 사용하지 않는 경우, JMP Pro가 있는 경우 연속형 반응인 Y를 예측하기 위해 예측 모델을 어떻게 적용할지 살펴보겠습니다. |
| |
여러 가지 인구통계학적 변수가 있다는 점에 유의하세요. |
| |
이런 데이터가 10개 있고, 검증 열이 있는데, 검증 열은 데이터를 훈련 데이터와 검증 데이터로 분할합니다. |
| |
그래서 우리는 훈련 데이터를 사용하여 모델을 맞춘 다음, 검증 데이터에 적용했을 때 모델이 얼마나 잘 수행되는지 살펴볼 것입니다. |
| |
이 열을 생성하려면 분석, 예측 모델링, 검증 열 만들기 등의 유틸리티가 있으며, 이를 통해 검증 열을 생성할 수 있습니다. |
| |
예를 들어, 계층화 열로 사용하려는 변수가 있을 수 있으므로 데이터가 전체에 걸쳐 균형을 이루고 있는지 확인하고 싶을 수 있습니다. |
| |
검증 세트입니다. 여기서는 '확인'을 클릭하겠습니다. |
| |
이를 통해 특정 비율의 데이터를 서로 다른 세트에 할당할 수 있습니다. |
| |
그리고 여기에는 유용한 추가 옵션이 몇 가지 있습니다. 예를 들어, 가르치고 모든 학생이 동일한 분할을 갖기를 원한다면 난수 시드가 정말 좋습니다. |
| |
그래서 이것은 이전에 사용되었습니다 |
| |
분석입니다. 연속형 반응 변수인 Y열부터 살펴보겠습니다. 예측 모형을 적합한다면 자연스러운 시작점은 회귀 모형을 적합하는 것인데, JMP에서 회귀는 적합 모형 아래에 있습니다. |
| |
제 답은 Y이고, 그냥 맞춰보겠습니다...주요 효과 모델만 맞춰보는 것부터 시작하겠습니다. |
| |
여기 검증 필드에 검증을 입력하겠습니다. 기본적으로 성격은 표준 최소제곱법입니다. 하지만 JMP와 JMP Pro에 익숙하다면 성격 항목에 다양한 옵션이 있다는 것을 알고 계실 겁니다. |
| |
실행을 클릭하면, |
| |
JMP 16에서 변경된 점 중 하나는 예측된 실제 플롯이나 다른 플롯을 살펴보면 점이 있다는 것입니다. 여기에는 점 대신 V가 표시된 점이 있습니다. |
| |
이는 이러한 포인트가 실제로 검증 세트에 할당되었음을 나타내므로 기본적으로 다음을 살펴보고 있습니다. |
| |
알다시피, 그 주변의 무작위 노이즈에서 모델이 얼마나 잘 예측하는지, 그리고 어느 정도 분산이 있다는 것을 볼 수 있습니다. 그리고 |
| |
기억하세요, 우리는 모델을 훈련 데이터에 학습시키고 검증 데이터에서 얼마나 잘 작동하는지 보고 있습니다. 아래에 통계가 있습니다. 검증 데이터가 있을 때마다 훈련 데이터와 검증 데이터 세트에 대한 추가 통계를 볼 수 있습니다. |
| |
여기에는 몇 가지 측정 기준이 있습니다. R 제곱과 RASE가 있죠. |
| |
일반적으로 모델을 한 데이터 세트에 적합시킨 후 새로운 데이터에 적용하면, 새로운 데이터에서는 성능이 그다지 좋지 않습니다. 따라서 검증 세트의 R 제곱은 더 낮고, RASE(오차)는 약간 더 높은 것을 볼 수 있습니다. |
| |
한 번...예측 프로파일러 아래에서 우리가 보는 한 가지는 |
| |
주의하세요...총 콜레스테롤과 LDL이 끝부분으로 갈수록 실제로 퍼져 나가는 것을 보세요. |
| |
그리고 내가 끌면서 |
| |
콜레스테롤 수치를 보면, 평균에 대한 신뢰 구간이 얼마나 넓어지는지 알 수 있습니다. 신뢰 구간을 아래쪽으로 끌어내리면, |
| |
엄청나게 넓어지고, 제가 최고치까지 끌어올리는 것과 똑같아요. 사실, 각 예측 변수의 간격이 엄청나게 넓어지죠. |
| |
이건 이 강연의 범위를 벗어나는 내용인데, 이 지역에는 실제 데이터가 없거나 데이터가 많지 않기 때문입니다. 제가... 한번 살펴보겠습니다. |
| |
예를 들어 총 콜레스테롤과 LDL이라는 두 가지 변수를 살펴보겠습니다. 콜레스테롤과 LDL에 대해서요. |
| |
이 두 가지 사이에는 꽤 강한 상관관계가 있다는 점에 유의하세요. 이 지역에는 데이터가 없고, 이 지역에도 데이터가 없습니다. |
| |
따라서 예측 모델이나 이러한 대역이 실제로 확산되는 것을 볼 수 있는 모델 유형을 적용한 적이 있다면, |
| |
이는 해당 지역에서 예측이 정확하지 않을 수 있음을 나타냅니다. JMP Pro에 새로운 기능이 추가되었습니다. |
| |
외삽 제어라고 불리는 이 기능은 문제가 있을 경우 경고를 보낼 수 있습니다. 그래서 제가 이 문제를 계속 끌고 간다면, |
| |
"어머, 외삽이 가능할 수도 있네."라고 알려주는 걸 보세요. 여기서는 예측에 문제가 있을 수 있습니다. 그리고 외삽 제어를 켜면, |
| |
이 대역을 잘라낸다는 점에 주목하세요. 즉, 이 범위를 넘어서는 예측은 불가능하다는 뜻입니다. 전혀 타당하지 않습니다. |
| |
따라서 이것은 이 범위를 약간 벗어나지만 예측 프로파일러에서 팬아웃되는 밴드를 본 적이 있다면, |
| |
예측 변수들이 서로 상관관계가 있기 때문에 발생하는 경우가 많고, 해당 지역에서 예측을 내릴 만한 데이터가 많지 않기 때문일 수도 있습니다. 따라서 이 점을 알아두는 것이 좋습니다. |
| |
좋습니다. 그럼 본론으로 돌아가서, 이 모델을 맞추고 모델을 줄인 다음, 이것이 최종 모델이라고 생각합니다. |
| |
예측 공식을 저장하여 이 모델을 데이터 테이블에 저장하겠습니다. 그러면 데이터 테이블에 새 열이 추가되는 것을 보실 수 있습니다. 방금 선형 모델을 만들었으므로 해당 공식이 데이터 테이블에 저장되었습니다. |
| |
또 다른 방법은 이것을 게시하는 것입니다. 저는 이것을 공식 저장소에 게시할 것입니다. |
| |
그래서 궁극적으로 제가 하려는 것은 여러 가지 유형의 모델을 적용하는 것입니다(그리고 여기서 마무리하겠습니다). 그리고 그 모델들을 비교하여... |
| |
공식을 저장하고 분석, 예측 모델링, 모델 비교로 가서 잠시 후에 이 작업을 하거나 공식 저장소에 저장할 수도 있습니다. |
| |
공식 저장소에 저장하는 것의 장점은 이제 스코어링 코드를 얻을 수 있다는 것입니다. 예를 들어, 이것이 새 데이터에 적용하려는 최종 모델이라면, |
| |
이 스크립트를 복사하여 새로운 데이터에 적용할 수 있습니다. |
| |
(여기서는 그렇게 하지 않겠지만) 이 모델을 프로덕션 환경에서 사용하려면 다양한 언어로 코드를 생성할 수도 있습니다. |
| |
그럼 이건 간단한 선형 모델이었죠. 다른 유형의 모델을 적용하고 싶다면 어떻게 해야 할까요? |
| |
더 복잡한 모델을 여기 fit model에 적용할 수 있습니다. |
| |
일반화 회귀 모델을 적용할 수 있고, 라쏘 모델을 적용할 수도 있으니 여기를 클릭하겠습니다. |
| |
일반화 회귀 분석 내에 몇 가지 모델 비교가 있는데, 이 모델을 저장하고 싶다고 가정해 봅시다. |
| |
그리고 저는 여기서 세부적인 내용에 크게 신경 쓰지는 않지만, 이건 꼭 저장해 두려고 합니다. 예측 공식도 저장해 두려고요. 어쩌면 이것도 공개해 볼까 생각 중이에요. |
| |
여기로 가서 이것을 게시하세요. |
| |
그리고 이것을 반복해서, 상호작용을 포함하는 모델을 적용할 수도 있습니다. 그런 다음 신경망 모델이나 분할 모델, 트리 기반 모델을 적용할 수도 있습니다. 그리고 범주형 응답이 있다면 이 모델이 적합할 것입니다. |
| |
분류 트리입니다. 연속형 반응이라면 회귀 트리에 적합합니다. 작은 트리들의 집합인 부트스트랩 포레스트나 부스트 트리를 사용할 수도 있습니다. 따라서 여러 유형의 모델을 적용할 수 있습니다. |
| |
그리고 모델을 얻고 수식을 저장하거나 수식 저장소에 게시한 후에는 어떤 모델이 가장 정확하게 예측하는지 찾고 싶습니다. |
| |
그래서 모델 비교를 사용하려고 합니다. |
| |
그리고 저는 단순히 검증을 변수로 추가할 것입니다. |
| |
모델이 검증 데이터에서 얼마나 잘 작동하는지 확인하고 싶거든요. 이 두 모델만 사용하고 검증 데이터(훈련 데이터는 따로 보관하겠습니다)만 살펴보면, |
| |
최소 제곱 모델의 평균 오차가 더 낮고, 최소 제곱 모델의 RASE가 약간 더 높은 것을 알 수 있습니다. |
| |
그리고 제 R 제곱은 일반화된 라소에 비해 조금 더 좋습니다. |
| |
JMP 15 Pro나 JMP Pro 15가 있거나 모델 스크리닝을 사용하지 않는 경우, 일반적으로 예측 모델링을 수행하는 방식입니다. 모델 스크리닝을 사용하면 이 모든 작업을 한 번에 수행할 수 있습니다. 이제 예측 모델링과 출시 모델 스크리닝에 대해 설명하겠습니다. |
| |
그리고 모델 스크리닝을 통해 여기 모서리를 살펴보면 기본적으로 우리가 보유한 데이터 유형에 적합한 각 플랫폼을 출시할 수 있습니다. |
| |
자동으로 해당 모델을 실행합니다. 따라서 메뉴에서 모델을 직접 선택할 필요 없이, 여기서 자동으로 실행할 수 있습니다. 같은 유형의 모델을 적용하겠습니다. 여기서는 주효과 모델만 적용했습니다. |
| |
이게 제 X입니다. 같은 검증 방법을 사용할 거예요. |
| |
여기에는 여러 가지 옵션이 있는데, 잠시 후에 설명하겠습니다. 확인을 클릭하겠습니다. 의사 결정 트리, 부트스트랩 포레스트, 부스트 트리, K 최근접 이웃이 있습니다. |
| |
기본적으로 Naive Bayes는 꺼져 있으므로 신경망 모델을 적용할 수 있습니다. |
| |
여기 아래쪽에 다른 것들이 있습니다. XGBoost가 설치되어 있으니, XGBoost를 사용할 수 있는 건 제가 XGBoost 애드인을 설치했기 때문입니다. |
| |
이건 오픈 소스 라이브러리에 접근하는 무료 애드인인데, JMP Pro에 설치되어 있다면 모델 스크리닝 플랫폼에서 실행할 수 있습니다. 그러니 이 부분은 끄고 '확인'만 클릭하겠습니다. |
| |
모델을 실행하고 있는데, 바로 거기 있습니다. 실행이 완료되었는데, 실제로 한 단계를 건너뛴 거죠. 각 모델을 자동으로 실행해 준 겁니다. |
| |
그리고 튜닝 매개변수에 대한 최적의 시작 값을 결정하는 데 사용하는 몇 가지 시뮬레이션이 있으므로 이러한 모든 모델에 맞게 조정했습니다. |
| |
각 모델에 대한 검증 훈련 및 검증 통계를 보고합니다. 이제 이 모델 중 어떤 것이 가장 좋은지 파악해야 합니다. |
| |
지배적인 항목을 선택하세요. 지배적인 항목을 선택하면 기본적으로 사용 가능한 지표에 대한 경계가 설정되므로 여기서 지배적인 항목을 선택하세요. |
| |
그리고 이 데이터에 대해 가장 좋은 모델은 신경망 강화 모델이라는 것을 알아냈고, 해당 모델에 대한 세부 정보는 여기 신경망 아래에 있습니다. |
| |
따라서 모든 세부 사항은 플랫폼을 출시하고 이 플랫폼 내에서 모든 정보를 수집하는 것뿐입니다. |
| |
신경망에 대한 모든 세부 정보가 여기에 있습니다. 기본적으로 부스팅된 세 개의 노드로 TanH를 실행합니다. 그리고 학습 통계와 검증 통계를 볼 수 있으며, 실제로 적합된 모델을 보고 싶다면, |
| |
기본 모델은 다음과 같습니다. |
| |
네, 이게... 이게 제 모델 중 가장 성능이 좋은 모델입니다. 이 모델들을 자세히 살펴보고 싶으면 여기에서 살펴볼 수 있고, 몇 가지 옵션이 있는데, 예측 플롯을 통해 실제 값을 확인할 수 있습니다. |
| |
그리고 이 모델들을 비교할 수 있는데, 예상대로 훈련 데이터의 변동성이 검증 데이터와 실제 예측 플롯의 변동성보다 약간 적습니다. 이 부분을 자세히 살펴보고 싶다면 특정 모델을 끌 수도 있습니다. |
| |
프로파일러를 실행할 수도 있는데, 16.1 버전이라면 프로파일러를 옵션으로 사용할 수 있습니다. 16.0 버전에서는 숨겨진 옵션인데, 저는 Pro 버전을 사용하고 있습니다. 프로파일러는 적합한 모델을 탐색할 수 있어서 좋습니다. 그래서 세 가지 모델을 선택했습니다. |
| |
이걸 조금 더 크게 만들어 보겠습니다. |
| |
그렇게 크지는 않을 거예요. |
| |
그래서 저는 여러 개의 서로 다른 나무의 결과를 기본적으로 더하는 나무 기반 모델인 부트스트랩 포레스트를 가지고 있습니다. |
| |
부스트 모델을 사용했는데, 신경망 모델이 비선형 행동을 아주 잘 잡아내고 있습니다. 그리고 라쏘 모델도 있는데, 사실상 선형 모델이죠. |
| |
이 모델들을 아주 명확하게 볼 수 있습니다. 일반화 라소를 사용하면 BMI와 |
| |
그리고 반응입니다. 신경 강화를 적용하면 곡률이 약간 있는 것을 볼 수 있습니다. LTG를 적용하면 곡률이 보이고, 부트스트랩 포레스트를 적용하면 작은 계단 함수가 있는 것을 볼 수 있습니다. 맞죠? 실제로는 여기 있는 비선형 관계를 근사하는 거죠. |
| |
따라서 우리가 신경 강화 모델이 가장 좋다고 결정한다면, |
| |
그러면 기본적으로 모델을 시작할 수 있고, 여기에서 시작할 수 있으며, 수식을 데이터 테이블에 저장하거나 배포를 위해 수식 저장소에 게시할 수 있습니다. |
| |
그래서 많은 시간을 절약하면서도 여전히 모델을 탐색할 수 있는 능력을 얻을 수 있습니다. |
| |
범주형 반응은 어떨까요? Y 이진법을 사용한다는 점을 기억하세요. Y 이진법을 같은 방식으로 사용할 수 있습니다. 분석으로 가서 다시 모델 스크리닝을 호출하고, 재현율을 클릭합니다. Y 대신 Y 이진법을 사용하겠습니다. |
| |
같은 유형의 모델을 여기서 실행할 수 있습니다. 특정 유형의 모델이 의미가 없다면 실행되지 않습니다. 예를 들어, 최소제곱 회귀는 여기서 의미가 없으므로 실제로 실행되지 않습니다. |
| |
여기에는 몇 가지 옵션이 있습니다. 1, 2, 3, 4, 5와 같이 임의 시드를 설정하면 반복성이 확보되고, 세부 정보에서 모델을 실행하면 |
| |
결과는 똑같을 거예요. 여기에 검증을 위한 몇 가지 추가 옵션이 있어요. |
| |
따라서 많은 경우 훈련, 검증 및 테스트의 고전적 분할을 사용하면 |
| |
사실, 특히 작은 데이터 세트에서는 최고는 아닙니다. 그래서 K-폴드 교차 검증을 대신 사용하는 게 좋을 것 같고, 중첩 교차 검증도 있습니다. |
| |
그리고 K-폴드 검증을 반복할 수도 있습니다. 특히 데이터 세트가 작을 때 유용한 옵션입니다. |
| |
그리고 하단에는 몇 가지 추가 옵션이 있습니다. 양방향 상호 작용이나 2차 방정식을 추가할 수도 있습니다. |
| |
값이 누락되었다는 것을 알고 있다면 정보성 누락(informative missing) 방법을 사용하는 것이 좋습니다. 또한, 추가 일반화 회귀 분석법에는 추가 방법이 적용됩니다. JMP 17 얼리 어답터 프로그램에 참여 중이라면 메뉴 대화 상자의 이 부분을 확인할 수 있습니다. |
| |
모델 실행 대화상자가 조금 더 원활하게 진행되도록 재구성되었습니다. 네, 그래서 여기서는 기본 설정에 난수 시드를 적용하고 확인을 클릭하겠습니다. |
| |
그래서 이 모든 모델을 실행하고 있습니다. 다시 말하지만, 정말, 정말 빠릅니다. 음, 이제 이진 응답이 있기 때문에 몇 가지 추가 지표가 있습니다. 두 가지가 있습니다. |
| |
R 제곱 측정값, 오분류율, 곡선 아래 면적, RASE를 구했습니다. 이 값은 제곱 평균 오차(ROE)와 관련이 있다는 점을 기억하세요. 다시 한번 '우세함'을 선택했는데, 신경망이 강화된 것으로 나타났는데, 항상 그런 것은 아닙니다. |
| |
제가 가장 좋다고 생각하는 모델, 즉 빨간색 삼각형 아래 옵션을 선택하면 해당 모델의 ROC 곡선을 볼 수 있고, 여기에도 모델을 켜고 끌 수 있는 체크 표시가 있습니다. |
| |
이걸 선택하세요. 제가 가장 좋아하는 새 기능 중 하나는 모델 비교 플랫폼과 JMP 17에서도 사용할 수 있는 기능인데, 분류 모델링을 수행하는 모든 모델링 플랫폼에 추가되는 기능인데, 바로 의사결정 임계값입니다. |
| |
저는 이게 JMP 16에 추가된 가장 강력한 기능 중 하나라고 생각합니다. |
| |
따라서 이 세 가지 모델을 선택하면 해당 세 가지 모델에 대한 분류 요약이 제공됩니다. |
| |
그리고 이걸 조금 더 크게 만들어서 좀 더 잘 볼 수 있게 하겠습니다. |
| |
따라서 이 해석은, 신경망 부스팅만 살펴보면, 신경망에 대한 두 가지 범주가 있다는 것을 알 수 있습니다. 신경망 부스팅과 높음 확률 예측이죠. 따라서 이것들은 높음 확률에 대한 적합 확률입니다. |
| |
그리고 차단점은 .5이므로 .5 미만은 낮음으로 분류되고 .5 이상은 높음으로 분류됩니다. |
| |
그러니까, 바로 여기 빨간색 블록을 보시면, 낮음으로 분류되었지만 실제로는 높았던 점들이 모두 여기에 있습니다. 그 숫자가 여기 있습니다. 29개였으니, 이것이 거짓 음성입니다. |
| |
아래쪽 빨간색 상자는 높은 것으로 분류되었습니다. |
| |
하지만 실제로는 낮은 수치였어요. 그러니까 여기 있는 사람들이 거짓 양성 판정을 받은 거죠. |
| |
그리고 하단에는 몇 가지 지표와 그래프가 있는데, 이를 통해 이 상황을 이해하고 결정을 내리는 데 도움이 됩니다. 그리고 지표도 몇 가지 있는데, 여기에서도 같은 값을 볼 수 있습니다. 29건의 거짓 부정과 17건의 거짓 긍정입니다. |
| |
그리고 우리는 진정한 긍정적 측면과 부정적 측면을 모두 볼 수 있습니다. 제가 이 방법에서 정말 좋아하는 점은 다양한 단절점을 탐색할 수 있다는 것입니다. |
| |
따라서 모델링 목표에 따라 민감도는 높게 유지하는 것이 좋지만, 특이도는 낮게 유지하는 것이 바람직하지 않을 수 있습니다. |
| |
민감도 비율, 여기 있는 이 키는 정말 도움이 됩니다. 민감도는 실제 양성 비율이고, 특이도는 실제 음성 비율입니다. |
| |
아시죠? 두 가지 모두에서 실제로 조금 더 나은 기준점을 찾을 수 있을까요? 클릭 앤 드래그를 통해 분류 기준점을 변경할 수 있습니다. |
| |
더 나은 결과를 얻을 수 있는 절단점을 찾아보세요. 예를 들어 .26에서 (여기서는 반올림해서 입력하겠습니다) 절단점 .25는 민감도가 더 높으면서도 특이도는 높게 유지됩니다. |
| |
내가 숨겨둔 그래프는 이러한 숫자를 해석하는 데에도 매우 유용하므로 잘못된 분류에 대한 전반적인 그림을 제공합니다. |
| |
임계값, 부분, 그리고 실제 분류. 따라서 특이도와 민감도의 균형을 맞추는 지점을 찾으려면 이 그래프를 보면 됩니다. |
| |
따라서 위쪽 선은 민감도이고, 점선은 특이도이며, 민감도에서 특정 값보다 여전히 높은 지점이 있는지... |
| |
민감도, 특이도가 높은 상태로 유지되는 지점이 어디인가요? 그리고 우리는... 우리는 그 둘을 균형 있게 조절할 수 있습니다. 그러니까 여기를 보면, 이 두 선이 교차하는 지점이 여기라는 걸 알 수 있습니다. |
| |
불균형한 데이터가 있는 경우 이 부분이 매우 중요해집니다. 다른 예를 살펴보겠습니다. 이 글을 마무리하고 |
| |
이건 저장하지 마세요. 그리고 수식 저장소를 닫겠습니다. 참고로, 수식 저장소는 독립형이라 기본적으로 우리가 사용하던 데이터 세트와 연결되어 있지 않습니다. 그래서 모델을 가져와서 새 데이터에 적용하기가 정말 쉽습니다. 그냥 닫겠습니다. |
| |
따라서 이 다음 데이터 세트에 대한 시나리오는 신용 카드 마케팅이라고 하는 데이터이며 시나리오는 다음과 같습니다. |
| |
신용카드 제안 수락에 대한 시장 조사를 진행 중이라고 합니다. 그리고 그 결과는 '제안 수락'입니다. 그런데 한 가지 주의할 점은 제안의 5.5%만이 수락된다는 것입니다. |
| |
과거 데이터를 사용하여 승인되었습니다. 이는 실제로 다양한 보상, 다양한 우편물 유형을 살펴보는 설계된 실험입니다. |
| |
다양한 재무 정보가 있지만, 설계된 실험은 보상형과 우편형입니다. 이 특정 모델링 목표에 집중할 것입니다. 신용카드 제안을 수락할 가능성이 가장 높은 고객을 파악하고자 합니다. |
| |
그리고 이렇게 함으로써 우리는 다음을 시도할 것입니다. |
| |
이 모델을 신규 고객에게 적용하고, 신규 고객에 대한 분류를 토대로 해당 고객에게 특가 상품을 보낼지 여부를 결정할 것입니다. |
| |
따라서 고객이 제안을 수락할 가능성이 낮다면, 저희는 제안을 보내지 않을 것입니다. 만약 고객이 제안을 수락할 가능성이 매우 높다면, 저희는 제안을 보낼 것입니다. |
| |
시나리오는 이렇습니다. JMP로 돌아가서 제안이 수락되었습니다. 데이터에 대해 이야기하는 동안 저장된 스크립트를 실행해 보겠습니다. |
| |
관측치가 10,000개라서 시간이 좀 더 걸릴 것 같습니다. 지금은 해당 모델들을 실행 중이고, 기본 설정만 사용하고 있습니다. 제안이 수락되었습니다. |
| |
리워드 유형은 항공 마일리지, 캐시백, 포인트입니다. 우편물 유형은 편지나 엽서입니다. 나머지는 은행 계좌 정보입니다. 과거 은행 계좌 정보와 인구 통계 정보입니다. |
| |
지원 벡터 머신을 실행하고 있는 것을 볼 수 있습니다. 지원 벡터 머신은 특히 대용량 데이터 세트에서 다소 느릴 수 있으며, 실제로 관측값이 10,000개가 넘으면 기본적으로 실행되지 않습니다. |
| |
평균 잔액이 있는 것을 볼 수 있습니다. 데이터는 학습 및 검증 단계에 투입되고, JMP는 자동으로 0을 학습 데이터로, 1을 검증 데이터로 인식합니다. 네, 모든 모델을 실행한 것입니다. |
| |
그리고 지배적인 것을 선택하면 단계별로 적합하고 의사결정 트리가 선택되었음을 볼 수 있습니다. |
| |
하지만 저는 이러한 잘못된 분류율을 지적하고 싶습니다. |
| |
그러니까 이건... 이건 정말 우리가 건초더미에서 바늘을 찾으려고 할 때 아주 자주 보는 현상이에요. 이 데이터들을 살펴보고, 이 데이터들을 분포로 풀어보면... |
| |
좀 더 크게 만들어서 더 잘 볼 수 있도록 할게요. 검증 데이터만 보고 있는데, |
| |
6.25, 6.2, 6.3% |
| |
값 중 '예'가 나오면 제안에 응답한 것이고, 이것이 바로 여기서 오분류율에 대해 얻을 수 있는 결과입니다. |
| |
이를 더 잘 이해하기 위해 결정 임계값을 켜보겠습니다. |
| |
그리고 이것을 조금 더 크게 만들어 보세요. |
| |
예측된 '예'는 모두 0인데, 이는 예측된 확률이 모두 상대적으로 낮았기 때문입니다. |
| |
고전적인 혼동 행렬에서 차단점은 0.5이고, 데이터가 불균형한 경우 이 경우 많은 관찰 결과를 '예'로 분류할 가능성은 매우 낮습니다. |
| |
클릭하고 드래그하면, |
| |
첫 번째 지점에 도달하면, 예상했던 '예'가 나오기 시작합니다. 사실, 지표를 켜겠습니다. |
| |
매우 불균형한 데이터가 있는 경우 예측 확률이 매우 낮을 수 있습니다. |
| |
따라서 이 슬라이더를 사용하면 차단을 탐색할 수 있습니다. |
| |
민감도와 특이도 모두에 영향을 미칠 수 있습니다. 따라서 이런 경우에는 "음, 만약 우리가..."처럼 말할 수 있을 겁니다. |
| |
여기에 .05만 입력하겠습니다... 예측된 확률에 신용 카드 제안을 보낸다면, 예측된 확률의 상위 5%는 그렇습니다. 우리의 민감도입니다. |
| |
두 모델 간의 차이는 약 0.72, 0.75이고, 특이도는 여전히 꽤 높습니다. 따라서 이... 이 컷오프, 즉 슬라이더를 사용하면 모델에서 더 유용한 정보를 얻을 수 있습니다. |
| |
그러니까, 만약... 0.5에서, 진짜 양성 반응이 나오는 걸 볼 수 있죠. 하지만 거짓 양성 반응도 많이 나오는 걸 보면, 여기에는 상충 관계가 있는 거죠. |
| |
이런 경우에는 재정적인 영향도 있을 수 있습니다. 그렇죠? 그래서 이 점에 대해 생각해 보는 게 좋을 것 같습니다... |
| |
수익 매트릭스. 그리고 버튼이 있어요. |
| |
여기를 클릭합니다. |
| |
이익 행렬은 특정 열에 대한 열 속성이며 다음을 설정할 수 있습니다. |
| |
확률 임계값에서 벗어난 값을 열 속성으로 사용하거나 값을 대입할 수도 있습니다. 예를 들어, 고전적인 시나리오에서는 비용이 5달러 정도 될 수 있습니다. |
| |
우리가 누군가에게 제안을 보내기로 결정했다면. |
| |
그리고 그들이 제안에 응답한다면, |
| |
아마 100달러의 가치가 있을 겁니다. 그러니까 누군가에게 제안을 보냈는데 응답이 없으면 5달러를 잃게 되는 거죠. |
| |
만약 우리가 누군가에게 제안을 보내고 그들이 응답한다면, 우리는 평균 100달러를 벌 수 있을 것입니다. 그리고 어쩌면 기회를 놓쳤을 수도 있고, 100달러를 잃었다고 말할 수도 있을 것입니다. |
| |
응답하지 않으면 비용이 발생합니다. 이 부분은 그냥 비워두고, '예'에 해당하는 값을 입력하기만 하면 됩니다. 이 부분을 적용하고 '확인'을 클릭하면, |
| |
그러면 몇 가지 새로운 값이 추가됩니다. 이제 수익 매트릭스가 생겼고, 지표를 살펴보면 예상 수익을 확인할 수 있습니다. |
| |
이 데이터 세트의 각 고객에 대해 평균적으로 의사결정 트리 모델을 적용하면 1.50달러를 벌 수 있고, 단계별 모델을 적용하면 그보다 조금 적게 벌 수 있다는 뜻입니다. |
| |
따라서 이처럼 불균형한 데이터와 일부 기본 비용이 있는 상황에서는 이익 행렬을 사용하는 것이 합리적입니다. 기본 비용이 없는 경우, |
| |
이 슬라이더는 모델링 목표를 달성하는 데 필요한 기준점을 선택하는 데 도움이 됩니다. 민감도, 특이도 등을 최대화하는 것일 수도 있고, 아니면 다른 기준일 수도 있습니다. |
| |
그러니까 본질적으로는 모델 스크리닝인 셈이죠. |
| |
여기서 마무리하고 슬라이드 자료로 돌아가겠습니다. |
| |
이제 우리는 예측 모델링과 예측 모델링이 의미하는 바에 대해 조금 이야기했습니다. |
| |
그리고 검증을 사용하면 많은 모델을 쉽게 맞추고 비교할 수 있으며, 모델 검토는 이 워크플로를 간소화하는 데 관한 것입니다. |
| |
원한다면 개별 모델을 직접 시험해 볼 수도 있지만, 모델 검사를 통해 모든 모델을 하나의 플랫폼에 동시에 적용한 다음 이러한 모델을 비교할 수 있습니다. |
| |
더 자세한 정보를 원하시면, 다양한 유형의 지표를 이용할 수 있으며 분류 데이터에 대한 지표도 아주 많습니다. 정말 좋은 정보가 있습니다. |
| |
민감도와 특이도, 그리고 다양한 측정 항목에 대한 위키피디아 페이지가 있는데, 제공된 측정 항목을 해석하는 방법을 깊이 파고들어 이해하려고 할 때 이 페이지가 정말 유용하다는 걸 알게 됐습니다. |
| |
예측 모델링에 대한 일반적인 리소스와 JMP Pro에서의 모델 스크리닝에 대한 리소스가 많이 있습니다. |
| |
저희... 저희 사용자 커뮤니티에서요. 다시 한번 STIPS에 대해 언급하겠습니다. STIPS는 산업 문제 해결을 위한 통계적 사고 과정입니다. |
| |
일곱 번째 모듈은 예측 모델링 소개입니다. 예측 모델링을 처음 접하시는 분이라면 이 모듈을 확인해 보시는 걸 추천합니다. 그리고 저희 커뮤니티에 게시된 당뇨병 데이터를 활용하는 블로그도 있습니다. 마지막으로, 새로운 기능이 있다면 알려주세요. |
| |
반복적인 개선 과정을 거치게 될 것입니다. 모델 스크리닝은 JMP Pro 16에서 도입되었습니다. 저희는 이미 JMP Pro 17을 개발 중이며, 이미 많은 개선 사항이 진행 중입니다. |
| |
따라서 앞으로 나올 내용을 살펴보는 데 관심이 있다면 피드백을 제공할 기회가 주어집니다. |
| |
아시다시피, 얼리 어답터 프로그램 참여에 대해 문의해 주시면 저희가 준비해 드리겠습니다. 시간 내주셔서 감사하고 남은 컨퍼런스도 즐겁게 참여하시기 바랍니다. |