자신감 있는 분석에 다시 오신 것을 환영합니다. 이 시리즈에서는 최신 데이터 분석을 통한 성공의 열쇠인 검증에 대해 살펴보겠습니다. 첫 번째 와 두 번째 게시물에서 우리는 일반화 가능성에 대해 논의하고 일반화되지 않는 문제가 있는 모델을 구축하는 방법을 살펴보았습니다. 이 게시물에서는 반응 레시피에 대한 사례 연구를 계속하고 신뢰할 수 있는 모델을 구축하기 위한 간단한 도구인 홀드백 검증을 소개합니다.
이 사례 연구에서는 고부가가치 화학 제품을 만들기 위한 레시피를 살펴보고 있다는 점을 기억하세요[1]. 성분 선택에는 4,608가지의 가능한 변형이 있습니다(친전자체 4개 x 친핵체 3개 x 리간드 12개 x 염기 8개 x 용매 4개). 우리는 가능한 레시피 중 단 150개의 데이터를 사용하여 모든 레시피의 수율을 예측하고 최상의 재료 조합을 찾는 모델을 구축하려고 합니다.
지난번에 구축한 파티션 모델은 RSquare가 0.985이고 실제 대 예측 플롯이 데이터에 대한 탁월한 적합성을 보여 첫눈에 훌륭해 보였습니다. 그런 다음 훈련 데이터에 없는 모든 4,458개의 레시피에 대한 실제 생산량과 모델 예측을 어떻게 비교했는지 살펴보았습니다. 모델은 실제로 수율이 0에 가까웠던 여러 레시피에 대해 100%에 가까운 수율을 예측했습니다!
Actual versus Predicted plots for the data that was used to train the model (left) and the data for all the other recipes that were not used to train the model (right). This is an example of an "overfit" model that does not generalize.Actual versus Predicted plots for the data that was used to train the model (left) and the data for all the other recipes that were not used to train the model (right). This is an example of an "overfit" model that does not generalize.Actual versus Predicted plots for the data that was used to train the model (left) and the data for all the other recipes that were not used to train the model (right). This is an example of an "overfit" model that does not generalize.모델을 훈련하는 데 사용된 데이터(왼쪽)와 모델을 훈련하는 데 사용되지 않은 다른 모든 레시피에 대한 데이터(오른쪽)에 대한 실제 대 예측 플롯입니다. 이는 일반화되지 않는 "과적합" 모델의 예입니다.
훈련 데이터에서는 좋아 보이는 종류의 모델을 구축했지만, 보이지 않는 데이터에서 테스트했을 때 일반화되지 않는다는 사실을 발견하는 것을 어떻게 방지할 수 있습니까? 모델이 불필요하게 복잡하지 않도록 하려면 어떻게 해야 할까요?
여러분이 떠올랐을 수 있는 한 가지 아이디어는 구축 프로세스의 각 단계에서 보이지 않는 데이터에 대해 모델을 검증하는 것입니다. 모델 훈련에 사용되지 않은 4,458개의 레시피에 대해 실제 대 예측(및 RSquare)을 확인하기 위해 의사결정 트리의 각 분할 후에 중지할 수 있었습니다. 보이지 않는 데이터에 가장 잘 맞는 모델을 최상의 모델로 선택할 수 있습니다. 그리고 우리는 그것이 얼마나 잘 수행될 것으로 기대할 수 있는지에 대한 지식을 갖게 될 것입니다.
물론 이는 인위적인 상황이다. 가능한 모든 레시피에 대한 데이터가 있다면 모델을 검증하기 위해 대부분의 데이터를 보류하지 않을 것입니다. 동일한 아이디어를 사용할 수 있지만 150개의 레시피에 대해서만 데이터를 활용하면 될까요?
소개…검증 열 만들기
예, 이를 위한 도구가 있습니다. JMP Pro의 검증 열 만들기는 데이터 테이블의 행 일부를 보류하고 모델 구축 프로세스의 각 단계에서 검증으로 사용하도록 표시합니다. 이후 게시물에서 살펴볼 다양한 유용한 옵션이 있지만 이 예에서는 간단하게 유지하고 기본값을 고수하겠습니다.
The Make Validation Column tool in JMP Pro (Analyze > Predictive Modeling). In this example, we stick with the defaults to make a Random Validation Column and click OK.The Make Validation Column tool in JMP Pro (Analyze > Predictive Modeling). In this example, we stick with the defaults to make a Random Validation Column and click OK.The Make Validation Column tool in JMP Pro (Analyze > Predictive Modeling). In this example, we stick with the defaults to make a Random Validation Column and click OK.JMP Pro의 검증 열 만들기 도구(분석 > 예측 모델링) 이 예에서는 기본값을 그대로 유지하여 무작위 유효성 검사 열을 만들고 확인을 클릭합니다.
제안된 0.75/0.25를 사용하겠습니다.훈련/검증 분할. 즉, 150개 데이터 행 중 37행이 검증을 위해 보류됩니다.
The default 0.75/0.25 training/validation split in Make Validation Column. Enter “1234” as the Random Seed if you want to follow along in JMP Pro and get the same results.The default 0.75/0.25 training/validation split in Make Validation Column. Enter “1234” as the Random Seed if you want to follow along in JMP Pro and get the same results.The default 0.75/0.25 training/validation split in Make Validation Column. Enter “1234” as the Random Seed if you want to follow along in JMP Pro and get the same results.Make Validation Column의 기본 0.75/0.25 학습/검증 분할입니다. JMP Pro에서 동일한 결과를 얻으려면 무작위 시드로 "1234"를 입력합니다.
이제 데이터 테이블에 검증용 행 37개와 훈련용 행 1개를 표시하는 검증 열이 있습니다.
Validation column in our data table that marks 37 of the rows for validation and the others for trainingValidation column in our data table that marks 37 of the rows for validation and the others for trainingValidation column in our data table that marks 37 of the rows for validation and the others for training37개 행을 검증용으로 표시하고 나머지 행은 훈련용으로 표시하는 데이터 테이블의 검증 열
이제 2번 포스트에서 생성한 파티션 모델을 유효성 검사를 통해 반복해 보겠습니다. 여기서 중요한 단계는 파티션을 시작할 때 유효성 검사 역할에 유효성 검사 열을 추가하는 것입니다.
Partition model with validationPartition model with validationPartition model with validation검증이 포함된 파티션 모델
첫 번째 분할은 검증이 없는 모델과 동일합니다. 하지만 이제 훈련 데이터와 검증 데이터 모두에 대한 RSquare를 볼 수 있습니다. 검증 데이터에 대한 적합성은 훈련 데이터만큼 좋지 않습니다(RSquare = 0.133 대 0.224).

Go를 누르면 알고리즘이 여러 분할을 탐색한 다음 최대 검증 RSquare를 가진 트리, 즉 우리가 보류한 데이터를 가장 잘 예측하는 모델로 다시 정리합니다. 이 경우 검증 RSquare(빨간색)는 5개 분할에서 정점에 도달했습니다. 그 지점을 넘어서면 모델은 점점 더 복잡해지고 훈련 데이터에 더 적합해졌지만, 보이지 않는 데이터에 일반화되는 패턴을 찾기보다는 노이즈에 과적합되었습니다. Validation RSquare가 동일하고 모델이 더 간단하므로 다시 4개의 분할로 정리할 수도 있습니다.

다른 모델은 어떻습니까?
우리가 사용할 수 있는 기타 다양한 통계 및 기계 학습 모델 유형이 있습니다. 홀드백 검증의 또 다른 장점은 검증된 모델을 신속하게 구축 및 비교하고 어떤 모델이 가장 잘 수행되는지 알아낼 수 있다는 것입니다. JMP Pro의 모델 선별 플랫폼을 사용하면 이 작업이 매우 쉬워집니다. 이 경우 Boosted Tree 모델의 Validation RSquare가 가장 높다는 것을 알 수 있습니다.
Model Screening report showing the Boosted Tree has a slightly better Validation RSquare than the Decision Tree and the other statistical and machine learning methods.Model Screening report showing the Boosted Tree has a slightly better Validation RSquare than the Decision Tree and the other statistical and machine learning methods.Model Screening report showing the Boosted Tree has a slightly better Validation RSquare than the Decision Tree and the other statistical and machine learning methods.부스팅 트리가 의사결정 트리 및 기타 통계 및 기계 학습 방법보다 약간 더 나은 검증 RSquare를 가지고 있음을 보여주는 모델 스크리닝 보고서입니다.
이제 이 부팅 트리 모델의 성능을 살펴보면 모델을 훈련하거나 검증하는 데 사용되지 않은 4,458개 레시피의 예측과 실제 수율 사이에 훨씬 더 나은 일치가 있음을 알 수 있습니다.

더 알아보기:
[1] Perera D, Tucker JW, Brahmbhatt S, Helal CJ, Chong A, Farrell W, Richardson P, Sach NW의 데이터 . 자동화된 나노몰 규모 반응 스크리닝 및 흐름 내 마이크로몰 규모 합성을 위한 플랫폼입니다. 과학. 2018년 1월 26일;359(6374):429-434. 도이: 10.1126/science.aap9112. PMID: 29371464. 샘플링된 데이터세트와 전체 데이터세트는 JMP 데이터 테이블로 첨부됩니다.
훌륭한 설명 필! 8월부터 알라푸드 최초로 PRO버전을 사용하게 되었습니다 
내가 만든 모델의 유효성을 검증하기 시작하는 것을 정말 기대하고 있습니다.
귀하의 게시물과 관련된 두 가지 후속 질문이 있습니다. 앱으로 맞춤형 DoE 디자인을 만들었다고 가정해 보겠습니다. 20-30 실행.
모델의 훈련, 검증 및 테스트가 여전히 작동합니까? 아니면 실제로 무언가를 얻으려면 100회 이상의 실행이 필요합니까?
그런 다음 새로운 수준에서 동일한 디자인을 강화(동일한 요인 테스트)하기 시작한다면? 그러면 JMP가 이러한 실행을 훈련과 검증으로 다시 배포합니까?
감사합니다.
친애하는
크리스티안 베르텔센
안녕하세요, @Steffen_Bugge .
원래 계획은 모델 검증과 관련된 다른 주제를 탐색하기 위해 더 많은 게시물을 작성하는 것이었습니다. 하지만 지금은 이 일을 할 시간이 없을 것 같아요. 어쩌면 다른 사람이 나중에 그것을 선택할 수도 있습니다.