statsmodels.tsa.arima_model.ARIMA.fit¶
-
ARIMA.
fit
(start_params=None, trend='c', method='css-mle', transparams=True, solver='lbfgs', maxiter=500, full_output=1, disp=5, callback=None, start_ar_lags=None, **kwargs)[source]¶ Fits ARIMA(p,d,q) model by exact maximum likelihood via Kalman filter.
- Parameters
- start_paramsarray_like,
optional
Starting parameters for ARMA(p,q). If None, the default is given by ARMA._fit_start_params. See there for more information.
- transparamsbool,
optional
Whether or not to transform the parameters to ensure stationarity. Uses the transformation suggested in Jones (1980). If False, no checking for stationarity or invertibility is done.
- method
str
{‘css-mle’,’mle’,’css’} This is the loglikelihood to maximize. If “css-mle”, the conditional sum of squares likelihood is maximized and its values are used as starting values for the computation of the exact likelihood via the Kalman filter. If “mle”, the exact likelihood is maximized via the Kalman Filter. If “css” the conditional sum of squares likelihood is maximized. All three methods use start_params as starting parameters. See above for more information.
- trend
str
{‘c’,’nc’} Whether to include a constant or not. ‘c’ includes constant, ‘nc’ no constant.
- solver
str
orNone
,optional
Solver to be used. The default is ‘lbfgs’ (limited memory Broyden-Fletcher-Goldfarb-Shanno). Other choices are ‘bfgs’, ‘newton’ (Newton-Raphson), ‘nm’ (Nelder-Mead), ‘cg’ - (conjugate gradient), ‘ncg’ (non-conjugate gradient), and ‘powell’. By default, the limited memory BFGS uses m=12 to approximate the Hessian, projected gradient tolerance of 1e-8 and factr = 1e2. You can change these by using kwargs.
- maxiter
int
,optional
The maximum number of function evaluations. Default is 500.
- tol
float
The convergence tolerance. Default is 1e-08.
- full_outputbool,
optional
If True, all output from solver will be available in the Results object’s mle_retvals attribute. Output is dependent on the solver. See Notes for more information.
- disp
int
,optional
If True, convergence information is printed. For the default l_bfgs_b solver, disp controls the frequency of the output during the iterations. disp < 0 means no output in this case.
- callback
function
,optional
Called after each iteration as callback(xk) where xk is the current parameter vector.
- start_ar_lags
int
,optional
Parameter for fitting start_params. When fitting start_params, residuals are obtained from an AR fit, then an ARMA(p,q) model is fit via OLS using these residuals. If start_ar_lags is None, fit an AR process according to best BIC. If start_ar_lags is not None, fits an AR process with a lag length equal to start_ar_lags. See ARMA._fit_start_params_hr for more information.
- **kwargs
See Notes for keyword arguments that can be passed to fit.
- start_paramsarray_like,
- Returns
- statsmodels.tsa.arima.ARIMAResults
class
- statsmodels.tsa.arima.ARIMAResults
See also
statsmodels.base.model.LikelihoodModel.fit
for more information on using the solvers.
ARIMAResults
results class returned by fit
Notes
If fit by ‘mle’, it is assumed for the Kalman Filter that the initial unknown state is zero, and that the initial variance is P = dot(inv(identity(m**2)-kron(T,T)),dot(R,R.T).ravel(‘F’)).reshape(r, r, order = ‘F’)