双序列比对的理论基础之建造替换矩阵的合理性证明

大憨熊 提交于 2020-01-26 19:39:32

双序列比对的理论基础之建造替换矩阵的合理性证明

 前言:如果对最大似然估计没有概念的话,可以看看我之前写的《似然,似然,似是而然》
 结合前几篇文章我们大致的了解了计分矩阵的流程:对某以蛋白质家族进行多序列对比,然后按某一阈值(等同残基比)进行聚类,之后将匹配的无空位的区域划分为block,然后统计各个block中残基之间的联配的频率,用归一化的频率估计概率,进行最大似然估计,估计出在自然界中各残基联配的概率(即匹配模型M的参数)。
  《双序列比对的基础(2)之替换(计分)矩阵系列》提出了疑问:怎么没进行最大似然估计啊?没有列似然函数啊,没有求极值点啊。从样本数据得到的频率怎么直接估计为总体的参数呢? 所以怀疑建造的替换矩阵是不合理的!
 那么本文就探讨探讨这个问题。
 首先,之前我们说过我们必须将生物学的问题抽象成数学模型。而残基对之间的联配可看做是多项分布。多项分布是二项分布的推广。
 二项分布就是我抛出一枚硬币,它的结果不是正面就是反面。我们抛出10次,计算出现5次正面的概率很简单。而多项分布则是我扔色子会有六种状态,现在我扔了十次,我想知道出现事件A(A事件=点数为1出现2次和点数为2出现4次和点数为3出现1次和点数为4出现1次和点数为5出现1次和点数为6出1次。)的概率是多少?注意在多项分布中,每个状态出现的频率必须大于0!
  而残基对之间的联配情况就可看做多项分布,只不过有210中状态(20种氨基酸的两两组合),并且在blocks中每种状态都出现过。所以我们就可以按照多项分布式列出似然函数,为进行最大似然估计奠定了基础。
 符号说明:
n={n1n_{1}n2n_{2}n3n_{3}、、、n210n_{210}}
nin_{i}:第i种状态被观测到的频率。如 n1n_{1}可表示鸟氨酸与亮氨酸在blocks中联配的频率。
N:blocks中出现的残基对总数=n1n_{1}+ n2n_{2}+n3n_{3}+…+n210n_{210}
θ\theta={ θ1\theta_{1}θ2\theta_{2}θ3\theta_{3}、、、 θ210\theta_{210}}
θi\theta_{i}=第i种状态出现的概率参数。
θML\theta^{ML}=n/N(用归一化的频率表示概率)
 所以现在我们需要证明当θ\theta=θML\theta^{ML} 时,似然函数L(n1n_{1},n2n_{2},n3n_{3},n210n_{210}|θ\theta)取得最大值。即可将 θML\theta^{ML}估计为在自然界中残基对联配和残基与空位联配的概率。
 下面我们将提供两种证明方法。分别用到了相对熵的性质和拉格朗日乘数法。
  第一种:此证明等价于任意θ\theta!=θML\theta^{ML},logLn1,n2,n3,,,n210θML)L(n1,n2,n3,,,n210θ)\log \frac { L(n_{1},n_{2},n_{3},,,n_{210}|\theta^{ML}) } { L \left( n _ { 1 } , n _ { 2 } ,n_{3} , ,, n _ {210 } |\theta \right) } >0
 根据多向分布的概率函数可以轻易的写出对应的似然函数。(两函数形式上一样,只是看待的角度不一样) 因此
L(n1n_{1},n2n_{2},n3n_{3},n210n_{210}|θ\theta)=N!i=1210ni!\frac { N ! } { \prod _ { i = 1 } ^ { 210 } n _ { i } ! }*i=1210θini\prod _ { i = 1 } ^ { 210 } \theta _ { i } ^ { n _ { i } }

从而,logLn1,n2,n3,,,n210θML)L(n1,n2,n3,,,n210θ)\log \frac { L(n_{1},n_{2},n_{3},,,n_{210}|\theta^{ML}) } { L \left( n _ { 1 } , n _ { 2 } ,n_{3} , ,, n _ {210 } |\theta \right) }=logi=1210(θiML)nii=1210θini\log \frac { \prod _ { i = 1 } ^ { 2 1 0 } \left( \theta _ { i } ^ { M L } \right) ^ { n _ { i } } } { \prod _ { i = 1 } ^ { 210} \theta _ { i } ^ { n _ { i } } }=i=1210nilogθiMLθi\sum _ { i = 1 } ^ { 210 } n _ { i } \log \frac { \theta _ { i } ^ { ML } } { \theta _ { i } }
又因为
nin_{i}/N=θiML\theta_{i}^{ML}
所以将nin_{i}换掉,
i=1210nilogθiMLθi\sum _ { i = 1 } ^ { 210 } n _ { i } \log \frac { \theta _ { i } ^ { ML } } { \theta _ { i } } = Ni=1210θiMLlogθiMLθiN \sum _ { i = 1 } ^ { 210 } \theta _ { i } ^ { M L } \log \frac { \theta _ { i } ^ { M L } } { \theta _ { i } }
我们可以发现:
i=1210θiMLlogθiMLθi\sum _ { i = 1 } ^ { 210 } \theta _ { i } ^ { M L } \log \frac { \theta _ { i } ^ { M L } } { \theta _ { i } }相对熵的形式,而根据相对熵大于等于0的性质,且N大于0,所以我们得证。
ps:

相对熵:H(PQ)=iP(xi)logP(xi)Q(xi)H ( P \| Q ) = \sum _ { i } P \left( x _ { i } \right) \log \frac { P \left( x _ { i } \right) } { Q \left( x _ { i } \right) }

(相对熵大于等于0的证明将放在另一篇博客。)
 第二种证明方法:
 最大似然估计本身就是多元函数求极值点。所以我们应该求出并证明极值点为θML\theta^{ML}=n\N
  我们现在所已知的是多元函数(即上文的似然函数)和变量的限制条件:i=1210θi\sum _ { i = 1 } ^ { 210 } \theta _ { i }=1
  多元函数、极值、约束条件,看到这些我们可以很快的联想到可以使用拉格朗日乘数法。(另一篇博客将介绍此法的背景应用)
  证明此法如下:
似然函数:L(n1n_{1},n2n_{2},n3n_{3},n210n_{210}|θ\theta)=N!i=1210ni!\frac { N ! } { \prod _ { i = 1 } ^ { 210 } n _ { i } ! }*i=1210θini\prod _ { i = 1 } ^ { 210 } \theta _ { i } ^ { n _ { i } }
 构造Lagrange函数:
Lagrange(θ1\theta_{1},θ2\theta_{2},θ3\theta_{3},θ210\theta_{210},λ\lambda)=L(n1n_{1},n2n_{2},n3n_{3},n210n_{210}|θ\theta)-λ\lambda(i=1210θi\sum _ { i = 1 } ^ { 210 } \theta _ { i } -1)
 对似然函数取对数:
Lagrange(θ1\theta_{1},θ2\theta_{2},θ3\theta_{3},θ210\theta_{210},λ\lambda)=logN!i=1210ni!+i=1210nilogθi\log N ! - \sum _ { i = 1 } ^ { 210 } n _ { i } ! + \sum _ { i = 1 } ^ { 210 } n _ { i } \log \theta _ { i }-λ\lambda(i=1210θi\sum _ { i = 1 } ^ { 210 } \theta _ { i } -1)
  然后对Lagrange函数求关于θi\theta_{i}的偏导:
Lagrange(θ1,,θ210,λ)θi\frac { \partial Lagrange \left( \theta _ { 1 } , \ldots , \theta _ { 210 } , \lambda \right) } { \partial \theta _ { i } }=niθiλ\frac { n _ { i } } { \theta _ { i } } - \lambda
  取极值时,导数为0:
niθiλ\frac { n _ { i } } { \theta _ { i } } - \lambda=0
  故 niλ=θi\frac { n _ { i } } { \lambda } = \theta _ { i }
又因为 i=1210θi=i=1210niλ=1\sum _ { i = 1 } ^ { 210 } \theta _ { i } = \sum _ { i = 1 } ^ { 210 } \frac { n _ { i } } { \lambda } = 1
 故λ\lambda=N
  故θi=niλ=niN\theta _ { i } = \frac { n _ { i } } { \lambda } = \frac { n _ { i } } { N }
  故可证:θi=niN=θiML\theta _ { i } = \frac { n _ { i } } { N }=\theta _ { i } ^ { ML }
 以上就是两种证明方法。写到这里,我自己明白了并最大似然估计出看此文的读者们明白了,233333333333。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!