모델 구축 프로세스가 대화식 일 때의 백 테스트 또는 교차 검증


9

백 테스트를 수행하려는 성능의 예측 모델이 있습니다 (예 : 데이터 세트를 가져 와서 이전 시점으로 "되감기"하고 모델의 예상 성능을 확인하십시오).

문제는 내 모델 중 일부가 대화식 프로세스를 통해 빌드되었다는 것입니다. 예를 들어 Frank Harrell의 Regression Modeling Strategies 의 조언에 따라 한 모델에서 제한된 입방 스플라인을 사용하여 피처와 응답 간의 비선형 연관을 처리했습니다. 나는 도메인 지식과 일 변량 연관 강도의 조합을 기반으로 각 스플라인의 자유도를 할당했습니다. 그러나 모델을 허용하려는 자유도는 데이터 세트의 크기에 따라 달라지며 백 테스팅시 크게 달라집니다. 모델을 다시 테스트 할 때마다 자유도를 개별적으로 수동으로 선택하지 않으려면 다른 옵션은 무엇입니까?

다른 예를 들어, 저는 현재 레버리지가 높은 지점을 찾아 이상치 탐지를 위해 노력하고 있습니다. 손으로이 작업을 수행하는 것이 행복하다면, 높은 수준의 각 데이터 지점을보고 데이터가 깨끗한 지 확인하고 데이터를 필터링하거나 손으로 정리합니다. 그러나 이것은 많은 도메인 지식에 의존하므로 프로세스를 자동화하는 방법을 모르겠습니다.

나는 (a) 모델 구축 프로세스의 대화식 부분을 자동화하는 일반적인 문제 또는 (b)이 두 가지 경우에 대한 구체적인 조언 모두에 대한 조언과 솔루션을 높이 평가할 것이다. 감사!

답변:


4

참고로, SE.DataScience에 더 적합 할 수도 있지만 당분간 여기에 대답하겠습니다.

솔루션을 구현할 스크립트를 작성하는 것 외에는 선택의 여지가없는 상황 인 것 같습니다. 스플라인으로 작업 한 적이없는 경우, 이들에 대한 나의 지식은 엄밀히 이론적 인 것이므로 나와 만나지 않고 내가 보지 못한 것이 있으면 알려주십시오.

대체로,이를 구현하기 위해 해결해야 할 몇 가지 다른 항목이있는 것으로 보입니다.

1.) 동적으로 모델 파라미터를 결정합니다. 앞서 도메인 지식과 일 변량 측정 값의 조합을 사용했다고 언급했습니다. 그것은 당신이 heuristically 처리 할 수 ​​있어야 뭔가처럼 보인다. 프로그램이 구현할 규칙 세트에 대해 처음 동의해야합니다. 이러한 규칙의 잠재적 영향에 대해 열심히 생각해야하기 때문에 이는 사소한 작업 일 수도 있고 아닐 수도 있습니다. 이를 위해서는 프로세스의 모든 단계를 다시 방문하여 결정뿐만 아니라 결정의 원인을 분류해야합니다.

2.) 실제로 프로그램을 구현합니다. 성능 테스트를 올바르게 동적으로 유지하고 향후 유지 관리 및 수정을 쉽게하려면이를 어떻게 구성 할 것인지 고려해야합니다. 주요 모델 예측 성능 추정에 일종의 루프를 사용하는 것이 좋으며, 더 나은 유연성을 위해 사용자 정의 가능한 길이를 사용하는 것이 좋습니다. 또한 기능을보다 쉽게 ​​테스트하고 프로그램을 유지 관리 및 수정하기 쉽기 때문에 프로그램에서 수행하려는 각 작업에 대해 별도의 기능을 작성하려고 할 것입니다. 최소한 데이터 세트 선택 (즉, 백 테스트 시점에서 "지나간"기간), 정리 및 유효성 검사 (실제로 고려해야 할 사항)에 대한 기능이 필요할 수 있습니다.

이상치 탐지 및 처리에 대한 귀하의 질문도 이러한 두 가지 우려에 해당하며 주 프로그램 루프 내에 더 작은 루프를 작성하여 계속 "청소"하고 만족할 수있을 때까지 모델을 다시 조정하여 구현에 대해 설명하겠습니다. 그것 (다시, 당신은 자신을 정의해야합니다).

이것이 큰 일처럼 들린다면 그 이유 때문입니다. 사람들은 이런 종류의 작업을 수행하기 위해 전체 소프트웨어 라이브러리를 작성했습니다. 그 외에도 프로세스, 데이터 구조 및 지금까지 작업 한 프로그래밍 언어에 대해 더 잘 알지 못하면 더 구체적인 조언을 제공하기가 어렵습니다.

이 중 하나라도 유용하고 그 중 하나를 확장하고 싶다면 의견을 말하고 알려 주시면 기꺼이 도와 드리겠습니다.


실제로 코드 작성에 도움이 필요하지 않습니다. 감사합니다. 백 테스팅 인프라가 이미 구축되어 있고 매우 강력합니다. 통계 통계 절차에 관심 이 있습니다. 모델 제작의 대화식 부분을 경험적으로 자동화하는 것과 관련하여 : 이것에 대해 작성된 것이 있습니까? 나는 이런 종류의 과정에 대한 언급을 문헌에서 보지 못했다. "사람들이 전체 소프트웨어 라이브러리를 작성했습니다"라고 언급 했습니까?
Ben Kuhn

@ BenKuhn-귀하의 의견을 바탕으로, 귀하가 겪고있는 정확한 어려움에 대해 조금 불분명합니다. 좀 더 명확하게 도와주세요. 자동화 된 모델 구축에서 휴리스틱을 사용하는 것은 매우 광범위합니다. 내가 지금 생각할 수있는 가장 기본적인 응용은 겸손한 단계적 회귀입니다. 모델의 정확한 세부 정보가 부족하기 때문에 도움이 될만한 정확한 문헌을 가리킬 수는 없지만, 커서 Google 검색은 자동 매개 변수 선택 방법, 특히 스무딩 및 페널티 스플라인에 대한 방법을 탐색하는 여러 기사를 제공합니다. 몇 가지 링크에 대한 다음 의견 참조
habu


@ BenKuhn-통계 절차를 사용할 때 구체적으로 무엇을 의미합니까? 내 생각에, 백 테스트는 롤링 또는 확장 데이터 선택 창과 함께 기차 테스트 샘플링을 사용하여 매우 간단하게 처리 할 수 ​​있습니다. 백 테스트 시점까지 획득 한 모든 데이터는 훈련 세트가되고, 다음 기간에 예상되는 데이터는 모델을 다시 조정할 수있는 기회가되기 전에 테스트 세트가됩니다. 예측 성능 및 적합도에 대한 모든 일반적인 측정 방법을 사용하여 실제 평가를 수행 할 수 있습니다.
habu

@ BenKuhn-실제 비즈니스 지식 부분을 구현하려면 정보를 체계화하고 필요한 경우 그러한 결정을 내리는 데 필요한 데이터를 사용할 수 있어야합니다. 또한 "소프트웨어 라이브러리"라는 용어는 확장부터 기존 모델링 라이브러리에 이르기까지 특정 응용 프로그램의 모델 구축을 자동화하기위한 산업 등급의 독점 전문가 및 의사 결정 지원 시스템까지 모든 것을 포괄하는 용어로 사용됩니다.
habu

3

수동 모델 튜닝 노력을 자동화하는 방법을 찾으려고하기보다는 모델 바이어스가 증가하더라도 비용이 훨씬 적게 드는 저 분산 학습자를 조사하여 이러한 문제를 모두 피할 수 있습니다. 대부분의 예측에서 낮은 샘플링 분산으로 귀환되는 백 테스트 결과에 대한 자신감을 원하며, 이미 샘플링 분산 자체를 가지고있는 학습자 위에 자동화 된 튜닝 프로세스를 도입하면 그 목표를 달성 할 수 있습니다. 꼬리가 개를 흔들리는 것처럼 보일지 모르지만 많은 수동 조정 또는 수동 조정이 필요한 것은 진정으로 정직한 백 테스트 환경 IMO의 훌륭한 후보가 아닙니다.


자동화 된 튜닝 (각 백 테스트 시점마다 별도의 튜닝 실행)이 "정말 정직한 백 테스트 환경"이 아닌 이유는 무엇입니까?
Ben Kuhn

스플라인을 삭제하여 분산을 줄이면 불행히도 예측력이 용납 될 수 없게됩니다. 저 분산 학습자를 사용하도록 제안했을 때 생각했던 것입니까? 그렇지 않다면, 당신은 무엇을 생각하고 있었습니까?
Ben Kuhn

@ BenKuhn-백 테스트가 모형의 표본 외 예측 검정력에 대한 진정한 "정직한"검정인지에 대한 앤드류의 관심사를 공유합니다. 사용 가능한 전체 데이터 세트; "시계를 뒤로 이동"하고 모델을 동적으로 재구성하더라도 전체 데이터 세트를 참조하여 방법이 개발되었으므로 모델이 여전히 적합하더라도 모델이 여전히 적합하지 않을 위험이 있습니다. 사용 가능한 데이터의 하위 집합에 대한 재교육
habu

1
명확하게 말하면, 자동화 된 튜닝은 시간에 예측한다는 의미에서 정직하게 만듭니다. t 보다 큰 시간의 데이터에 의존하지 마십시오 t. @habu의 요점에는 백 테스트 성능을 기반으로 모델을 반복적으로 개선하여 얻을 수있는 샘플 내 바이어스의 양이 항상 일정하며 그 주위에 방법이 있다고 생각하지 않습니다. 금융 신청). 내가 한 요점은 백 테스트 결과에 대한 신뢰 구간이 예측 변수의 샘플링 분산 및 그 위에있는 튜닝 프로세스와 관련이 있다는 것입니다.
앤드류

1
그리고 금융과 같이 시끄러운 영역에서, 역사가 조금 다르게 전개되었지만 (여전히 일부 기본 분포에서 도출 된) 여전히 유사한 모델에 도달 할 수 있도록해야합니다. 공정이 샘플링 분산에 견고하다고 확신한다면 내가 생각하는 것보다 낫습니다. 그러나 내 경험에 따르면 자동 튜닝 절차는 샘플링 분산에 매우 민감 할 수 있습니다.
앤드류
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.