-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add MASE metric #1166
Add MASE metric #1166
Changes from 7 commits
f97526b
389ff02
de94e7a
159abfe
ceb2d2a
27f2f8c
be9d6c3
25ea2e8
3f4f4ae
8670974
48cc114
6d073f0
d90259e
82e12a9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,6 +14,7 @@ statsmodels>=0.12.0 | |
ete3>=3.1.0 | ||
networkx>=2.4, !=2.7.*, !=2.8.1, !=2.8.2, !=2.8.3 | ||
scikit_learn>=1.0.0; python_version >= '3.8' | ||
sktime | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Версия? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @nicl-nno А имеет смысл реализовать расчет метрики с помощью numpy? Чтобы не тянуть стороннюю библиотеку из-за однострочной формулы. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Да наверное где-то ещё пригодится для работы с временными рядами. Если поймем что нет - тогда уж упростим. |
||
|
||
# Analysis and optimizations | ||
hyperopt==0.2.7 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А нельзя его унаследовать от RegressionMetricsEnum?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Нет. Он требует тренировочную выборку, тк на ней считает ошибку наивного предсказания
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А насколько критично использовать тренировочную выборку? Как будто бы средняя ошибка наивного предсказания не должна кардинально меняться при переходе от тренировочной к тестовой выборке.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Но вроде это enum, он ничего не требует...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Имею ввиду, что метрика для расчета требует значения ряда на тренировочной выборке, поэтому для регрессии метрика не подходит. Получается, что метрика находится в enum'e регрессии, но вызвать для регрессии мы ее не можем (федот либо упадет, либо переварит, в случае одномерного data.features, но какого-то смысла это иметь не будет)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Как я понял, на большом промежутке (тренировочной выборки) мы получим больше информации об изменчивости ряда. Еще одна причина - при горизонте=1, если новое значение равно предыдущему - метрика будет не определена (аналогично, если все новые значения просто равны последнему известному)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это так. Я предлагаю унаследовать TimeSeriesForecastingMetricsEnum от RegressionMetricsEnum, добавив туда одну метрику. И не дублируя остальных универсальных.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://docs.python.org/3/howto/enum.html#restricted-enum-subclassing - нельзя так, к сожалению
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay