AR Model

Overview

This module contains AR models using four diferent parameter optimization methods: SciPy’s minimization, SciKit’s Ridge linear model, SciKit’s Lasso linear model and SciKit’s Elastic Net linear model.

Examples

AR model using SciPy’s minimization:

>>> ts = pandas.Series.from_csv('../datasets/champagne.csv', index_col = 0, header = 0)
>>> model = AR(p = 3)
>>> model = model.fit(ts)
>>> fitted_model = model.predict(ts)
>>> prediction = model.forecast(ts, periods = 2)
>>> prediction
1972-10-01    6100.380339
1972-11-01    5637.974302
dtype: float64

AR model using SciKit’s Ridge linear model:

>>> ts = pandas.Series.from_csv('../datasets/champagne.csv', index_col = 0, header = 0)
>>> model = AR_Ridge(p = 3)
>>> model = model.fit(ts)
>>> fitted_model = model.predict(ts)
>>> prediction = model.forecast(ts, periods = 2)
>>> prediction
1972-10-01    6056.234637
1972-11-01    5514.641861
dtype: float64

AR model using SciKit’s Lasso linear model:

>>> ts = pandas.Series.from_csv('../datasets/champagne.csv', index_col = 0, header = 0)
>>> model = AR_Lasso(p = 3)
>>> model = model.fit(ts)
>>> fitted_model = model.predict(ts)
>>> prediction = model.forecast(ts, periods = 2)
>>> prediction
1972-10-01    6056.234513
1972-11-01    5514.641777
dtype: float64

AR model using SciKit’s Elastic Net linear model:

>>> ts = pandas.Series.from_csv('../datasets/champagne.csv', index_col = 0, header = 0)
>>> model = AR_ElasticNet(p = 3)
>>> model = model.fit(ts)
>>> fitted_model = model.predict(ts)
>>> prediction = model.forecast(ts, periods = 2)
>>> prediction
1972-10-01    6056.233741
1972-11-01    5514.641325
dtype: float64       

Classes

class skfore.AR.AR(p=None, intercept=None, phi=None)[source]

Bases: skfore.base_model.base_model

Autoregressive model

Parameter optimization method: scipy’s minimization

Args:

p (int): order.

Returns:

AR model structure of order p.

fit(ts, error_function=None)[source]

Finds optimal parameters using a given optimization function

Args:

ts (pandas.Series): Time series to fit. error_function (function): Function to estimates error.

Return:

self

forecast(ts, periods, confidence_interval=None, iterations=300)[source]

Predicts future values in a given period

Args:

ts (pandas.Series): Time series to predict. periods (int): Number of periods ahead to predict.

Returns:

Time series of predicted values.

params2vector()[source]

Parameters to vector

Args:

None.

Returns:

Vector parameters of length p+1 to use in optimization.

predict(ts)[source]

Fits a time series using self model parameters

Args:

ts (pandas.Series): Time series to fit.

Returns:

Fitted time series.

vector2params(vector)[source]

Vector to parameters

Args:

vector (list): vector of length p+1 to convert into parameters of the model.

Returns:

self

class skfore.AR.AR_ElasticNet(p=None, intercept=None, phi=None, alpha=1.0, copy_X=True, fit_intercept=True, l1_ratio=0.5, max_iter=1000, normalize=False, positive=False, precompute=False, random_state=0, selection='cyclic', tol=0.0001, warm_start=False)[source]

Bases: skfore.AR.AR

Parameter optimization method: SciKit’s Elastic Net linear model

fit(ts)[source]

Finds optimal parameters using a given optimization function

Args:

ts (pandas.Series): Time series to fit. error_function (function): Function to estimates error.

Return:

self

class skfore.AR.AR_Lasso(p=None, intercept=None, phi=None, alpha=0.1, copy_X=True, fit_intercept=True, max_iter=1000, normalize=False, positive=False, precompute=False, random_state=None, selection='cyclic', tol=0.0001, warm_start=False)[source]

Bases: skfore.AR.AR

Parameter optimization method: SciKit’s Lasso linear model

fit(ts)[source]

Finds optimal parameters using a given optimization function

Args:

ts (pandas.Series): Time series to fit. error_function (function): Function to estimates error.

Return:

self

class skfore.AR.AR_Ridge(p=None, intercept=None, phi=None, alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None, normalize=False, random_state=None, solver='auto', tol=0.001)[source]

Bases: skfore.AR.AR

Parameter optimization method: SciKit’s Ridge linear model

fit(ts)[source]

Finds optimal parameters using a given optimization function

Args:

ts (pandas.Series): Time series to fit. error_function (function): Function to estimates error.

Return:

self