태그 보관물: forecasting

forecasting

머신 러닝 문제가 희망이 없다는 것을 아는 방법? 며칠 또는

표준 기계 학습 시나리오를 상상해보십시오.

큰 다변량 데이터 세트에 직면하고 있으며 데이터에 대해 상당히 모호합니다. 당신이해야 할 일은 가지고있는 것을 기반으로 일부 변수에 대한 예측을하는 것입니다. 평소와 같이 데이터를 정리하고 기술 통계를보고 일부 모델을 실행하고 교차 검증하는 등 여러 번 시도한 후에 여러 모델을 시도하고 시도해도 아무런 효과가 없으며 결과가 잘못 될 수 있습니다. 그러한 문제에 대해 몇 시간, 며칠 또는 몇 주를 보낼 수 있습니다 …

문제는 언제 멈출 것인가? 당신은 어떻게합니까 알고 데이터가 실제로 희망 것을 모든 공상 모델은 모든 경우 또는 다른 사소한 솔루션의 평균 결과를 예측하는 것보다 당신이 더 좋은 일을하지 않을까요?

물론 이것은 예측 가능성 문제이지만 내가 아는 한 다변량 데이터에 대한 예측 가능성을 평가하기는 어렵습니다. 아니면 내가 틀렸어?


면책 조항 : 이 질문에서 영감을 얻은
모델은 언제부터 모델 찾기를 중단해야합니까? 많은 관심을 끌지 못했습니다. 그러한 질문에 대한 자세한 답변을 참조하는 것이 좋을 것입니다.



답변

예측 가능성

이것이 예측 가능성의 문제라는 것이 옳습니다. 가 있었다 forecastability에 대한 몇 가지 기사IIF의 실천 중심의 저널 선견 . (전체 공개 : 저는 준 편집인입니다.)

문제는 “단순한”경우에 예측 성을 평가하기가 어렵다는 것입니다.

몇 가지 예

다음과 같은 시계열이 있지만 독일어를 말하지 않는다고 가정하십시오.

달걀

4 월에 큰 피크를 어떻게 모델링하고 예측에이 정보를 어떻게 포함 하시겠습니까?

이 시계열이 스위스 슈퍼마켓 체인에서 계란 판매량이라는 것을 알지 못하면 서부 달력 Easter 직전에 정점에 도달 할 가능성이 없습니다. 또한 부활절의 달력이 6 주 정도 이동함에 따라 부활절 의 특정 날짜를 포함하지 않는 예측 (내년 특정 주에 반복 될 계절적 피크라고 가정) 아마 매우 꺼져있을 것입니다.

마찬가지로, 아래에 파란색 선이 있고 2010-02-28에서 발생한 모든 것을 2010-02-27의 “일반”패턴과 다르게 모델링하려고한다고 가정합니다.

하키 게임

다시 한 번, 캐나다인으로 가득 찬 도시 전체가 TV에서 올림픽 아이스 하키 결승전을 시청할 때 어떤 일이 발생하는지 알지 못하면 여기서 무슨 일이 있었는지 이해할 기회가 없으며, 이와 같은 일이 언제 발생할지 예측할 수 없습니다.

마지막으로 이것을보십시오 :

국외자

이것은 현금 및 캐리 스토어 에서 매일 판매되는 시계열입니다 . (오른쪽에는 간단한 테이블이 있습니다. 282 일에는 매출이 0이었고 42 일에는 1이 판매되었고 하루는 500이 판매되었습니다.) 어떤 품목인지 알 수 없습니다.

오늘까지, 나는 500의 판매로 그날에 무슨 일이 일어 났는지 모른다. 내 최선의 추측은 어떤 고객은이 제품이 무엇이든간에 많은 양의 제품을 미리 주문하고 수집 한 것이다. 이제 이것을 알지 못하면이 특정 날짜에 대한 예측은 멀리 떨어집니다. 반대로, 이것은 부활절 직전에 발생했다고 가정하고, 이것이 부활절 효과 일 수 있다고 생각하는 멍청한 알고리즘을 가지고 있으며 (이것은 계란일까요?) 다음 부활절을 위해 500 단위를 행복하게 예측합니다. 오 마이, 그게 잘못 됐어?

요약

모든 경우에있어, 데이터에 영향을 줄 가능성이있는 요소를 충분히 깊이 이해 한 후에 만 ​​예측 성을 이해하는 방법을 알 수 있습니다. 문제는 이러한 요소를 알지 못하면 알지 못할 수도 있다는 것입니다. 도널드 럼스펠트에 따르면 :

[T] 여기에는 알려진 것이 있습니다. 우리가 아는 것이 있습니다. 우리는 또한 알려진 미지가 있다는 것을 알고있다. 즉, 우리가 모르는 것이 있다는 것을 알고 있습니다. 그러나 우리가 모르는 미지의 미지도 있습니다.

부활절이나 캐나다인의 하키에 대한 전향이 우리에게 알려지지 않은 것이라면, 우리는 갇혀 있습니다. 우리는 어떤 질문을해야할지 모르기 때문에 앞으로 나아갈 길이 없습니다.

이것들을 다루는 유일한 방법은 도메인 지식을 수집하는 것입니다.

결론

나는 이것으로부터 세 가지 결론을 도출합니다.

  1. 당신은 항상 당신의 모델링 및 예측에 도메인 지식을 포함해야합니다.
  2. 도메인 지식이 있더라도 예측 및 예측에 대한 충분한 정보를 사용자가 받아 들일 수있는 것은 아닙니다. 위의 특이 치를 참조하십시오.
  3. “결과가 비참하다”면 달성 할 수있는 것 이상을 기대할 수 있습니다. 공정한 동전 던지기를 예측하는 경우 50 % 이상의 정확도를 얻을 수있는 방법이 없습니다. 외부 예측 정확도 벤치 마크도 신뢰하지 마십시오.

결론

다음은 모델 빌드를 권장하는 방법과 중지시기를 알리는 방법입니다.

  1. 도메인 지식이없는 사람과 직접 대화하십시오.
  2. 1 단계를 기반으로 예상되는 상호 작용을 포함하여 예측하려는 데이터의 주요 동인을 식별하십시오.
  3. 단계 2에 따라 강도가 감소하는 드라이버를 포함하여 모델을 반복적으로 빌드하십시오. 교차 검증 또는 홀드 아웃 샘플을 사용하여 모델을 평가하십시오.
  4. 예측 정확도가 더 이상 증가하지 않으면 1 단계로 돌아가거나 (예 : 설명 할 수없는 뻔뻔한 오해를 식별하고이를 도메인 전문가와 논의하여), 또는 모델의 기능. 미리 타임 박스 분석 을하면 도움이됩니다.

원래 모델이 정체 된 경우 다른 클래스의 모델을 시도하는 것을 옹호하지 않습니다. 일반적으로 합리적인 모델로 시작한 경우 더 정교한 것을 사용하면 큰 이점을 얻지 못하고 단순히 “테스트 세트에 과적 합”할 수 있습니다. 나는 이것을 자주 보았고 다른 사람들도 동의했다 .


답변

Stephan Kolassa의 답변은 훌륭하지만 종종 경제적 정지 조건이 있다고 덧붙이고 싶습니다.

  1. ML이 아닌 고객을 위해 ML을 수행 할 때는 고객이 기꺼이 지출 할 금액을 살펴 봐야합니다. 그가 회사에 5000 유로를 지불하고 모델을 찾는 데 한 달을 보냈다면 돈을 잃게 될 것입니다. 사소한 것처럼 들리지만 “해결책이 있어야합니다 !!!!”라고 생각했습니다. 따라서 돈이 나갈 때 멈추고 고객에게 문제를 알리십시오.
  2. 일부 작업을 수행 한 경우 현재 데이터 세트에서 가능한 일이 종종 있습니다. 금액이 사소하거나 순 마이너스 (예 : 데이터 수집, 솔루션 개발 등)로 인해 모델로 적립 할 수있는 금액에 적용하십시오.

예를 들어, 우리는 고객의 기계 고장 시점을 예측하고자하는 고객이 있었으며, 기존 데이터를 분석하고 본질적으로 소음을 발견했습니다. 우리는 그 과정을 파헤쳐 서 가장 중요한 데이터는 기록되지 않았고 수집하기가 매우 어렵다는 것을 알았습니다. 그러나 그 데이터가 없다면, 우리 모델은 너무 가난해서 아무도 사용하지 않았고 통조림이었습니다.

상용 제품을 다룰 때 경제학에 중점을 두었지만이 규칙은 학계 나 재미있는 프로젝트에도 적용됩니다. 이러한 상황에서 돈은 그다지 중요하지 않지만 시간은 여전히 ​​드문 상품입니다. 예 : 학계에서는 실질적인 결과를 얻지 못할 때 일을 중단해야하며, 더 유망한 다른 프로젝트를 수행 할 수 있습니다. 그러나 그 프로젝트를 포기하지 마십시오. 또한 null 또는 “더 많은 / 다른 데이터 필요”결과를 게시하십시오. 결과도 중요합니다!


답변

다른 방법이 있습니다. 자신에게 물어 –

  1. 이 특정 변수를 가장 잘 예측하는 사람은 누구입니까? “
  2. 머신 러닝 알고리즘이 최상의 예측보다 더 나은 결과를 제공합니까?

예를 들어, 다른 축구 팀과 관련된 많은 변수가 있고 누가 이길 것인지 예측하려는 경우 기계 학습 결과와 비교하기 위해 북 메이커 확률 또는 군중 소싱 예측을 볼 수 있습니다 연산. 당신이 더 나은 당신은 한계에있을 수 있습니다, 더 나쁜 경우 분명히 개선의 여지가 있습니다.

향상시킬 수있는 능력은 다음 두 가지에 달려 있습니다.

  1. 이 특정 작업에서 최고 전문가와 동일한 데이터를 사용하고 있습니까?
  2. 이 특정 작업에서 최고의 전문가만큼 효과적으로 데이터를 사용하고 있습니까?

그것은 내가하려는 일에 정확히 달려 있지만,이 질문에 대한 답변을 사용하여 모델을 만들 때가는 방향, 특히 내가 사용할 수 있거나 더 집중할 수있는 더 많은 데이터를 추출하려고 시도하는지 여부 모델을 수정하려고합니다.

본인은 Stephan에 일반적으로 도메인 전문가에게 문의하는 것이 가장 좋은 방법이라는 데 동의합니다.


답변