Я новичок в машинном обучении и очень расстроился, когда почувствовал огромную разницу в производительности моей модели 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, и на самом деле это ухудшило прогнозы по новым данным.
Что еще это может быть?Если модель хорошо справляется с историческими тестовыми данными, почему она поступает иначе на новых данных.Природа новых данных не может быть такой разной.
Спасибо всем.