前言
一直仅关注于正态分布,最近看文献,持续看到Generalized Linear Models,其中的定义,看了觉得有些生疏,于是找几篇文献读读,将这些知识串起来。前面,有一篇文章写过普通最小二乘法的方差估计。最终,我想搞明白GLM是如何估计参数的方差的 |
Generalized Linear Models
GLM是对线性模型的一种抽象,将正态,二项,泊松等分布结合到一个模型。具体操作的步骤,按照各模型对应的密度函数,计算最大似然函数,然后求模型最优解
定义
GLM
π
(
z
;
θ
,
ϕ
)
=
exp
[
α
(
ϕ
)
{
z
θ
−
g
(
θ
)
+
h
(
z
)
}
+
β
(
ϕ
,
z
)
]
\pi(z ; \theta, \phi)=\exp [\alpha(\phi)\{z \theta-g(\theta)+h(z)\}+\beta(\phi, z)]
π(z;θ,ϕ)=exp[α(ϕ){zθ−g(θ)+h(z)}+β(ϕ,z)]
公式摘自参考文献2, 果然是大牛写的,完全没考虑菜鸟的感受。
上述公式多种不同的分布提供了一个统一的描述概率密度函数的框架, 尽管是年代久远的文献,还是得佩服老外的抽象能力。
上述公式除了
θ
\theta
θ,其余项目属于已知
Fisher Information
主要用来收集样本中携带的信息,构建Fisher Information,用来估计参数的方差。 |
基本原理
假设有似然函数
L
(
X
;
θ
)
=
log
(
∏
i
=
1
n
f
(
x
i
;
θ
)
)
=
log
(
∏
i
=
1
n
p
(
x
i
;
θ
)
)
L(\mathbf{X} ; \theta)=\log(\prod_{i=1}^{n} f\left(x_{i} ; \theta\right))=\log(\prod_{i=1}^{n} p\left(x_{i} ; \theta\right))
L(X;θ)=log(i=1∏nf(xi;θ))=log(i=1∏np(xi;θ))
log likelihood的一阶导数(Score function)
S
(
X
;
θ
)
=
∑
i
=
1
n
∂
log
f
(
x
i
;
θ
)
∂
θ
=
∑
i
=
1
n
f
(
x
i
;
θ
)
−
1
∂
f
(
x
i
;
θ
)
∂
θ
S(\mathbf{X} ; \theta)=\sum_{i=1}^{n} \frac{\partial \log f\left(x_{i} ; \theta\right)}{\partial \theta}=\sum_{i=1}^{n} f(x_{i}; \theta) ^{-1} \frac{\partial f\left(x_{i} ; \theta\right)}{\partial \theta}
S(X;θ)=i=1∑n∂θ∂logf(xi;θ)=i=1∑nf(xi;θ)−1∂θ∂f(xi;θ)
下图是一个伯努利分布的最大似然函数的曲线图,摘自参考文献4,这个图给了我们两个重要的启示。那就是我们估计参数到底准确程度如何,也就是
V
a
r
(
θ
^
)
\bf Var(\hat{\theta})
Var(θ^)。这个峰越高越窄,说明估计的越准确,方差越小。反之表明,估计的越不准确。还有,在一阶导为0的位置,就是我们所求的参数估计值。如果
θ
=
[
θ
1
,
…
,
θ
n
]
\boldsymbol \theta=[\theta_1,\dots,\theta_n]
θ=[θ1,…,θn]是向量,则下方就不再是曲线图,而是超平面图了。
S
(
X
;
θ
)
S(\mathbf{X} ; \theta)
S(X;θ)也变成了了似然函数的偏导
“显然”的两个结论证明
对似然函数得到两个“显然”的结论:
E
(
∂
L
/
∂
θ
)
=
0
E
(
∂
2
L
/
∂
θ
2
)
=
−
E
(
∂
L
/
∂
θ
)
2
E(\partial L / \partial \theta)=0 \\ E\left(\partial^{2} L / \partial \theta^{2}\right)=-E(\partial L / \partial \theta)^{2}
E(∂L/∂θ)=0E(∂2L/∂θ2)=−E(∂L/∂θ)2
简单地证明一下这个显然的过程:
结论一:
E
(
∂
L
/
∂
θ
)
=
∫
f
(
x
;
θ
)
f
(
x
;
θ
)
−
1
∂
f
(
x
;
θ
)
∂
θ
d
x
=
∂
(
∫
f
(
x
;
θ
)
d
x
=
∂
(
1
)
=
0
E(\partial L / \partial \theta)=\int { f(x; \theta) f(x; \theta) ^{-1} \frac{\partial f\left(x ; \theta\right)}{\partial \theta}} dx\\ =\partial(\int f\left(x ; \theta\right)d x =\partial(1)=0
E(∂L/∂θ)=∫f(x;θ)f(x;θ)−1∂θ∂f(x;θ)dx=∂(∫f(x;θ)dx=∂(1)=0
上述用了一个小技巧,就是微分导数互换,后面还要用到。这个性质的含义是对于给定的任意
θ
\theta
θ,它的Score function期望值总是0。
结论二:
Fisher Information,表示为矩阵
I
(
θ
)
\mathcal{I}(\theta)
I(θ)
I
(
θ
)
=
E
[
(
∂
∂
θ
log
f
(
X
;
θ
)
)
2
∣
θ
]
=
∫
(
∂
∂
θ
log
f
(
x
;
θ
)
)
2
f
(
x
;
θ
)
d
x
\mathcal{I}(\theta)=\mathrm{E}\left[\left(\frac{\partial}{\partial \theta} \log f(X ; \theta)\right)^{2} | \theta\right]=\int\left(\frac{\partial}{\partial \theta} \log f(x ; \theta)\right)^{2} f(x ; \theta) d x
I(θ)=E[(∂θ∂logf(X;θ))2∣θ]=∫(∂θ∂logf(x;θ))2f(x;θ)dx
在
log
f
(
X
;
θ
)
\log f(X ; \theta)
logf(X;θ)存在二阶导的情况有
I
(
θ
)
=
−
E
[
∂
2
∂
θ
2
log
f
(
X
;
θ
)
∣
θ
]
\mathcal{I}(\theta)=-\mathrm{E}\left[\frac{\partial^{2}}{\partial \theta^{2}} \log f(X ; \theta) | \theta\right]
I(θ)=−E[∂θ2∂2logf(X;θ)∣θ]
这是因为
∂
2
∂
θ
2
log
f
(
X
;
θ
)
=
∂
2
∂
θ
2
f
(
X
;
θ
)
f
(
X
;
θ
)
−
(
∂
∂
θ
f
(
X
;
θ
)
f
(
X
;
θ
)
)
2
=
∂
2
∂
θ
2
f
(
X
;
θ
)
f
(
X
;
θ
)
−
(
∂
∂
θ
log
f
(
X
;
θ
)
)
2
\frac{\partial^{2}}{\partial \theta^{2}} \log f(X ; \theta)=\frac{\frac{\partial^{2}}{\partial \theta^{2}} f(X ; \theta)}{f(X ; \theta)}-\left(\frac{\frac{\partial}{\partial \theta} f(X ; \theta)}{f(X ; \theta)}\right)^{2}=\\\frac{\frac{\partial^{2}}{\partial \theta^{2}} f(X ; \theta)}{f(X ; \theta)}-\left(\frac{\partial}{\partial \theta} \log f(X ; \theta)\right)^{2}
∂θ2∂2logf(X;θ)=f(X;θ)∂θ2∂2f(X;θ)−(f(X;θ)∂θ∂f(X;θ))2=f(X;θ)∂θ2∂2f(X;θ)−(∂θ∂logf(X;θ))2
利用上式积分和微分互换,很容易得到上式第一项的期望为0,证明成立
由于
E
[
S
(
X
;
θ
)
]
=
0
E\left[S(X ; \theta)\right]=0
E[S(X;θ)]=0,根据方差,期望之间的公式,很容易得到
I
(
θ
)
=
E
[
S
(
X
;
θ
)
2
]
−
E
[
S
(
X
;
θ
)
]
2
=
Var
[
S
(
X
;
θ
)
]
\mathcal{I}(\theta)=E\left[S(X ; \theta)^{2}\right]-E[S(X ; \theta)]^{2}=\operatorname{Var}[S(X ; \theta)]
I(θ)=E[S(X;θ)2]−E[S(X;θ)]2=Var[S(X;θ)]
因此,
I
(
θ
)
\mathcal{I}(\theta)
I(θ)直接提供了
S
(
X
;
θ
)
S(X ; \theta)
S(X;θ)的方差估计,而该变量直接指明了
θ
\theta
θ的位置。
数学意义
- 来估计MLE的方程的方差
- log likelihood在参数真实值处的负二阶导数的期望
- Var ( θ ^ M L E ) = I − 1 ( θ ) \operatorname{Var}\left(\hat{\theta}_{M L E}\right)=I^{-1}(\theta) Var(θ^MLE)=I−1(θ)
来源参考4,好像1和3是一回事情
方差估计举例
多元线性模型
Y
=
X
B
+
U
U
∼
N
(
0
,
σ
2
)
Y=X B+U \quad U \sim N\left(0, \sigma^{2}\right)
Y=XB+UU∼N(0,σ2)
U的密度函数
f
(
U
)
=
1
(
2
π
σ
2
)
n
/
2
e
−
1
/
/
2
σ
2
(
U
′
U
)
f(U)=\frac{1}{\left(2 \pi \sigma^{2}\right)^{n / 2}} e^{-1 / / 2 \sigma^{2}\left(U^{'} U\right)}
f(U)=(2πσ2)n/21e−1//2σ2(U′U)
似然函数为
l
=
ln
f
(
Y
∣
X
)
=
ln
(
f
(
U
)
)
=
−
n
2
ln
2
π
−
n
2
ln
σ
2
−
1
2
σ
2
U
′
U
=
−
n
2
ln
2
π
−
2
n
ln
σ
2
−
1
2
σ
2
(
Y
−
X
B
)
′
(
Y
−
X
B
)
l=\ln f(Y | X)=\ln (f(U))=-\frac{n}{2} \ln 2 \pi-\frac{n}{2} \ln \sigma^{2}-\frac{1}{2 \sigma^{2}} U^{\prime} U \\ =-\frac{n}{2} \ln 2 \pi-_{2}^{n} \ln \sigma^{2}-\frac{1}{2 \sigma^{2}}(Y-X B)^{\prime}(Y-X B)
l=lnf(Y∣X)=ln(f(U))=−2nln2π−2nlnσ2−2σ21U′U=−2nln2π−2nlnσ2−2σ21(Y−XB)′(Y−XB)
对
B
,
σ
2
B, \sigma^{2}
B,σ2 分别求导
∂
l
∂
B
=
−
1
2
σ
2
(
−
X
′
Y
+
X
′
X
B
)
∂
l
∂
σ
2
=
−
n
2
σ
2
+
1
2
σ
4
(
Y
−
X
B
)
′
(
Y
−
X
B
)
{\frac{\partial l}{\partial B}=-\frac{1}{2 \sigma^{2}}\left(-X^{\prime} Y+X^{\prime} X B\right)} \\ {\frac{\partial l}{\partial \sigma^{2}}=-\frac{n}{2 \sigma^{2}}+\frac{1}{2 \sigma^{4}}(Y-X B)^{\prime}(Y-X B)}
∂B∂l=−2σ21(−X′Y+X′XB)∂σ2∂l=−2σ2n+2σ41(Y−XB)′(Y−XB)
得到了最大似然估计值
B
^
=
(
X
′
X
)
−
1
X
T
Y
σ
2
=
(
Y
−
X
B
^
)
′
(
Y
−
X
B
)
n
\hat{B}=\left(X^{\prime} X\right)^{-1} X^TY\\ \sigma^{2}=\frac{(Y-X \hat{B})^{\prime}(Y-X B)}{n}
B^=(X′X)−1XTYσ2=n(Y−XB^)′(Y−XB)
前者为无偏估量,后者不是
计算信息矩阵
I
(
θ
)
=
I
(
B
σ
2
)
=
−
E
(
∂
2
l
∂
B
∂
σ
2
)
=
−
E
(
∂
2
l
∂
B
∂
B
′
∂
2
l
∂
B
∂
σ
2
∂
2
l
∂
σ
2
∂
B
∂
2
l
∂
(
σ
2
)
2
)
=
−
E
(
−
X
′
X
σ
2
−
X
′
U
σ
4
−
X
′
U
σ
4
n
2
σ
4
−
U
′
U
σ
6
)
=
(
1
σ
2
(
X
′
X
)
0
0
n
2
σ
4
)
I(\theta)=I\left(\begin{array}{l}{B} \\ {\sigma^{2}}\end{array}\right)=-E\left(\frac{\partial^{2} l}{\partial B \partial \sigma^{2}}\right)\\ =-E\left(\begin{array}{cc}{\frac{\partial^{2} l}{\partial B \partial B^{\prime}}} & {\frac{\partial^{2} l}{\partial B \partial \sigma^{2}}} \\ {\frac{\partial^{2} l}{\partial \sigma^{2} \partial B}} & {\frac{\partial^{2} l}{\partial\left(\sigma^{2}\right)^{2}}}\end{array}\right)=-E\left(\begin{array}{cc}{-\frac{X^{\prime} X}{\sigma^{2}}} & {-\frac{X^{\prime} U}{\sigma^{4}}} \\ {-\frac{X^{\prime} U}{\sigma^{4}}} & {\frac{n}{2 \sigma^{4}}-\frac{U^{\prime} U}{\sigma^{6}}}\end{array}\right)\\ =\left(\begin{array}{cc}{\frac{1}{\sigma^{2}}\left(X^{\prime} X\right)} & {0} \\ {0} & {\frac{n}{2 \sigma^{4}}}\end{array}\right)
I(θ)=I(Bσ2)=−E(∂B∂σ2∂2l)=−E(∂B∂B′∂2l∂σ2∂B∂2l∂B∂σ2∂2l∂(σ2)2∂2l)=−E(−σ2X′X−σ4X′U−σ4X′U2σ4n−σ6U′U)=(σ21(X′X)002σ4n)
求逆得到
I
−
1
(
θ
)
=
(
σ
2
(
X
′
X
)
−
1
0
0
2
σ
4
n
)
I^{-1}(\theta)=\left(\begin{array}{cc}{ {\sigma^{2}}\left(X^{\prime} X\right)^{-1}} & {0} \\ {0} & {\frac{2 \sigma^{4}}{n}}\end{array}\right)
I−1(θ)=(σ2(X′X)−100n2σ4)
这一样得到了
V
a
r
(
B
^
)
=
1
σ
2
(
X
T
X
)
and
V
a
r
(
σ
2
^
)
=
2
σ
4
n
Var(\hat{B}) = \frac{1}{\sigma^2}(X^TX) \text{ and } Var(\hat{\sigma^2})=\frac{2 \sigma^{4}}{n}
Var(B^)=σ21(XTX) and Var(σ2^)=n2σ4。前者和之前那篇文章写的一致
小结
GLM的模型,通过抽象后,在表达和计算上有一些复杂,尤其是在一些性质的证明上,如最大似然的二阶导的性质推理上。很多细节再挖掘开来,牵涉到大量专业的统计分析理论,让人有一些望而生畏。作为初步了解,就到这里吧。参考文献1是吴恩达的机器学习笔记,以前看过一遍,再回头看,突然觉得多了好多内容。个人觉得总结的最好的还得看维基百科,其他的细节部分还是得看相关论文,深入下去 |
- http://cs229.stanford.edu/notes2019fall/cs229-notes1.pdf
- Nelder J A , Wedderburn R W M . Generalized Linear Models[J]. Journal of the Royal Statistical Society, 1972, 135(3):370-384.
- https://en.wikipedia.org/wiki/Generalized_linear_model
- https://www.zhihu.com/question/26561604/answer/33275982
- http://mark.reid.name/blog/fisher-information-and-log-likelihood.html
- https://en.wikipedia.org/wiki/Fisher_information