Forecaster Object Globals

  • In scalecast, when reading documentation, it is helpful to know the following terms: _estimators_, _can_be_tuned_, _cannot_be_tuned_, _sklearn_estimators_, _metrics_, _determine_best_by_, _normalizer_.

_estimators_

  • these are the the models that forecast and can be set by using f.set_estimator(...)

  • they come from popular machine learning libraries like scikit-learn, keras, statsmodels, and others

  • here is a list of all:

[1]:
from scalecast.Forecaster import _estimators_
print(*_estimators_,sep='\n')
arima
combo
elasticnet
gbt
hwes
knn
lightgbm
lstm
mlp
mlr
prophet
rf
rnn
silverkite
svr
xgboost

_can_be_tuned_

  • the following estimators can be tuned:

[2]:
from scalecast.Forecaster import _can_be_tuned_
print(*_can_be_tuned_,sep='\n')
arima
elasticnet
gbt
hwes
knn
lightgbm
mlp
mlr
prophet
rf
silverkite
svr
xgboost

_cannot_be_tuned_

  • the following cannot be tuned:

[3]:
from scalecast.Forecaster import _cannot_be_tuned_
print(*_cannot_be_tuned_,sep='\n')
combo
lstm
rnn

_sklearn_estimators_

  • these all come from scikit-learn or use a scikit-learn API and behave similarly (including being easy-to-tune, accepting a normalizer argument, and accpeting an Xvars argument):

[4]:
from scalecast.Forecaster import _sklearn_estimators_
print(*_sklearn_estimators_,sep='\n')
elasticnet
gbt
knn
lightgbm
mlp
mlr
rf
svr
xgboost

_metrics_

  • these are all the metrics available to use for model validation f.set_validation_metric(...):

[5]:
from scalecast.Forecaster import _metrics_
print(*_metrics_,sep='\n')
r2
rmse
mape
mae

_determine_best_by_

  • these are all the metrics available to use for model comparison and sorting models best-to-worst f.export(determine_best_by=...):

[6]:
from scalecast.Forecaster import _determine_best_by_
print(*_determine_best_by_,sep='\n')
TestSetRMSE
TestSetMAPE
TestSetMAE
TestSetR2
InSampleRMSE
InSampleMAPE
InSampleMAE
InSampleR2
ValidationMetricValue
LevelTestSetRMSE
LevelTestSetMAPE
LevelTestSetMAE
LevelTestSetR2

_normalizer_

  • these are all the options to scale your data when using an sklearn estimator f.manual_forecast(normalizer=...):

[7]:
from scalecast.Forecaster import _normalizer_
print(*_normalizer_,sep='\n')
minmax
normalize
scale
pt
None
[ ]: