MA Model

Overview

This module contains MA 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

MA model using SciPy’s minimization:

>>> ts = pandas.Series.from_csv('../datasets/champagne.csv', index_col = 0, header = 0)
>>> model = MA(q = 3)
>>> model
MA(q = 3, intercept = None, theta = None)
>>> model = model.fit(ts)
>>> model
MA(q = 3, intercept = 0.7576070305877793, theta = [0.47415837 0.96800789 0.50682355])
>>> prediction = model.forecast(ts, periods = 3)
>>> prediction
            ci_inf  ci_sup       series
1972-10-01     NaN     NaN  3644.781559
1972-11-01     NaN     NaN  4762.075950
1972-12-01     NaN     NaN  4204.870830
>>> prediction = model.forecast(ts, periods = 3, confidence_interval = 0.95)
>>> prediction
                 ci_inf       ci_sup       series
1972-10-01  -254.905599  6322.683321  3645.819521
1972-11-01   464.706361  7951.797533  4762.630139
1972-12-01 -1114.609601  8133.907219  4205.907253
>>> model.plot(ts, periods = 3, confidence_interval = 0.95)
MA 3
class skfore.MA.MA(q=None, intercept=None, theta=None)[source]

Bases: skfore.base_model.base_model

Moving-average model

Parameter optimization method: scipy’s minimization

Args:

q (int): order.

Returns:

MA model structure of order q.

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 q+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 q+1 to convert into parameters of the model.

Returns:

self

class skfore.MA.MA_ElasticNet(q=None, intercept=None, theta=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.MA.MA

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.MA.MA_Lasso(q=None, intercept=None, theta=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.MA.MA

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.MA.MA_Ridge(q=None, intercept=None, theta=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.MA.MA

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