INPIXON

信心带

置信区间和置信带

基础知识

有时我们会被问及如何在SYSTAT 中获得线性模型的置信区间。 实际上,这并不难,在此,我们将回顾一下这一技巧。 不过,在此之前,让我们先回顾一下线性模型置信区间背后的基本思想。

首先,如果我们将 Y 与变量 X 进行线性回归,那么我们实际上是在说,对于给定的 X 值,Y 的值由 Y=aX+b+e 得出,其中 e 是 “噪声项”。

噪声项通常假定为正态分布,均值为 0,方差为 s^2。 真实数据集的诀窍在于估计 a 和 b,然后使用 s^2 的估计值对这些估计值进行推理。

但有时,我们希望找到在指定的 X 值下 Y 的均值的置信区间。

然而,在真实数据集中,我们永远不知道 a 和 b 的 “真实 “值,我们所知道的只是我们的估计值。 因此,我们应该找到一个区间,在这个区间内我们可以相对确信 Y 的真实平均值。

计算这个区间有一些非常杂乱的公式,但我们在此就不赘述了。 毕竟,计算机应该让计算变得简单。 因此,假设我们使用样本数据集 USSTATES.SYD,变量 CARDIO 和 CANCER 有 48 个有效案例。 使用统计> 回归> 线性对话框设置回归模型或发出命令:

回归
使用 usstates
保存回归/模型
模型 癌症=常量+心脏病
估算

然后,计算机将对模型进行估计,找出常量和 CARDIO 系数的估计值,并打印出方差分析表。

在这种情况下,它还将保存一个文件 REGRESS.SYD,其中包含模型的残差、基于模型 CARDIO 的 CANCER 估计值(名为 ESTIMATE 的变量)和一个名为 SEPRED 的神秘值。 我们将使用 SEPRED 来计算置信区间。

SEPRED 代表 “预测值的标准误差”。 该文件还将包含原始数据的值。 之所以保存这些信息,是因为我们在 SAVE 命令中添加了 MODEL 选项。

要计算 CANCER 预测值 95%置信区间的上下限,请使用数据> Transform> Let 对话框或进入 BASIC 模块并发出命令:
基础
使用回归
LET n=48
让 nvars=2
LET upper = estimate+TIF(.975,n-nvars)*sepred
LET lower = estimate-TIF(.975,n-nvars)*sepred
打印 上 下
运行

然后将打印出每个病例的 CANCER 估计值的置信上限和下限。 在上文中,TIF 代表 “反 t 分布”。

上述观点可以用几种不同的方式加以概括。 例如,如果您想为两个变量的回归求 Y 平均值的置信区间,只需在 REGRESS 的 MODEL 语句中添加这两个变量,并将 BASIC 模块中的 NVARS 从 2 改为 3 即可。 (注:N-NVARS 表示有效病例数减去模型中的变量数。 将 N 和 NVARS 设置为模型所需的正确案例数和变量数。

X 新值时 Y 平均值的置信区间

您可能希望找到在 X 变量的一个或多个新值下 Y 平均值的置信区间。 将新的 X 值放在文件末尾,并将相关的 Y 值设为零。 (您不必担心 Y 值的实际大小。这个 Y 值只是一个占位符,不会进入计算)。

接下来,在文件中添加一个名为 WT 的新变量。 保存文件后,使用数据> 频率对话框选择 WT 作为加权变量,或发出命令:

频率=WT

使用统计> 回归> 线性对话框或命令文件,再次估计回归模型,记住将结果保存到带有 MODEL 选项的数据文件中。 在这种情况下,FREQUENCY 命令非常有用;在计算回归时,权重为 1 的点使用一次,权重为 0 的点使用 0 次。

因此,将对已知 Y 值和 X 值的情况进行回归计算。 使用保存的结果文件,您可以使用上述计算方法,得出新案例中已知 X 值下未知 Y 的估计平均值的置信区间。

微妙之处

关于这种置信区间,有几个微妙之处值得注意。 首先,这是特定 X 值下 Y 平均值的区间,而不是回归线的置信区间或区间。 如果绘制置信度上限和下限,就会看到回归线周围有两条曲线。 回到使用 USSTATES.SYD 文件的原始示例,计算置信区间值并绘图:
开始
PLOT cancer*x(1) /SIZE=0 SMOOTH=LINEAR SHORT YMIN=100 YMAX=300 、
xmin=100 xmax=500 xlabel=’有氧运动’ color=blue
PLOT upper,lower*x(1) /SIZE=0 SMOOTH=SPLINE SHORT YMIN=100 YMAX=300、
xmin=100 xmax=500 ylabel=’ ‘ xlabel=’ ‘ color=red、
叠加
结束

(在保存估计模型的结果时,SYSTAT 将自变量重命名为 X(1)。 . . X(n),因此本例中 CARDIO 更名为 X(1))。

我们很容易认为,这些线条构成了整个线条的置信带。 事实并非如此。 问题在于,置信度上限和下限是通过每次使用一个点来计算的。 为了计算整条直线的置信区间,我们需要考虑到该直线的两个参数,即常数和 X 系数。 因此,整条直线的置信区间上限和下限分别为
基础
LET n=48
让 nvars=2
LET upperband = estimate+SQRT(2*FIF(.95,2,n-nvars))*sepred
LET lowerband = estimate+SQRT(2*FIF(.95,2,n-nvars))*sepred
打印上限 下限
运行

当您绘制 CANCER 估计值的置信区间和回归线的置信区间时,您会发现置信区间比置信区间宽:

开始
PLOT cancer*x(1) / SIZE=0 SMOOTH=LINEAR SHORT YMIN=100 YMAX=300 、
xmin=100 xmax=500 xlabel=’有氧运动’ color=blue
PLOT upper,lower*x(1) /SIZE=0 SMOOTH=SPLINE SHORT YMIN=100、
ymax=300 xmin=100 xmax=500 ylabel=’ ‘、
xlabel=’ ‘ color=red overlay
PLOT upperband,lowerband*x(1) /SIZE=0 SMOOTH=SPLINE SHORT、
ymin=100 ymax=300 xmin=100 xmax=500 ylabel=’ ‘、
xlabel=’ ‘ color=绿色叠加
结束

由于 CANCER(每 10 万人因癌症死亡的人数)和 CARDIO(每 10 万人因心血管疾病死亡的人数)之间是线性关系,因此 CANCER 估计值的置信区间与回归线的置信区间之间的差异很小,但即使是像这样表现良好的数据,差异也是显而易见的。

其次,95% 的观测结果都应在置信区间内,这种想法也很诱人。 事实也并非如此。 这些只是平均值的置信区间。 如果希望找到观测值的置信区间,则必须修改计算方法,如下所示。

基础
LET n=48
让 nvars=2
LET s_square=177.065
LET upperband = estimate+TIF(.975,n-nvars)*SQR(sepred^2+s_square)
LET lowerband = estimate-TIF(.975,n-nvars)*SQR(sepred^2+s_square)
打印上限 下限
运行

其中 S_SQUARE 是回归的均方残差。 这些区间有时被称为预测区间。 输入 N 和 NVARS 值时,也要输入 S_SQUARE 值,您可以在回归输出的方差分析表中找到该值。

现在,如果您想查看计算结果,请执行以下命令序列:

开始
PLOT cancer*x(1) /SMOOTH=LINEAR SHORT YMIN=100 YMAX=300 XMIN=100、
xmax=500 xlabel=’有氧运动’ color=blue
PLOT upperband,lowerband*x(1) / SIZE=0 SMOOTH=SPLINE SHORT、
ymin=100 ymax=300 xmin=100 xmax=500 ylabel=’ ‘、
xlabel=’ ‘ color=绿色叠加
结束

这将围绕数据绘制置信带或预测区间。

购物车
Scroll to Top