Странная ошибка модели SARIMAX в Databricks - PullRequest
0 голосов
/ 04 августа 2020

Я запускаю оптимизацию поиска по сетке в блокноте Databricks, тот же код работает на моем локальном компьютере, но когда я пытаюсь запустить Databricks, я получаю TypeError следующим образом: процесс, который я запускаю, таков (обратите внимание, что он определил значения p, d, q, P, D, Q, m, поскольку мне нужно проверить, почему ни одна модель не установлена):

exodus_train = np.array(np.random.normal(2,1, size=(25,1)))
model = sm.tsa.statespace.SARIMAX(train,
                            order=[2,0,0],
                            exog=exodus_train,
                            seasonal_order=[2,0,0,12],
                            enforce_stationarity=False,
                            enforce_invertibility=False).fit()

Чем это вызвать TypeError:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<command-1275539631463044> in <module>
      4                                 seasonal_order=[2,0,0,12],
      5                                 enforce_stationarity=False,
----> 6                                 enforce_invertibility=False).fit()

/databricks/python/lib/python3.7/site-packages/statsmodels/tsa/statespace/mlemodel.py in fit(self, start_params, transformed, cov_type, cov_kwds, method, maxiter, full_output, disp, callback, return_params, optim_score, optim_complex_step, optim_hessian, flags, **kwargs)
    430         """
    431         if start_params is None:
--> 432             start_params = self.start_params
    433             transformed = True
    434 

/databricks/python/lib/python3.7/site-packages/statsmodels/tsa/statespace/sarimax.py in start_params(self)
    966         # Although the Kalman filter can deal with missing values in endog,
    967         # conditional sum of squares cannot
--> 968         if np.any(np.isnan(endog)):
    969             mask = ~np.isnan(endog).squeeze()
    970             endog = endog[mask]

TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''  ```

1 Ответ

0 голосов
/ 04 августа 2020

В случае, если это произойдет с кем-то еще, это произойдет, если значение вашего временного ряда содержит запятые в качестве десятичного разделителя или если ваш столбец не является плавающим.

...