模型参数的组合如何比每个单独的系数具有更低的标准误差?

机器算法验证 回归 模型比较
2022-03-23 06:00:24

我正在研究血液标志物和基因之间的潜在相互作用。为此,我建立了一个带有两个二元预测变量和一个交互项的 cox 模型。

我想以图形方式显示(在森林图中)标记定义的两个亚组中基因型的影响。Markerlow 组中基因型的影响是基因型 ( ) 的总体影响及其与基因型 ( genegenotype2) 相互作用的总和markerlow:genegenotype2

我想获得这种组合效应及其置信区间。

我的拟合模型给出的结果如下:

> model <- coxph(Surv(entry, exit, status) ~ marker * gene, data)
> print(summary(model)$coefficients, digits = 3)

                            coef exp(coef) se(coef)       z Pr(>|z|)
markerlow                1.53539     4.643    0.308  4.9830 6.26e-07
genegenotype2            0.00249     1.002    0.194  0.0128 9.90e-01
markerlow:genegenotype2 -0.93767     0.392    0.490 -1.9152 5.55e-02

到目前为止,我已经为此使用了 R 包multcomp( glhtfunction) 和car( linearHypothesisfunction)。然而,结果令我惊讶:

> summary(glht(model, linfct = "genegenotype2 + markerlow:genegenotype2 = 0"))

     Simultaneous Tests for General Linear Hypotheses

Fit: coxph(formula = Surv(entry, exit, status) ~ marker * gene, data = altdat)

Linear Hypotheses:
                                             Estimate Std. Error z value Pr(>|z|)  
genegenotype2 + markerlow:genegenotype2 == 0  -0.9352     0.4496   -2.08   0.0375 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)

虽然组合效应大小似乎只是单个效应大小的总和,但标准误差低于将单个参数组合得到的标准误差(0.526,通过取其平方和的平方根),并且相应地,z 值更极端,P 值更低。

怎么会这样?

1个回答

表示b^1,b^2两个估计系数/估计函数。这些是随机变量,并且已经使用相同的数据(随机变量的相同实现)进行了估计。所以很自然,他们不是独立的。除了完全非线性相关的极端情况外,这意味着它们的协方差不会为零。

现在定义它们的总和,这是另一个随机变量,比如说,

bs=b^1+b^2
的方差bs

Var(bs)=Var(b^1+b^2)=Var(b^1)+Var(b^2)+2Cov(b^1,b^2)

如果Cov(b^1,b^2)那么是负数Var(bs)<Var(b^1)+Var(b^2).

我留给你思考这个数学结果背后的直觉。