![](/img/trans.png)
[英]How to use predicted values as “X” to predict “y” and plot with confidence interval
[英]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.