배포 모델안녕
모두에게.
첨부된 2개의 jmp 파일에 있습니다. Training-validation-test라는 이름을 사용하여 다음 결과를 갖는 RF 모델을 구축했습니다.
파일에는 하나의 숫자 응답과 20개의 서로 다른 예측 변수가 포함되어 있으며 그 중 하나는 범주형입니다. 예측 변수는 센서 값입니다.

보시다시피 편향은 매우 좋은 반면 분산은 약간 높습니다(92-69=23%).
그런 다음 모델에서 볼 수 없는 예제가 포함된 새 데이터베이스를 사용하여 새 데이터에 대한 알고리즘 배포를 시뮬레이션했습니다.
놀랍게도 예상 응답과 실제 응답 사이의 R2가 0에 가까워 결과가 정말 나빴습니다. 우리는 이 동작을 이해할 수 없었습니다. 결국 테스트 데이터의 R2=68%는 그다지 나쁘지 않은 것 같습니다. 그래서 우리는 확실히 0보다 큰 R2를 얻을 것으로 기대했습니다.
어떤 도움이나 의견이라도 환영합니다.
펠리체-지안
예측 모델링 및 기계 학습결과 공유 및 전달답변: 배포 모델아마도 이것이 토론에 도움이 될 것입니다. k-겹 교차 검증과 결합된 하이퍼파라미터를 조정하기 위해 중첩 옵션을 사용하여 jmp pro의 탁월한 모델 스크리닝 옵션을 사용했습니다. 여기 jmp 작업의 몇 시간 후에 얻은 결과가 있습니다.

제가 놀랐던 점은 성능 면에서 모델 간 차이가 크다는 점이었습니다. 트리 모델과 KNN은 50% 이상의 R2를 보인 반면 모든 적합 모델은 Lasso 및 Ridge 정규화 사용에도 불구하고 50%보다 훨씬 낮은(0에 가까운) 값을 나타냈습니다. Mybe는 일단 프로덕션에 배포된 RF/부스트 모델의 나쁜 성능을 설명하는 차이점입니까?
어떻게 생각하나요? 의견/제안/도움말이 있으신가요?
펠리체.
답변: 배포 모델데이터를 준비하는 데 더 많은 시간을 투자해야 한다고 생각합니다.시계열 모델을 맞추려면 관측값의 간격이 동일해야 하고 중복된 시간 값이 없어야 합니다.반응 간격이 고르지 않은 4개의 센서(?)가 있습니다.이 데이터를 이해하려면 각 기간에 단일 관찰이 있도록 값을 집계해야 하며 시간이 지정된 관찰 사이의 시간 길이에 대한 변수를 만드는 것이 좋습니다.또한 센서를 기능 중 하나로 사용하는 것보다 각 센서 유형에 대해 별도의 분석을 수행하는 것이 좋습니다. 각 센서의 동작이 서로 다르기 때문입니다.
귀하의 기능이 예측 가능하지 않다고 결론을 내릴 준비가 되어 있지 않습니다. 센서 유형을 혼합하고 비표준 시간 간격을 가짐으로써 너무 많은 노이즈가 발생한다고 생각합니다.이러한 문제를 해결하면 아직 좋은 예측 모델이 있을 수 있습니다.모델링 부분은 문제가 아닙니다. 데이터 준비는 (종종 그렇듯이) 문제입니다.적어도 나는 그렇게 생각한다.
답변: 배포 모델안녕 데일
불행히도 응답 변수 차이를 사용하여 회귀 모델 중 어느 것도 좋은 결과를 반환할 수 없었습니다.
따라서 이 시점에서는 X 변수가 반응을 예측하는 데 적합하지 않다고 가정해야 할 수도 있습니다.
어쨌든 우리의 데이터(센서 데이터)와 같은 데이터의 경우 시간 축을 고려하여 훈련/테스트를 분할해야 하는지 아니면 대신 무작위 분할 기법을 사용할 수 있는지에 대해서는 여전히 의문이 남아 있습니다. 문헌에서 센서 데이터에 무작위 분할 훈련/테스트를 사용하는 여러 논문을 발견했습니다. 동일한 방식으로 수행하면 모델이 완전히 잘못되었음을 이해하기 위해 모델을 프로덕션에 배포할 때까지 결과가 정말 좋아 보입니다. 그렇다면 진실은 어디에 있습니까?
첨부파일에는 기계학습 기법을 반도체 도구(Etcher)에 적용한 논문이 나와 있습니다. 그들은 센서 데이터를 보고 예측 유지 관리를 시도합니다. 따라서 데이터는 실제 데이터와 유사해야 합니다. 종이에서 녹색으로 표시된 부분을 보면 시간축을 고려하여 데이터를 분할한 후 시계열로 고려하는 것처럼 보입니다.
Dale 외에도 더 많은 사람들이 이 딜레마를 해결하는 데 의견을 제시하고 도움을 줄 수 있기를 바랍니다.
데이터가 우리의 다중 시계열과 같은가요?
예측 변수 X와 반응 Y가 시간에 따라 달라지는 것은 사실입니다. 하지만 X 값에 따라 Y를 예측하려면 왜 시간 변수가 그렇게 중요할까요? 나에게 Y는 프로세스 단계에서 기계에 의해 자동으로 설정되는 X 변수에 따라 달라져야 합니다. 물론 이는 시간적으로는 시간적으로 발생하지만 X 값은 레시피와 기계 상태에 따라 달라집니다. 그래서 시간에 대한 의존성을 받아들이기가 좀 어렵습니다.
지역사회 전체가 부활절을 축하합니다.
펠리체
답변: 배포 모델시계열 모델은 내 강점이 아니므로 누군가가 더 확실한 답을 줄 수 있기를 바랍니다.처음에는 기능의 차이를 두지 않을 것입니다. 모델을 구축하고 잔차를 살펴보고 동일한 자기 상관 관계가 나타나는지 확인합니다.그렇다면 아마도 일부 기능을 다르게 시도해 볼 것입니다.
답변: 배포 모델안녕 데일
예측 변수도 동일한 PACF를 표시하므로 응답 옆에 있는 예측 변수를 구별하는 데 유용할 수 있다고 생각하십니까?
고마워요 펠리스
답변: 배포 모델PACF 플롯은 처음 두 시차가 관련 있음을 시사합니다. 단연 첫 번째 시차가 가장 중요합니다.그래서 저는 간단한 1차 차분을 시도해 보는 것이 좋을 것이라고 생각합니다.기계 학습 모델(예: RF, 부스팅 트리, 신경망) 중 하나가 잘 수행될 가능성이 있으므로 시도해 보겠습니다.그러나 좀 더 표준적인 시계열 모델도 시도해야 합니다(시계열 모델은 다양한 방식으로 자기상관을 설명하기 위해 구축되었으므로 차이를 사용하지 않을 것임).이론적으로 1차 차분을 사용하는 경우(그리고 시간 구조가 크게 제거되는 경우) 모델링에 무작위 학습-검증-테스트 세트를 사용할 수 있습니다.적어도 나는 그렇게 생각한다. 다른 사람들이 더 잘 알 수도 있을 것이다.
답변: 배포 모델안녕 조지와 데일
귀하의 답변에 진심으로 감사드립니다. 나는 모든 예측 변수와 반응의 시차 플롯을 살펴보고 놀랍게도 매우 긴 자기 상관을 발견했습니다(첨부된 그림 참조).
데이터는 반도체 공장에서 나오므로 ACF에 표시되는 값 25는 로트의 웨이퍼 수와 관련이 있습니다.
지연 플롯의 점선은 맥긴에 로드된 다른 로트의 첫 번째 웨이퍼일 뿐입니다. 자기 상관은 작업 지점을 유지하기 위해 우리 기계에 존재하는 내부 피드백 때문이라고 생각합니다. 물론 이러한 조정은 챔버에 숨겨져 있으며 우리의 통제와 이해 하에 있지 않습니다. 또한 응답에는 설명할 수 없는 명확한 지연이 표시됩니다. 하지만 거기에 있습니다.
지연, 이동 평균, 평활화 및 기타 예측 기능 엔지니어링을 사용하려고 시도했지만 결과는 계속해서 매우 나쁩니다.
다음 단계에서는 Dale이 제안한 차이점을 시도해 보고 싶습니다. 단순한 차이 X(t)-X(t-1)이면 충분하다고 생각하시나요?
챠오 펠리체
답변: 배포 모델몇 가지 제안이 있습니다.먼저, 먼저 응답 변수를 차별화한 다음 랜덤 포레스트를 다시 시도하겠습니다.나에게는 이것이 시계열 데이터에 대한 가장 쉬운 접근 방식이며, 그런 식으로 보면 데이터가 더 잘 작동할 가능성이 있습니다.행을 무작위로 선택하는 대신 마지막 기간으로 유효성 검사 세트를 수동으로 생성합니다.두 번째 아이디어는 여러분이 알아차린 것입니다. 시간에 밀접하게 연결된 여러 관찰과 같은 시간 그룹화가 있습니다.시간적으로 밀접하게 관련된 관찰을 요약하여 시간 순서를 균일하게 만드는 것을 고려할 수 있습니다.시간 변수가 균일하게 측정되면 시계열이 더 잘 작동하므로 데이터를 동일한 간격의 시간 간격으로 요약해야 합니다.당신이 제안한 것처럼, 이제 정확히 무엇을 측정하고 어떻게 측정하는지에 대해 다시 생각해 볼 때입니다.
답변: 배포 모델한편 나는 데이터에 대해 타당하고 합리적인 모델을 맞출 수 없을 것이라고 믿습니다.
나의 첫 번째 접근 방식은 X로 표시되는 유효성 검사 열을 생성하는 것이었습니다.
시계열 힌트 @dale_lehman 유용했기 때문에 데이터도 시계열 방식으로 살펴보았는데,
시간이 지남에 따라 Xes의 조합이 변한다는 것을 깨닫습니다. 그리고 여기서 다시 "새"가 다른 것처럼 보입니다. 예, Xes는 동일한 범위를 커버하지만 그것만으로는 충분하지 않습니다. 내 생각에 "New"에서는 조합이 다릅니다. 즉, 일종의 외삽법이라는 뜻입니다. 이는 회귀 분석에서는 문제가 되지 않지만 RF와 같은 방법에서는 이것이 중요합니다(모델은 다차원적이고 고도로 비선형적이므로 내부를 살펴보기가 어렵습니다).
반면에 다른 방법(신경, Boosted Tree)으로는 합리적인 모델을 맞출 수 없었습니다. 제가 보기엔 X-열에 견고한 모델을 구축하기 위한 적절한 정보가 없는 것 같습니다.
그래서 저는 그 과정의 물리학이나 그것이 무엇이든 조사해보겠습니다.
- Xes가 Y를 어떻게 바꿀 수 있는지,
- 소음이 얼마나 될까요?
- 시간이 지남에 따라 상황을 변화시키는 요인을 파악하고 이를 데이터세트에 포함합니다.
- 그리고 데이터 구조도 궁금합니다. 일부 매개변수에 대해 동일한 날짜와 동일한 값을 가진 행 그룹이 있습니다.
제가 놀랐던 점은 시간별로 계층화된 검증 열을 만들었을 때 동일한 결과를 얻었다는 것입니다(첫 번째 부분에서는 공정한 모델, 새 데이터를 사용한 모델은 없음).
행운을 빌어요,
답변: 배포 모델이제 자세히 보니 이것이 시계열 데이터라는 것을 알 수 있었습니다.내 초기 견해로는 프로세스가 크게 변경된 것 같지 않습니다.그러나 문제는 train-validate-test 패러다임이 시계열 데이터에 실제로 적합하지 않다는 것입니다.검증 세트로 고유한 기간(예: 첫 번째 데이터 세트의 마지막 달)을 만들고 모델을 다시 추정하는 것이 좋습니다.내 생각에는 모델을 그런 식으로 추정하면 검증에 대한 모델 성능과 이전에 볼 수 없었던 데이터가 더 유사할 것입니다.두 데이터 세트의 X 변수 사이에 눈에 띄는 차이가 있다는 점이 여전히 걱정됩니다. 이를 위해서는 좀 더 정교한 시계열 모델링(예: 잠재적인 계절성 모델링)이 필요할 수 있습니다.
답변: 배포 모델안녕 데일과 게오르그
답장을 보내 주셔서 감사합니다.
실제로 각 예측 변수에 대한 두 분포 간의 차이는 그다지 다르지 않은 것 같습니다(첨부된 그림의 히스토그램 참조). bls를 사용하면 Training-Val-Test 세트를 나타내고 모델에서 볼 수 없는 세트를 표현합니다. 어쩌면 X20은 이전에는 볼 수 없었던 데이터에 새로운 정점을 보여줄 수도 있습니다. 그러나 나머지 배포판은 이전 배포판보다 인구가 적습니다.
훈련 세트의 예측 변수 분포가 테스트 것보다 넓다면 모델은 테스트 세트의 예측 변수가 차지하는 단계 공간을 "방문"해야 합니다. 옳은? 그렇다면 왜 나쁜 예측을 해야 할까요?
어쨌든 나는 무작위로 2000개의 인스턴스(랜덤 포레스트 모델에서 본 적이 없는 마지막 2000개의 인스턴스 대신)를 취하여 귀하가 말하는 내용을 확인했습니다(우리에게는 이것이 이상하지만). 일단 훈련되면 응답을 정확하게 예측할 수 있었습니다. 그렇다면 평균/표준 측면에서 약간의 차이가 예측 성능 측면에서 큰 차이를 만든다면 신호가 지속적으로 변하는 프로덕션에서 이러한 모델을 어떻게 사용할 수 있습니까?
Rgds.펠리체/지안
답변: 배포 모델나는 동의한다 @dale_lehman , 새 데이터가 다릅니다.
비슷한 모델을 적합할 수 있었지만 새 데이터에서는 제대로 작동하지 않았습니다.

일부 세부 정보를 보여주는 산점도 행렬(예: X11과 동일) 원본 데이터의 매우 작은 범위를 사용하는 X5...
두 그림 모두에서 새로운 데이터가 선택되었습니다. 어쩌면 이것이 차이가 있는 이유를 찾는 데 도움이 될 수도 있습니다.

답변: 배포 모델사실상 모든 X 변수(X12, X13 및 X19 제외)는 평균적으로 두 세트 간에 상당히 다릅니다.따라서 내 생각에는 새 데이터가 단순히 동일한 모집단의 또 다른 무작위 표본이 아니라 다른 모집단에서 나온 것입니다.원래 데이터에 상당히 잘 맞는 모델이 새 데이터가 다른 모집단에서 나온 경우 새 데이터에 대해서는 성능이 좋지 않다는 것은 놀라운 일이 아닙니다.
물어봐야 할 질문은 왜 그것이 다른 인구에서 나오는가 하는 것입니다.분명히 데이터가 동일한 모집단(또는 그에 가까운 모집단)에서 추출되었다고 생각한 것 같습니다.그러나 이러한 변수는 두 세트 사이에서 너무 다르게 나타나야 하므로 그러한 가정은 분명히 정확하지 않습니다.
차이점을 확인하기 위해 2개의 테이블을 연결하고 Fit Y by X를 사용했습니다. Y는 모든 X 변수이고 X는 연결 시 생성된 소스 테이블입니다.