当你有一组数据,你想知道一些因变量(x)和自变量(y)的关系时,就需要建模,这个建模即为建立回归方程。
回归方程最常见最简单的就是一元回归,y=βx+b,其中β是系数,b是常数项。β也等于相关性系数。
回归的拟合,也就是寻找一个最优β,使得误差平方和最小。
一元总是最简单的,而实际应用则更为复杂。一般在医学里,我们不知道Y与哪些X有关系,我们都会纳入多个变量来进行临床建模和统计分析,也就是多元(线性)回归分析,这需要对回归方程理解更为深刻。
对于一般回归方程,
y
=
β
0
+
β
1
x
+
β
2
x
+
.
.
.
β
p
x
+
ϵ
y=\beta_0+\beta_1x+\beta_2x+...\beta_px+\epsilon
y=β0+β1x+β2x+...βpx+ϵ,使用最小二乘法对其进行拟合。所谓的拟合,就是在高维平面,找一条线,来让其尽量通过收集到的这些观测值x。我们理想中认为会有一条线能通过所有x,即最优解,完美解释了Y和X的关系。然而事实上是,绝大部分情况,我们没办法得到这个最优解,只能得到次优。正如在机器学习中,不可能在测试集和验证集都达到100%准确率,除非是发生了验证集的数据泄露。寻找最优解的拟合,就是不断的求其偏导数。
以上是比较深入的解释,对于医学生而言,不需要知道这些先备知识,了解即可。
在回归方程中,如下公式所示:
y
=
β
0
+
β
1
x
+
β
2
x
+
.
.
.
β
p
x
+
ϵ
→
y
=
β
x
+
ϵ
y=\beta_0+\beta_1x+\beta_2x+...\beta_px+\epsilon \rightarrow y=\beta x+\epsilon
y=β0+β1x+β2x+...βpx+ϵ→y=βx+ϵ
左边是展开的原始数据模式,右边是简化成公式模式。首先假设用
S
S
r
e
s
SS_{res}
SSres代表其残差平方和。所谓残差平方和,就是每一个Y减去其X的差值平方,即
(
y
1
−
x
1
)
2
+
(
y
2
−
x
2
)
2
.
.
.
(y_1-x_1)^2+(y_2-x_2)^2...
(y1−x1)2+(y2−x2)2...,残差其实就是x到y的差距。这是无任何约束的回归方程。现在我们想要要建立一个符合正态分布的回归方程,并且知道这个方程是否显著,(需要注意的是,现实中没有绝对符合正态分布的数据,但是可以是近似当成正态分布,在学术界而言,一般数据能通过shapiro test就可以默认它是正态分布或近似正态分布)。那么来说,首先建立H0假设,即
H
0
:
β
=
b
H_0: \beta = b
H0:β=b需要注意,这里的
β
\beta
β是由
β
1
+
β
2
+
.
.
.
β
p
\beta_1+\beta_2+...\beta_p
β1+β2+...βp组成的一维矩阵向量,就是每个变量x的回归系数,只不过为了方便简化成这样。这个假设的意思就是说,
β
x
\beta x
βx是一个常数项,没有意义,如果我们不拒绝H0,那么就说明我们建模失败。
现在H0假设有了,开始计算验证。由于我们增加了正态分布这个约束条件,因此该模型整体的
β
\beta
β取值范围是变小了,导致残差平方和变大,设这个正态分布回归方程的残差平方和为
S
S
r
e
s
H
SS^H_{res}
SSresH,那么按理说
S
S
r
e
s
H
SS^H_{res}
SSresH要大于等于
S
S
r
e
s
SS_{res}
SSres。因此,只要它是大于等于,我们就没办法拒绝H0,就接受H0,即这个方程的变量x和Y没有关系,建模失败。如果它是小于,并且其效应值达到了拒绝的水平,那么就拒绝H0接受H1,即该模型有意义。
当然,考虑到
S
S
r
e
s
SS_{res}
SSres和
S
S
r
e
s
H
SS^H_{res}
SSresH是带有单位的,为了消除单位,就需要用比值比来表示,即
(
S
S
r
e
s
H
−
S
S
r
e
s
)
/
S
S
r
e
s
(SS^H_{res} - SS_{res}) / SS_{res}
(SSresH−SSres)/SSres,这个差值比就是该方程的效应量。然后进一步把自由度考虑进去,对效应量进行缩放以后,去和F检验的临界表进行对比,那么就可以得到显著性P值了。
(后续慢慢补充具体步骤)