Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _check_exog(self, exogenous):
# if we fit with exog, make sure one was passed, or else fail out:
if self.fit_with_exog_:
if exogenous is None:
raise ValueError('When an ARIMA is fit with an exogenous '
'array, it must also be provided one for '
'predicting or updating observations.')
else:
return check_exog(
exogenous, force_all_finite=True, dtype=DTYPE)
return None
exogenous : array-like, shape=[n_obs, n_vars], optional (default=None)
An optional 2-d array of exogenous variables. If provided, these
variables are used as additional features in the regression
operation. This should not include a constant or trend. Note that
if an ``ARIMA`` is fit on exogenous features, it must be provided
exogenous features for making predictions.
**fit_args : dict or kwargs
Any keyword arguments to pass to the statsmodels ARIMA fit.
"""
y = check_endog(y, dtype=DTYPE)
n_samples = y.shape[0]
# if exog was included, check the array...
if exogenous is not None:
exogenous = check_exog(exogenous, force_all_finite=False,
copy=False, dtype=DTYPE)
# determine the CV args, if any
cv = self.out_of_sample_size
scoring = get_callable(self.scoring, VALID_SCORING)
# don't allow negative, don't allow > n_samples
cv = max(cv, 0)
# if cv is too big, raise
if cv >= n_samples:
raise ValueError("out-of-sample size must be less than number "
"of samples!")
# If we want to get a score on the out-of-sample, we need to trim
# down the size of our y vec for fitting. Addressed due to Issue #28
def _check_y_exog(y, exog):
"""Validate input"""
# Do not force finite, since a transformer's goal may be imputation.
if y is not None:
y = check_endog(y, dtype=DTYPE, copy=True, force_all_finite=False)
if exog is not None:
exog = check_exog(
exog, dtype=DTYPE, copy=True, force_all_finite=False)
return y, exog