繁体   English   中英

围绕预测线 plot 绘制置信区间

[英]Plotting confidence interval around predicted line plot

我正在尝试围绕一条线 plot 的 plot 置信区间,类似于此: https://scikit-plot-learn.org/0.17/0_images1.png_gression_gre

我正在拟合一个高斯过程,并且在预测每个值时,它返回一个平均值和一个标准差(标准差)。 使用这个,我应该能够 plot 不同范围的置信区间。 就我而言,我试图将范围设置为 10%、20%、... 90%。

目前我正在做这样的事情

y_pred, std = reg.predict(x, return_std=True)

std_z = 1.96 # from z-table for 95%
confidence_interval = std * std_z

plt.plot(x, y_pred)    
plt.fill_between(x, y_pred - confidence_interval, y_pred + confidence_interval)

这样可行。 根据 z-table (http://www.z-table.com/uploads/2/1/7/9/21795380/8573955.png?759 ),可以看到 z 值为 1.96 表示 95% . 但是,以 25% 和 75% 为例。 这些 z 值将分别为 - 和 + 0.67,在绘图时它们只会在置信区间内重叠。 这在我看来直觉上是不正确的。 我预计较低的置信度范围会缩小,而增加的置信度范围会扩大,对吗?

任何帮助,将不胜感激。

错误的。 与置信区间相关的百分比(在您的示例中为 95%、75%、25%)是覆盖概率。 它们是您估计的数量的真实值(在这种情况下为预测值)位于 CI 内的机会。鉴于您正在谈论的 CI 是中心置信区间(也就是说,它们以预测值)按理说,要获得更高的置信度,您需要更宽的区间。 这正是您所看到的。 如果更窄的置信区间比更宽的置信区间具有更高的覆盖概率,那么这意味着存在一个区域以某种方式具有与其相关的负覆盖概率。 概率不能为负,所以这是不可能的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM