簡體   English   中英

線性回歸 (OLS):使用 Statsmodel summary_Frame() 未准確計算置信區間

[英]Linear Regression (OLS): Confidence Intervals are not being calculated accurately using Statsmodel summary_Frame()

不正確的置信區間

我想從 python 中的 OLS model 計算我的預測值的置信區間。 我在 statmodel 中找到了一個 function,它可以幫助您創建每個預測值的 dataframe,使用 get_prediction() 和 summary_frame() 的預測值、CI 的上限和下限。

不幸的是,我的上下 CI 與結果不匹配。 請找到我的代碼和結果截圖的附加截圖

第 1 行,例如: Forecasted Value - 11.788462, SE - 0.580693, for 95% CI

Lower Bound should be = 11.788462 - (1.96 * 0.580693) = 10.65030372

Upper Bound should be = 11.788462 + (1.96 * 0.580693) = 12.92662028

但是屏幕截圖中的結果與這些數字不匹配。 我不確定我是否做錯了什么。 任何幫助表示贊賞。

statsmodels 默認使用 t 分布在 OLS 等線性回歸模型中進行推理。

由於樣本量非常小和自由度低,t 分布的臨界值與正態分布的臨界值在可觀察到的量級上有所不同。

下面將 1.96 的臨界值替換為 df=5 的 t 分布的臨界值。 這些值與問題中附加的屏幕截圖中的 statsmodels 結果相匹配。

from scipy import stats

11.788462 + stats.t.ppf(0.025, 5) * 0.580693
Out[12]: 10.295743121550677

11.788462 + stats.t.isf(0.025, 5) * 0.580693
Out[13]: 13.281180878449325

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM