置信区间与预测区间的区别

1,796 阅读3分钟

回归分析中经常使用的两类区间是置信区间预测区间

下面是这两种区间的区别。

置信区间表示基于一个或多个预测变量的特定值,可能包含某些响应变量的真实平均值的数值范围。

预测区间是指根据一个或多个预测变量的具体数值,对于一个新的观察,可能包含某些响应变量的真实数值的数值范围。

例如,假设我们拟合了一个简单的线性回归模型,用卧室的数量来预测房子的销售价格。

价格 = β0 + β1(卧室数量)

如果我们想估计有三个卧室的房子的平均售价,我们会使用一个置信区间。

然而,如果我们想估计刚上市的有三个卧室的特定新房的售价,我们会使用预测区间。

注意:由于预测区间试图为一个特定的新观察点创建一个区间,我们的估计有更多的不确定性,因此预测区间总是比置信区间宽。

信心区间与预测区间。公式中的差异

我们用以下公式来计算置信区间

ŷ0 +/- tα/2,n-2*Syx√((x0 - x̄)2/SSx+ 1/n)

我们用下面的公式来计算预测区间

ŷ0 +/- tα/2,n-2*Syx√((x0 - x̄)2/SSx+ 1/n+1)

其中。

  • ŷ0:响应变量的估计均值
  • tα/2,n-2:自由度为n-2的t临界值
  • Syx: 响应变量的标准误差
  • x0:预测变量的具体数值
  • :预测变量的均值
  • SSx。预测变量的方差之和
  • n:总样本量

请注意,预测区间的公式在平方根部分包含一个额外的1,这意味着标准误差总是比置信区间大。

因此,预测区间总是比置信区间宽

例子:解释置信区间与预测区间

假设我们有以下数据集,它显示了一个特定社区的20套房子的卧室数量和销售价格。

现在,假设我们在R中为这个数据集拟合一个简单的线性回归模型:

#define data
df <- data.frame(beds=c(1, 1, 1, 2, 2, 2, 2, 3, 3, 3,
                        3, 3, 3, 3, 4, 4, 4, 5, 5, 6),
                 price=c(120, 133, 139, 185, 148, 160, 192, 205, 244, 213,
                         236, 280, 275, 273, 312, 311, 304, 415, 396, 488))

#fit simple linear regression model
model <- lm(price~beds, data=df)

#view model fit
summary(model)

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   39.450     13.248   2.978  0.00807 ** 
beds          70.667      4.031  17.529 9.26e-13 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 24.19 on 18 degrees of freedom
Multiple R-squared:  0.9447,	Adjusted R-squared:  0.9416 
F-statistic: 307.3 on 1 and 18 DF,  p-value: 9.257e-13

拟合的回归模型结果是。

销售价格(千)=39.450+70.667(卧室数量)

我们可以用下面的代码来计算有三间卧室的房屋平均售价的置信区间:

#define new house
new <- data.frame(beds=c(3))

#confidence interval for mean selling price of house with 3 bedrooms
predict(model, newdata = new, interval = "confidence")

     fit     lwr     upr
1 251.45 240.087 262.813

有三间卧室的房子的平均售价的95%置信区间是[240k,240k, 262k]。

然后我们可以用下面的代码来计算刚上市的有三个卧室的新房子的售价的预测区间:

#define new house
new <- data.frame(beds=c(3))

#confidence interval for mean selling price of house with 3 bedrooms
predict(model, newdata = new, interval = "prediction")

     fit      lwr      upr
1 251.45 199.3783 303.5217

有三间卧室的新房的95%的预测区间是[199k,199k, 303k]。

请注意,预测区间比置信区间宽得多,因为相对于所有有三间卧室的房子的平均售价而言,单个新房子的售价存在更多的不确定性。

其他资源

以下教程提供了有关置信区间的额外信息:

下面的教程提供了关于预测区间的更多信息: