讯享网
在第一篇推文中,我们提到了数学模型在预测天气和股市分析中的应用。那么,具体应该如何利用这些模型进行预测呢?
(/^▽^)/点此跳转第一篇推文(^▽^)
这里我们引入一个重要的工具——马尔可夫链。让我们先来了解一下它的定义吧!
MEA
马尔可夫链是什么?
马尔可夫链是概率论和数理统计中具有马尔可夫性质且存在于离散的指数集和状态空间内的随机过程。
简单来说,马尔可夫链就是一系列随机变量

组成的一个数列,其中每个变量的值 表示在时间
的状态,且满足给定当前状态时,未来状态的概率分布只与当前状态相关,而与过去的状态无关。即,若
对于过去状态的条件概率分布仅是
的一个函数,则称该随机过程为马尔可夫链。用数学公式来描述就是
定
义
MEA
马
尔可夫链
Markov
Chain
为了更直观地理解马尔可夫链,我们可以举一个常见例子——化简的天气预测:若今天是晴天,则明天是晴天的概率为0.9,是阴天的概率为0.1;若今天是阴天,则明天是晴天的概率为0.4,是阴天的概率为 0.6。假设明天天气不受前天天气影响,那么这就是一个典型的马尔可夫链。
我们可以用转移概率矩阵
来描述以上的条件。矩阵的每一个元素
表示从状态
转移到状态
的概率,即
,由此我们得到转移概率矩阵:
这里需要注意的是,由于概率矩阵
的每一行都表述了从一个特定状态转移到其他所有可能状态的概率,故它的和为1。
我们假设晴天为状态1,阴天为状态2,那么有转移概率:
此时 ,转移概率矩阵为:
MEA
知道了马尔可夫链模型的转移概率矩阵,接下来我们讨论一下他的其中一个重要性质——稳态性质。

假设今天天气的概率分布是 [0.7, 0.3] ,即 70% 概率的晴天, 30% 概率的阴天。以这个状态作为序列概率分布的初始状态 t0 将其代入转移概率矩阵计算t1 , t2 , t3 , …的情况,代码如下:
import numpy as npmatrix = np.matrix([[0.9,0.1],[0.4,0.6]],dtype = float)vector = np.matrix([[0.7,0.3]],dtype = float) for i in range(100):vector = vector * matrix print(“round”, i+1)print(vector)
讯享网
部分输出结果如下:
讯享网round 1[[0.75 0.25]]round 2[[0.775 0.225]]round 3[[0.7875 0.2125]]round 4[[0.79375 0.20625]]round 5[[0. 0.]]…round 24[[0. 0.]]round 25[[0.8 0.2]]round 26[[0.8 0.2]]…round 99[[0.8 0.2]]round 100[[0.8 0.2]]
MEA
不难发现,从第25轮开始,概率分布就一直保持在 [0.8, 0.2] ,即 80% 概率的晴天, 20% 概率的阴天。这会是一个巧合吗?
接下来我们更改初始状态为 [0.5, 0.5] ,再次执行后,部分输出结果如下:
round 1[[0.65 0.35]]round 2[[0.725 0.275]]round 3[[0.7625 0.2375]]round 4[[0.78125 0.21875]]round 5[[0. 0.]]…round 25[[0. 0.]]round 26[[0.8 0.2]]round 27[[0.8 0.2]]…round 99[[0.8 0.2]]round 100[[0.8 0.2]]
尽管我们更改了初始状态,最终状态的概率分布依旧趋向于 [0.8, 0.2] ,也就是说,马尔可夫链模型的转移概率矩阵收敛到的稳定概率分布与初始状态无关。因此,我们可以得出结论:马尔可夫链中,如果转移概率矩阵满足一定的条件(例如,是正则的,即矩阵的每一行元素之和为1,且矩阵中不存在全为零的行),那么无论初始状态如何,经过足够多的状态转移后,系统的状态分布都会趋向于一个固定的分布,这个分布称为稳态分布。
MEA
介绍完马尔可夫链,我们来讲讲它在实际生活中的应用——PageRank算法。PageRank是由谷歌联合创始人拉里·佩奇和谢尔盖·布林在1998年提出的一种网页排名算法。该算法的核心思想是利用互联网网页之间的链接关系,评估每个网页的重要性或权威性。
假设有一个随机浏览者浏览任意一个网页,当他浏览这个网页时,点击当前网页上的链接跳转到下一个网页的概率为
,随机跳转到任意网页的概率为
。经过足够长的时间后,该浏览者停留在某个网页的概率就是该网页的PageRank值。由于跳转到下一个网页的概率分布只与该网页有关,而与上一个网页无关,符合马尔可夫性质,而所有网页构成了马尔可夫链的状态空间,现在我们利用马尔可夫链来计算PageRank值
假设浏览者在各网页上的初始概率分布为均匀分布,共有
个网页,则初始概率分布为
,迭代计算概率分布至该马尔可夫链收敛到稳态分布,此时概率分布即为各网页的PageRank值,用公式表示为
其中
为转移概率矩阵。对于矩阵中
的元素
,有
其中
为网页
的出链数量。
为了避免网页无跳转链接导致浏览者无法继续浏览或浏览者随即跳转到任意网页的情况,我们引入阻尼因子
(根据经验
取 0.85 时效果最好),即随机浏览者有
的概率从该网页的链接跳转,有
的概率随机跳转。改进后的转移概率矩阵
此处 E 是元素全为1的
矩阵。
可以得到改进后的PageRank计算公式:
用矩阵表示为:
其中
为元素全为1的列向量,第一项表示浏览者以
的概率从该网页的链接跳转,第二项表示浏览者以
的概率随机跳转。
由于直接求解较为困难,这里采取迭代法计算。假设
,有
当
时,得到该网页的PageRank值。
在实际应用中,我们可以引入机器学习模型、TrustRank等算法对PageRank算法进行改进和完善,通过评估网页、用户等的重要性对搜索结果进行排序,向用户提供更有价值的搜索结果。
往期精彩回顾:【数模之美02】“神经网络预测”模型
【数模之美01】“数模知识”知多少?
END
部分公式资料来自于网络,若有侵权,请联系我们删除。
推文制作:杨雨菲、秦梓博、庄博源
一审:魏 桥
二审:丁为建
三审:曹家富
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/184013.html