LinAlgError: Неподтвержденная ковариационная матрица ошибок прогноза, обнаруженная в периоде 0 - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь спрогнозировать финансовые коэффициенты компаний NASDAQ, используя statsmodels.tsa.statespace.sarimax.SARIMAX

. Для некоторых данных SARIMAX возвращает ошибку

LinAlgError: Non-positive-definite forecast error covariance matrix encountered at period 0


#Kd forecast

ps = range(0, 13)
ds = range(0, 3)
qs = range(0, 13)

parameters = product(ps, ds, qs)
parameters_list = list(parameters)
len(parameters_list)

results = []
best_aic = float("inf")
warnings.filterwarnings('ignore')

for param in parameters_list:
    try:
        model_Kd=sm.tsa.statespace.SARIMAX(stock1.Kd, order=(param[0], param[1], param[2]), seasonal_order=(0, 0, 0, 0)).fit(disp=-1)
    except ValueError:
        print('wrong parameters:', param)
        continue
    aic = model_Kd.aic
    #save best model, aic, parameters
    if abs(aic) < abs(best_aic):
        best_model_Kd = model_Kd
        best_aic = aic
        best_param = param
    results.append([param, model_Kd.aic])

warnings.filterwarnings('default')

result_table = pd.DataFrame(results)
result_table.columns = ['parameters', 'aic']
print(result_table.sort_values(by = 'aic', ascending=True).head())

. Для некоторых наборов данных я не могу применить SARIMAX из-заКовариационная матрица с неположительно определенной ошибкой прогноза.Я хотел бы понять, почему происходит ошибка и как с ней бороться.

Мой набор данных

0.14294117647058824
0.09346153846153847
0.10565217391304349
0.11619047619047619
0.1525
0.10708333333333332
0.2064
0.15636363636363637
0.14181818181818182
0.1688888888888889
0.1919191919191919
0.17721518987341772
0.3137254901960784
0.1978021978021978
0.17647058823529413
0.13333333333333333
0.5365853658536586
0.0782312925170068
0.08
0.08421052631578947
0.16049382716049382
0.29605263157894735
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
...