Разница точности случайных лесов между данными испытаний и новыми данными - PullRequest
0 голосов
/ 18 октября 2018

Я новичок в машинном обучении и очень расстроился, когда почувствовал огромную разницу в производительности моей модели Random Forest между тестовыми данными и новыми данными.Любая идея будет принята с благодарностью.

Цель моей модели - прогнозировать доходность акций в будущем периоде на основе данных временных рядов по той же акции.Я применил Random Forest Classifier, используя scikit-learn в Python, чтобы предсказать возвратный дециль вместо фактического изменения цены.Я использовал данные до июня 2017 года, обучил модель на 80% данных и протестировал ее на 20%.Результаты были великолепны.Вероятность ошибочной классификации больше или меньше 1 дециля составляла 3%.Это означает, что если модель прогнозирует падение доходности в 5-м дециле, то фактическое возвращение упадет ниже 4-го или 6-го дециля только в 3% случаев.Я был очень счастлив с этим.

Однако, когда я применил модель к «новым данным», с 1 июля 2017 года по настоящее время, я получил ужасные результаты.Вероятность ошибочной классификации> +/- 1 дециль подскочила до 60% !!!

Я думал, что проблема была чрезмерной из-за глубины деревьев.Но этого не было.Я установил min_samples_leaf на 20 и даже на 40, и на самом деле это ухудшило прогнозы по новым данным.

Что еще это может быть?Если модель хорошо справляется с историческими тестовыми данными, почему она поступает иначе на новых данных.Природа новых данных не может быть такой разной.

Спасибо всем.

1 Ответ

0 голосов
/ 18 октября 2018

Это широкий вопрос, и может быть много причин для плохой работы с новыми данными, но я постараюсь вам немного помочь:

  1. Переоснащение - проверьте RF оценки на тренировочных данных иотдельно тестовые данные -> если разница огромна и у вас супер небольшая ошибка в тренировочном наборе и значительная ошибка в тестовых данных - тогда ваша модель, вероятно, имеет проблему с переобучением.
  2. Попробуйте добавить несколько новыхданные для модели (то есть следующие 6 месяцев, оставляя остальные 6 для проверки).Если модель работает намного лучше, то, возможно, есть фундаментальный фактор, влияющий на цену, то есть то, что заставило цены изменить свое поведение после июля 2017 года.
  3. Особенности и разработка функций - это связано с предыдущим пунктом, новозможно, вы упускаете что-то, и это не учитывается в исторических данных.Например, в течение некоторого времени цены на энергоносители в Европе растут, и одной из причин, по-видимому, является рост цен на углерод.Это то, что не было учтено раньше и «появилось» в 2018 году, и я считаю, что до недавнего времени это не было характерной чертой для аналитиков.Это также может иметь место для вас -> возможно, что-то большое произошло или есть функция, которая должна быть добавлена, чтобы она работала в 2018 году.
...