Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 1.54 KB

SeriesTransformer.rst

File metadata and controls

47 lines (34 loc) · 1.54 KB

SeriesTransformer

This object can be used to perform more complex transformations on your Forecaster object. It can be used to transform the dependent variable to adjust for trends, seasonality, and more, and every transformation is revertible. Revert functions must be called in opposite order as the applied transformation functions.

import pandas as pd
import pandas_datareader as pdr
import matplotlib.pyplot as plt
from scalecast.Forecaster import Forecaster
from scalecast.SeriesTransformer import SeriesTransformer
from scalecast import GridGenerator

GridGenerator.get_example_grids()

df = pdr.get_data_fred('HOUSTNSA',start='1900-01-01',end='2021-06-01')
f = Forecaster(y=df['HOUSTNSA'],current_dates=df.index) # to initialize, specify y and current_dates (must be arrays of the same length)

transformer = SeriesTransformer(f)

f = transformer.LogTransform()
f = transformer.DiffTransform(1)
f = transformer.DiffTransform(12)
f = transformer.ScaleTransform()

f.generate_future_dates(12)
f.set_test_length(12)
f.add_time_trend()
f.add_ar_terms(24)

f.set_estimator('elasticnet')
f.cross_validate(rolling=True)
f.auto_forecast()

# call in opposite order
f = transformer.ScaleRevert()
f = transformer.DiffRevert(12)
f = transformer.DiffRevert(1)
f = transformer.LogRevert()

f.plot()

src.scalecast.SeriesTransformer.SeriesTransformer

__init__