数学建模自学笔记4 ——食堂人气排名问题
文章目录
一、引出——估计三个食堂人数
问题:如何估计在食堂A,B,C的就餐人数,构建人气排行榜。
解决方案:
方案1:派人在食堂门口蹲守,清点人数。
方案2:在食堂门口派发问卷,提问下一次如何选择。
-
- 在食堂 A A A就餐的人中 P a a P_{aa} Paa部分仍然回到食堂 A A A,有 P a b P_{ab} Pab部分选择食堂 B B B, P a c P_{ac} Pac部分选择食堂 C C C;
-
- 在食堂 B B B就餐的人中 P b b P_{bb} Pbb部分仍然回到食堂 B B B,有 P b a P_{ba} Pba部分选择食堂 A A A, P b c P_{bc} Pbc部分选择食堂 C C C;
-
- 在食堂 C C C就餐的人中 P c c P_{cc} Pcc部分仍然回到食堂 C C C,有 P c a P_{ca} Pca部分选择食堂 A A A, P c b P_{cb} Pcb部分选择食堂 B B B。
{ A n + 1 = p a a A n + p b a B n + p c a C n B n + 1 = p a b A n + p b b B n + p c b C n C n + 1 = p a c A n + p b c B n + p c c C n \left.\left\{\begin{array}{l}A_{n+1}=p_{aa}A_n+p_{ba}B_n+p_{ca}C_n\\B_{n+1}=p_{ab}A_n+p_{bb}B_n+p_{cb}C_n\\C_{n+1}=p_{ac}A_n+p_{bc}B_n+p_{cc}C_n\end{array}\right.\right. ⎩ ⎨ ⎧An+1=paaAn+pbaBn+pcaCnBn+1=pabAn+pbbBn+pcbCnCn+1=pacAn+pbcBn+pccCn
我们可以得到下面的式子:
( A n + 1 , B n + 1 , C n + 1 ) = ( A n , B n , C n ) ( p a a p a b p a c p b a p b b p b c p c a p c b p c c ) ( A n , B n , C n ) = ( A 0 , B 0 , C 0 ) ( p a a p a b p a c p b a p b b p b c p c a p c b p c c ) n \begin{aligned} &(A_{n+1},B_{n+1},C_{n+1}) \\ &= \left.(A_{n},B_{n},C_{n})\left(\begin{array}{ccc}p_{aa}&p_{ab}&p_{ac}\\p_{ba}&p_{bb}&p_{bc}\\p_{ca}&p_{cb}&p_{cc}\end{array}\right.\right) \\ &(A_{n},B_{n},C_{n}) \\ &= \left.(A_0,B_0,C_0)\left(\begin{array}{ccc}p_{aa}&p_{ab}&p_{ac}\\p_{ba}&p_{bb}&p_{bc}\\p_{ca}&p_{cb}&p_{cc}\end{array}\right.\right)^n \end{aligned} (An+1,Bn+1,Cn+1)=(An,Bn,Cn) paapbapcapabpbbpcbpacpbcpcc (An,Bn,Cn)=(A0,B0,C0) paapbapcapabpbbpcbpacpbcpcc n
二、马氏链的基本概念
1.🐯马氏链的特点
- 马尔可夫链具有以下特点:
- 状态空间:马尔可夫链由一组互斥且完备的状态组成,这些状态可以是离散的或连续的。
- 马尔可夫性质:马尔可夫链的核心假设是马尔可夫性质,即未来状态的概率只依赖于当前状态,而与过去的状态无关。这意味着在给定当前状态的情况下,过去的状态不提供任何关于未来状态的额外信息。这种性质被称为“无记忆性”。
- 概率转移:马尔可夫链的演化是通过概率转移矩阵来描述的。概率转移矩阵定义了从一个状态到另一个状态的转移概率。矩阵的每个元素表示从一个状态到另一个状态的概率。
- 链式规则:马尔可夫链的演化可以通过链式规则来计算未来状态的概率。给定当前状态的概率分布,可以通过乘以概率转移矩阵来获得下一个时刻的概率分布。这个过程可以连续进行下去,以获得未来任意时刻的概率分布。
- 通过马尔可夫链,我们可以研究状态之间的转移概率、稳定状态以及状态的长期行为。马尔可夫链在许多领域中都有广泛的应用,例如自然语言处理、金融市场建模、遗传学、物理学等。
2.🐶离散时间随机过程
- 对于离散的时间 t = 0 , 1 , 2 , 3 , ⋯ t=0,1,2,3,\cdots t=0,1,2,3,⋯的每一个/对应一个随机变量 ξ t ( ω ) \xi_t(\omega) ξt(ω),我们把随机变量序列 ξ = { ξ 0 , ξ 1 , ⋯ , ξ n , ⋯ } \xi=\{\xi_0,\xi_1,\cdots,\xi_n,\cdots\} ξ={ξ0,ξ1,⋯,ξn,⋯} 叫做离散时间的随机过程。
- 所有 ξ t ( ω ) ( t = 0 , 1 , 2 , ⋯ , n , ⋯ ) \xi_t(\omega)(t=0,1,2,\cdots,n,\cdots) ξt(ω)(t=0,1,2,⋯,n,⋯) 的取值集合 S,我们称之为状态空间。
- 食堂问题中、状态空间就是 { A , B , C } \{A,B,C\} {A,B,C}。
- 对于一个国定
ω
,
ξ
(
ω
)
=
{
ξ
0
(
ω
)
,
ξ
1
(
ω
)
,
⋯
,
ξ
n
(
ω
)
,
⋯
}
\omega,\xi(\omega)=\{\xi_0(\omega),\xi_1(\omega),\cdots,\xi_n(\omega),\cdots\}
ω,ξ(ω)={ξ0(ω),ξ1(ω),⋯,ξn(ω),⋯}就是一个状态序列,
称为该随机过程的一条轨道,我们把 ξ t ( ω ) \xi_t(\omega) ξt(ω)的取值叫做该条轨道在时间/的状态。 - 在前面的食堂问题中, ω \omega ω 对应于杲个特定的同字。
3.🦁时齐马氏链
如果马氏链的转移矩阵与出发时刻无关,则称此马氏链是时齐的。
时齐性:时齐马尔可夫链的概率转移矩阵在时间上保持不变。这意味着对于任意两个时刻 t 和 t’,概率转移矩阵 P 是相同的,即 P(t) = P(t’)。
时齐马氏链由转移概率矩阵和初始分布完全确定。
4.🐳马氏链的不变分布
-
不变分布是指在演化过程中状态分布保持不变的概率分布。当马尔可夫链达到稳定状态时,无论从哪个初始状态开始,经过一定的转移后,状态分布都会收敛到不变分布。
-
假设我们有一个离散状态的马尔可夫链,状态空间为S,概率转移矩阵为P。不变分布π是一个与时间无关的概率分布,满足以下条件:
- 非负性:对于所有的状态 i∈S,π(i)≥0。
- 归一性:不变分布的所有状态概率之和等于1,即Σπ(i)=1。
- 不变性:对于任意状态 j∈S,不变分布的状态转移满足π(j)=Σπ(i)P(i,j),其中Σ表示对所有状态 i 求和。
简而言之,不变分布是一个满足非负性、归一性和不变性的概率分布。
5.🐂互通
- 如果对于马尔可夫链中的任意两个状态 i 和 j,存在一系列的转移步骤,使得从状态 i 可以到达状态 j,那么称状态 i 和状态 j 是互通的。
- 互通关系是双向的,即如果状态 i 可以到达状态 j,那么状态 j 也可以到达状态 i。
- 互通性质表示状态之间存在某种形式的可达性或连通性,可以从一个状态转移到另一个状态。互通性是马尔可夫链中状态之间转移关系的一个重要特征。
6.🐝不可约
- 不可约(Irreducible):如果马尔可夫链的所有状态都是互通的,即任意两个状态之间都是互通的,那么该马尔可夫链被称为不可约的。
- 不可约性意味着马尔可夫链是一个整体,任意两个状态之间都存在相互转移的路径。在不可约的马尔可夫链中,无法将状态分成不相交的子集,使得子集内部的状态之间不存在转移关系。
- 不可约性是马尔可夫链中状态之间最强的连通性概念,表示马尔可夫链无法被分解为更小的独立部分。
7.🐇常反
- 常反是一个与状态转移相关的概念,用于描述状态转移的周期性。
- 如果对于马尔可夫链中的某个状态 i,从状态 i 出发经过 k 步(k为正整数)后,再回到状态 i 的最小步数是 d,那么状态 i 的周期被定义为 d。如果状态 i 的周期是 1,即 d = 1,则称状态 i 是常反的。
- 常反状态具有以下特点:
- 非周期性:常反状态的周期是 1,表示从该状态出发经过任意步数后,总能够回到该状态。不同于具有周期性的状态,常反状态不会经历固定的步数后再回到该状态。
- 无规律性:常反状态的转移没有规律可循,可以以任意步数转移到其他状态。相比之下,具有周期性的状态在转移过程中会按照一定的规律进行。
- 对于常反的马尔可夫链,状态之间的转移没有固定的周期,可以以任意步数进行转移,这使得马尔可夫链的行为更加随机和无规律。
8.🐏平均返回时间
- 平均返回时间是指在马尔可夫链中,从某个状态开始,平均需要经过多少步骤才能再次回到该状态。
- 具体而言,对于马尔可夫链中的某个状态 i,平均返回时间记作 m(i),表示从状态 i 开始,平均需要经过多少步骤才能再次回到状态 i。平均返回时间是一个描述状态转移性质的指标,可以用来衡量状态的稳定性和周期性。
- 平均返回时间的计算方法如下:
- 从状态 i 出发,记录每次回到状态 i 时所经过的步骤数,记作 T1, T2, T3, …
- 计算平均返回时间 m(i) 为所有回到状态 i 的步骤数的期望值,即 m(i) = E(T), 其中 E 表示期望值。
- 平均返回时间 m(i) 可能存在无穷大的情况。当状态 i 是不可达状态或者是周期性状态时,平均返回时间可能不存在或者为无穷大。
- 较短的平均返回时间意味着状态转移的速度较快,状态更容易达到稳定分布;而较长的平均返回时间则表示状态转移较慢,状态达到稳定分布需要更多的步骤。
9.🐬马氏链的遍历极限
- 马尔可夫链的遍历极限是指当马尔可夫链经过足够长的时间后,它的状态分布趋向于一个稳定的分布,该分布被称为遍历分布或平稳分布。
- 具体而言,对于一个马尔可夫链,如果它满足以下条件:
- 不可约性(irreducibility):任意两个状态之间存在转移路径,即整个马尔可夫链是一个整体,没有可以分离的子集。
- 常反性(aperiodicity):所有状态都是常反状态,即没有固定的周期性转移模式。
- 那么,马尔可夫链就具有遍历极限的性质。遍历极限表示当马尔可夫链经过足够长的时间后,状态分布会逐渐趋于一个稳定的平稳分布,与初始状态无关。这个平稳分布是马尔可夫链在长时间下的稳定状态,每个状态的概率表示该状态在长时间平稳情况下的出现概率。
- 遍历极限的存在保证了马尔可夫链在长时间下的可预测性和稳定性。当马尔可夫链达到遍历极限后,状态分布不再随时间变化,而是保持在一个固定的稳定分布上。
- 遍历极限的存在不仅仅取决于马尔可夫链的结构,还受到初始状态的影响。不同的初始状态可能导致不同的遍历极限,但当马尔可夫链满足不可约性和常反性时,无论初始状态如何,最终都会达到相同的遍历极限。
三、马氏链的应用
1.🐸句子的平均长度
问题提出
设DNA序列(由四个字母(A,C,G,T)构成)每个字母的出现是独立同分布的(记为i.i.d),每个字母出现的概率分别是 P A , P C , P G , P T P_A,P_C,P_G,P_T PA,PC,PG,PT现在有一个特殊的机器(生物上称之为限制性内切酶),遇到AA就将序列切断。
问题:这些片断的平均长度是多少?
建模
- 我们把状态只分三类状态集合{A,B,AA}.
- x n x_n xn ={原始链上第n个位置结尾处的状态}。
- 例子:TATCAAT
- x 1 = B x_1 = B x1=B x 2 = A x_2 = A x2=A x 3 = B x_3 = B x3=B x 4 = B x_4 = B x4=B x 5 = A x_5 = A x5=A x 6 = A A x_6 = AA x6=AA x 7 = B x_7 = B x7=B
转移概率矩阵为:
P
=
(
0
q
p
p
q
0
p
q
0
)
\left.\boldsymbol{P}=\left(\begin{array}{ccc}0&q&p\\p&q&0\\p&q&0\end{array}\right.\right)
P=
0ppqqqp00
其中:
p
=
P
A
q
=
1
−
p
=
P
C
+
P
G
+
P
T
\begin{aligned}\textbf{}\\p&=P_\mathrm{A}\\q&=1-p=P_\mathrm{C}+P_\mathrm{G}+P_\mathrm{T}\end{aligned}
pq=PA=1−p=PC+PG+PT
π 不变分市 π = ( π 1 , π 2 , π 3 ) π = π ( 0 q p p q 0 p q 0 ) \left.\pi\text{不变分市 }\pi=(\pi_1,\pi_2,\pi_3)\\\pi=\pi\left(\begin{array}{ccc}0&q&p\\p&q&0\\p&q&0\end{array}\right.\right) π不变分市 π=(π1,π2,π3)π=π 0ppqqqp00
句子的平均长度就是 1 / π 3 1/\pi_3 1/π3
进一步得到:
{
π
1
=
π
2
p
+
π
3
p
⇒
π
1
=
p
1
+
p
π
2
=
q
(
π
1
+
π
2
+
π
3
)
=
q
π
3
=
π
1
p
=
p
2
1
+
p
\begin{cases}\pi_1=\pi_2p+\pi_3p\Rightarrow\pi_1=\frac{p}{1+p}\\\pi_2=q(\pi_1+\pi_2+\pi_3)=q\\\pi_3=\pi_1p=\frac{p^2}{1+p}\end{cases}
⎩
⎨
⎧π1=π2p+π3p⇒π1=1+ppπ2=q(π1+π2+π3)=qπ3=π1p=1+pp2
句子的平均长度就是 1 P A 2 + 1 P Λ \frac{1}{P_{\mathrm{A}}^{2}}+\frac{1}{P_{\Lambda}} PA21+PΛ1
2.🐙PageRank算法
随机冲浪模型
根据上面的思想,对于网页u,如果它被多个网页v所链接,如果用pr(u)表示网页u的重要性,那么该网页的重要性可以由下面的公式确定:
p
r
(
u
)
=
∑
v
∈
L
(
u
)
p
r
(
v
)
×
d
o
‾
pr(u)=\sum_{v\in L(u)}pr(v)\times{\overline{d_{o}}}
pr(u)=v∈L(u)∑pr(v)×do
其中
d
o
u
t
d_{out}
dout表示M网页 v发出的网页数目,L(u)表示所有指向网页u的网页。
随机冲浪模型的迭代运算
p r n + 1 ( u ) = ∑ v ∈ L ( u ) p r n ( u ) 1 d o u t ( v ) pr_{n+1}(u) = \sum_{v\in L(u)}pr_{n}(u){1\over d_{out}(v)} prn+1(u)=v∈L(u)∑prn(u)dout(v)1
( p r n + 1 ( 1 ) , p r n + 1 ( 2 ) , ⋯ , p r n + 1 ( D ) ) = ( p r n ( 1 ) , p r n ( 2 ) , ⋯ , p r n ( D ) ) [ w 11 w 21 ⋯ w D 1 w 12 w 22 ⋯ w D 2 ⋮ ⋮ ⋮ w 1 D w 2 D ⋯ w D D ] \begin{aligned} &\begin{pmatrix}pr_{n+1}(1),pr_{n+1}(2),\cdots,pr_{n+1}(D)\end{pmatrix} \\ &\left.=\left(pr_{n}(1),pr_{n}(2),\cdots,pr_{n}(D)\right)\left[\begin{array}{cccc}w_{11}&w_{21}&\cdots&w_{D1}\\w_{12}&w_{22}&\cdots&w_{D2}\\\vdots&\vdots&&\vdots\\w_{1D}&w_{2D}&\cdots&w_{DD}\end{array}\right.\right] \end{aligned} (prn+1(1),prn+1(2),⋯,prn+1(D))=(prn(1),prn(2),⋯,prn(D)) w11w12⋮w1Dw21w22⋮w2D⋯⋯⋯wD1wD2⋮wDD
- 如果迭代收敛,即有 Pr= Pr·W
- Pr就是以w为转移矩阵的马氏链的不变分布。
- 或者说,Pr是矩阵W的特征值1所对应的特征向量。
阻尼因子
p r ( u ) = 1 − α N + α ( ∑ v ∈ L ( u ) p r ( v ) d o u t ( v ) ) pr(u)=\frac{1-\alpha}{N}+\alpha\left(\sum_{v\in L(u)}\frac{pr(v)}{d_{\mathrm{out}}(v)}\right) pr(u)=N1−α+α v∈L(u)∑dout(v)pr(v)
- 阻尼因子引入可以给那些没有被链接的网页一个基准值。
- 另一方面,阻尼因子也降低了PageRank算法中前期的估计量对当前估计的影响。
- 从马氏链的角度来看,加入阻尼因子使得所有的网络节点是互通的,从而保证了遍历性,以至于不变分布存在。
四、自己提出的问题
马尔可夫链有没有什么改进模型?
五、模型改进
1.🐡隐马尔可夫模型
- 隐马尔可夫模型HMM常用于建模具有隐藏状态的序列数据。它是对标准马尔可夫链的扩展,引入了隐藏的状态变量和观测变量。
- HMM中有两个关键组成部分:隐藏状态序列和观测序列。隐藏状态序列是不可直接观测到的,而观测序列是我们可见的数据。隐藏状态和观测之间存在某种潜在的关联关系。
- HMM的基本假设是马尔可夫性质,即当前隐藏状态只依赖于其前一个隐藏状态。这意味着隐藏状态的转移是基于概率分布进行的,这个转移概率可以用状态转移矩阵表示。另外,每个隐藏状态会生成一个观测值,这个生成过程由观测概率分布决定,可以使用发射矩阵来表示。
- HMM的参数由三个部分组成:
- 初始状态分布(Initial State Distribution):描述了初始时刻隐藏状态的概率分布。
- 状态转移矩阵(Transition Matrix):描述了隐藏状态之间的转移概率。
- 观测概率矩阵(Emission Matrix):描述了每个隐藏状态生成观测值的概率分布。
- HMM的典型应用是序列建模和序列分类。在序列建模中,给定观测序列,可以使用HMM来估计隐藏状态序列,从而对序列进行建模和分析。在序列分类中,可以训练一个HMM模型,将不同类别的观测序列与对应的隐藏状态关联起来,然后使用该模型对新的观测序列进行分类。
- HMM的学习和推断可以使用多种方法来进行。学习问题通常涉及估计HMM的参数,可以使用最大似然估计或期望最大化算法来进行。推断问题通常涉及给定观测序列,计算隐藏状态序列的后验概率或最可能的隐藏状态序列,可以使用前向-后向算法或维特比算法来解决。
2.🍁马尔可夫链蒙特卡洛方法
- 马尔可夫链蒙特卡洛方法是一类用于从复杂概率分布中进行采样的算法。它结合了马尔可夫链和蒙特卡洛方法的思想,通过构建满足详细平衡条件的马尔可夫链,从而实现对目标分布的逼近采样。
- MCMC的基本思想是利用马尔可夫链的性质,在采样过程中通过样本之间的转移来逼近目标分布。该方法适用于复杂的概率分布,尤其是高维空间中的分布,这些分布可能无法直接计算概率密度函数或无法从中抽取独立样本。
- MCMC算法的核心是构建一个马尔可夫链,使其平稳分布等于目标分布。平稳分布是指当马尔可夫链在时间上收敛后,样本的分布不再变化,并且与目标分布一致。通过迭代更新当前状态,根据一定的转移规则进行状态转移,最终得到的样本序列将近似地服从目标分布。
- 常见的MCMC算法有两种:Metropolis-Hastings算法和吉布斯采样算法。
- Metropolis-Hastings算法是一种接受-拒绝采样的方法。它通过定义一个转移概率分布来生成候选样本,并计算接受该候选样本的概率。根据一定的准则,决定是否接受候选样本。该算法确保了马尔可夫链满足详细平衡条件,从而最终收敛到目标分布。
- 吉布斯采样算法是一种特殊的Metropolis-Hastings算法,用于多变量分布的采样。它在每次迭代中只更新一个变量,通过给定其他变量的条件下,生成当前变量的新样本。吉布斯采样算法依赖于条件概率分布的知识,可以解决高维空间中的采样问题。
- MCMC算法的性能受到几个因素的影响,包括初始状态的选择、转移概率分布的设计和采样步长的调整等。选择合适的算法和调优参数是确保MCMC算法有效运行和收敛到目标分布的关键。
- MCMC方法在统计学、机器学习、贝叶斯推断等领域得到广泛应用。它可以用于参数估计、模型比较、后验推断等任务,为复杂概率模型的学习和推断提供了一种有力的工具。