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

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

 前言:如果对最大似然估计没有概念的话,可以看看我之前写的《似然,似然,似是而然》
 结合前几篇文章我们大致的了解了计分矩阵的流程:对某以蛋白质家族进行多序列对比,然后按某一阈值(等同残基比)进行聚类,之后将匹配的无空位的区域划分为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={ n 1 n_{1} n1 n 2 n_{2} n2 n 3 n_{3} n3、、、 n 210 n_{210} n210}
n i n_{i} ni:第i种状态被观测到的频率。如 n 1 n_{1} n1可表示鸟氨酸与亮氨酸在blocks中联配的频率。
N:blocks中出现的残基对总数= n 1 n_{1} n1+ n 2 n_{2} n2+ n 3 n_{3} n3+…+ n 210 n_{210} n210
θ \theta θ={ θ 1 \theta_{1} θ1 θ 2 \theta_{2} θ2 θ 3 \theta_{3} θ3、、、 θ 210 \theta_{210} θ210}
θ i \theta_{i} θi=第i种状态出现的概率参数。
θ M L \theta^{ML} θML=n/N(用归一化的频率表示概率)
 所以现在我们需要证明当 θ \theta θ= θ M L \theta^{ML} θML 时,似然函数L( n 1 n_{1} n1, n 2 n_{2} n2, n 3 n_{3} n3, n 210 n_{210} n210| θ \theta θ)取得最大值。即可将 θ M L \theta^{ML} θML估计为在自然界中残基对联配和残基与空位联配的概率。
 下面我们将提供两种证明方法。分别用到了相对熵的性质和拉格朗日乘数法。
  第一种:此证明等价于任意 θ \theta θ!= θ M L \theta^{ML} θML, log ⁡ L ( n 1 , n 2 , n 3 , , , n 210 ∣ θ M L ) L ( n 1 , n 2 , n 3 , , , n 210 ∣ θ ) \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) } logL(n1,n2,n3,,,n210θ)Ln1,n2,n3,,,n210θML) >0
 根据多向分布的概率函数可以轻易的写出对应的似然函数。(两函数形式上一样,只是看待的角度不一样) 因此
L( n 1 n_{1} n1, n 2 n_{2} n2, n 3 n_{3} n3, n 210 n_{210} n210| θ \theta θ)= N ! ∏ i = 1 210 n i ! \frac { N ! } { \prod _ { i = 1 } ^ { 210 } n _ { i } ! } i=1210ni!N!* ∏ i = 1 210 θ i n i \prod _ { i = 1 } ^ { 210 } \theta _ { i } ^ { n _ { i } } i=1210θini

从而, log ⁡ L ( n 1 , n 2 , n 3 , , , n 210 ∣ θ M L ) L ( n 1 , n 2 , n 3 , , , n 210 ∣ θ ) \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) } logL(n1,n2,n3,,,n210θ)Ln1,n2,n3,,,n210θML)= log ⁡ ∏ i = 1 210 ( θ i M L ) n i ∏ i = 1 210 θ i n i \log \frac { \prod _ { i = 1 } ^ { 2 1 0 } \left( \theta _ { i } ^ { M L } \right) ^ { n _ { i } } } { \prod _ { i = 1 } ^ { 210} \theta _ { i } ^ { n _ { i } } } logi=1210θinii=1210(θiML)ni= ∑ i = 1 210 n i log ⁡ θ i M L θ i \sum _ { i = 1 } ^ { 210 } n _ { i } \log \frac { \theta _ { i } ^ { ML } } { \theta _ { i } } i=1210nilogθiθiML
又因为
n i n_{i} ni/N= θ i M L \theta_{i}^{ML} θiML
所以将 n i n_{i} ni换掉,
∑ i = 1 210 n i log ⁡ θ i M L θ i \sum _ { i = 1 } ^ { 210 } n _ { i } \log \frac { \theta _ { i } ^ { ML } } { \theta _ { i } } i=1210nilogθiθiML = N ∑ i = 1 210 θ i M L log ⁡ θ i M L θ i N \sum _ { i = 1 } ^ { 210 } \theta _ { i } ^ { M L } \log \frac { \theta _ { i } ^ { M L } } { \theta _ { i } } Ni=1210θiMLlogθiθiML
我们可以发现:
∑ i = 1 210 θ i M L log ⁡ θ i M L θ i \sum _ { i = 1 } ^ { 210 } \theta _ { i } ^ { M L } \log \frac { \theta _ { i } ^ { M L } } { \theta _ { i } } i=1210θiMLlogθiθiML相对熵的形式,而根据相对熵大于等于0的性质,且N大于0,所以我们得证。
ps:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值