Доверительные интервалы для прогнозирования модели

Я следую вместе с учебником statsmodels

Модель OLS оснащена

formula = 'S ~ C(E) + C(M) + X' 
lm = ols(formula, salary_table).fit()
print lm.summary()

Прогнозируемые значения предоставляются через:

lm.predict({'X' : [12], 'M' : [1], 'E' : [2]})

Результат возвращается в виде массива с одним значением.

Есть ли способ также вернуть доверительные интервалы для прогнозируемого значения (интервалы прогнозирования) в statsmodels?

Благодарю.

2 ответа

Решение

Мы стремились сделать это проще. Вы должны быть в состоянии использовать

from statsmodels.sandbox.regression.predstd import wls_prediction_std
prstd, iv_l, iv_u = wls_prediction_std(results)

Если у вас есть какие-либо проблемы, пожалуйста, напишите проблему на github.

Кроме того, вы можете попробовать использовать метод get_prediction.

values_to_predict = pd.DataFrame({'X' : [12], 'M' : [1], 'E' : [2]})
predictions = result.get_prediction(values_to_predict)
predictions.summary_frame(alpha=0.05)

Я нашел метод summary_frame(), похороненный здесь, и вы можете найти метод get_prediction() здесь. Вы можете изменить уровень значимости доверительного интервала и интервала прогнозирования, изменив параметр "альфа".

Другие вопросы по тегам