马尔可夫链预测 (Markov Chain)

news2025/1/10 16:28:01

一、人寿保险案例(两状态)

人寿保险公司把人的健康状态分为健康和疾病两种,以一年为一个时段,研究健康状态的转变。假设对某一年龄段的人来说,今年健康,明年继续保持健康的概率为0.8,即明年转为疾病的概率为0.2;而今年患病,明年转为健康的概率为0.7,即明年继续保持疾病状态的概率为0.3。

由于投保人处于健康和疾病状态是随机的,故设Xn表示第n年的状态,Xn=1表示健康,Xn=2表示疾病,n=0,1,2,3,….ai(n)表示第n年处于状态i的概率,i=1,2,即an(i)=P{Xn=i},用pij来表示今年处于状态i来年处于状态j的概率,即pij=P(Xn+1=j|Xn=i),i=1,2.绘制成链图,见图(1)。

将上面的描述写成表格,如表1,

表1   两状态的状态转移

 称P=(pij)2×2为状态转移概率矩阵。

根据全概率公式,有

简写为n=0,1,2,…【1】

由此可见,投保人第n+1时段的身体健康状态的概率,只与第n时段的状态概率和转移概率有关,与第n-1,n-2,…以前的状态概率无关,这种性质称为无后效性,也称为马尔可夫性质

 记a(n)为第n时段投保人的身体健康状态的概率分布向量,则公式【1】可以简写为矩阵和向量的形式【2】

称公式【1】或【2】为状态转移方程,矩阵P称为状态转移矩阵

下面假定投保人初始阶段的身体健康状态分布向量,分别取a(0)=[1,0]T,a(0)=[0,1]T,a(0)=[0,75,0.25]T,分别代入公式【2】,计算结果保留在表2中

p=[0.8 0.2;0.7 0.3];
a01=[1,0];a02=[0,1];a03=[0.75,0.25];
A01=[a01;a01*p;a01*p^2;a01*p^3;a01*p^4;a01*p^8];
A02=[a02;a02*p;a02*p^2;a02*p^3;a02*p^4;a02*p^8];
A03=[a03;a01*p;a03*p^2;a03*p^3;a03*p^4;a03*p^8];
A=[A01;A02;A03];

表2 不同初始状态状态转移数据

n

0

1

2

3

4

a1(n)

1

0.8

0.78

0.778

0.7778

0.777778

a2(n)

0

0.2

0.22

0.222

0.2222

0.222222

a1(n)

0

0.7

0.77

0.777

0.7777

0.777778

a2(n)

1

0.3

0.23

0.223

0.2223

0.222222

a1(n)

0.75

0.8

0.7775

0.77775

0.777775

0.777778

a2(n)

0.25

0.2

0.2225

0.22225

0.222225

0.222222

 从表2可以看出

  1. 无论初始状态的概率分布如何,经过有限次转移后,都会稳定在一个固定的概率分布;
  2. 从ai(∞)>0,i=1,2可以看出,无论初始状态i如何,总能以概率大于0达到所有状态j;(对于满足(2)的马氏链,称为正则马氏链。)
  3. 状态转移的每个阶段,转移矩阵P都相同,称为马氏链的时齐性,没有特殊说明,一般研究的马氏链都具有时齐性。

二、人寿保险案例(三状态)

保险公式将人的生存状态定义为三种:健康、疾病和死亡(第三中状态),用Xn=3表示.今年健康,明年可能突发疾病或偶然事件而死亡;今年疾病,明年可能继续疾病、健康或死亡,而一旦死亡,则不能再转为健康或疾病。根据统计,三种状态相互转化的概率如表3.

表3  三状态的状态转移 记ai(n)=P{Xn=i},pij=P{X(n+1)=i|X(n)=j},i,j=1,2,3;n=0,2,…则,此案例中的状态转移方程为【3】

将初始状态X01=[1,0,0]T,X02=[0,1,0]T和X03=[0.75,0.25,0]T代入公式【3】,经计算,结果填入表4.

X1=[1,0,0];X2=[0,1,0];X3=[0.75,0.25,0];
p=[0.8 0.18 0.02;0.25 0.65 0.1;0 0 1];
A1=[X1;X1*p;X1*p^2;X1*p^3;X1*p^30;X1*p^60];
A2=[X2;X2*p;X2*p^2;X2*p^3;X2*p^30;X2*p^60];
A3=[X3;X3*p;X3*p^2;X3*p^3;X3*p^30;X3*p^60];
A=[A1,A2,A3]'

表4 不同初始状态的转移结果的数据对比

时段n

0

1

2

3

30

60

a1(n)

1

0.8000 

0.6850 

0.6133 

0.1431 

0.0307 

0

a2(n)

0

0.1800 

0.2610 

0.2930 

0.0859 

0.0184 

0

a3(n)

0

0.0200 

0.0540 

0.0938 

0.7711 

0.9509 

1

a1(n)

0

0.2500 

0.3625 

0.4069 

0.1192 

0.0256 

0

a2(n)

1

0.6500 

0.4675 

0.3691 

0.0715 

0.0154 

0

a3(n)

0

0.1000 

0.1700 

0.2240 

0.8092 

0.9590 

1

a1(n)

0.75

0.6625 

0.6044 

0.5617 

0.1371 

0.0294 

0

a2(n)

0.25

0.2975 

0.3126 

0.3120 

0.0823 

0.0177 

0

a3(n)

0

0.0400 

0.0830 

0.1264 

0.7806 

0.9529 

1

从表4可以看出:无论初始状态如何,通过状态转移之后,终究会定格在状态3不改变;若转移概率矩阵中pii=1,称状态i为吸状态,称这样的马氏链为吸收链。

三、马氏链基本概念 

1、马氏链及其基本方程

按系统的发展进程,时间离散化为n=0,1,2,…,对每个n,系统的状态为随机变量Xn表示,可以取k个值,Xn=1,2,…,k,记ai(n)=P{Xn=i},即状态概率(分布),从Xn=i到xn+1=j的概率记为pij=P{Xn+1=j|Xn=i},即转移概率。若Xn+1的取值取决于Xn的取值和转移概率,与前面的xn-1,xn-2,…的取值无关,称这种离散状态按照时间转移的过程为马氏链

状态转移概率矩阵,简称转移矩阵,它满足

为第n时段的状态概率(分布)行向量。

马氏链基本方程

在上述公式中,每个两个阶段的状态转移概率矩阵都是同一个矩阵P,称这种性质为马氏链的时齐性。

2、正则链

2.1 正则链定义:从任意状态出发,通过有限次转移,都能到另外的状态。

2.2 马氏链为正则链的充分必要条件←→状态转移矩阵P满足PN>0,即PN的每个分量都大于0.

2.3 正则链存在唯一的极限状态概率w=[w1,w2,…,wk],使得称w为稳态概率,满足不难看出,w就是P转置矩阵的征值为1的特征向量的(标准化)行写法。

3、吸收链

若状态转移概率矩阵P中,有pii=1,则称i为吸收态。若马氏链中包含吸收态,则从任何一个非吸收态出发,经过有限次转移,都会以一个正概率到大吸收态。称这样的马氏链为吸收链。

4、首次到大概率和首次平均返回次数

记fij(n)为从状态i出发,经过n次转移,首次到大状态j的首达概率,于是从i到j的平均转移次数为μii称为平均首次返回次数。

5、吸收链的转移矩阵

若吸收链有r个吸收态,则转移矩阵P可以写为

其中方阵Q至少有一个行和小于1.

且I-Q可逆,满足设列向量的第i分量表示从第i个非吸收态出发,被某个吸收态吸收的平均转移次数。

由于状态一旦进入吸收态,就不会再进入非吸收态,所以,从某个非吸收态i出发,进入某个吸收态j,实际上首达概率fij(n)实际表示从i出发,经过n次转移被j吸收的概率,而则表示从非吸收态i出发终将被吸收态j吸收的概率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1037714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络协议定制

目录 一、协议定制 1.再谈协议 2.认识序列化与反序列化 二、网络计算器 1.序列化与反序列化头文件 2.服务端 3.客户端 4.makefile 5.运行结果 三、json序列化与反序列化 1.常用序列化与反序列化库 2.安装 3.使用 (1)Request的序列化 &…

39.动画动作菜单

特效 源码 index.html <!DOCTYPE html> <html> <head> <title>Animated Action Menu</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body><div class=&quo…

功能测试自动化测试流程

1概述 本流程是描述软件功能自动化测试过程中的步骤、内容与方法&#xff0c;明确各阶段的职责、活动与产出物。 2流程活动图 3活动说明 3.1测试计划&#xff08;可选&#xff09; 与以前的测试计划过程一致&#xff0c;只是在原来的测试计划中&#xff0c;添加对项目实施自动…

4、SpringBoot_Mybatis、Druid、Juint整合

五、SSM整合 1.整合Mybatis 1.1springmvc 整合回顾 导入坐标 <dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.17.RELEASE</version></dependency><dependency>…

力扣刷题-链表-两两交换链表中的节点

24.两两交换链表中的节点 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 解题思路 采用正常模拟的方法。 建议使用虚拟头结点&#xff0c;这样会方便很多&am…

大数据从入门到精通(超详细版)之BI工具的安装

前言 嗨&#xff0c;各位小伙伴&#xff0c;恭喜大家学习到这里&#xff0c;不知道关于大数据前面的知识遗忘程度怎么样了&#xff0c;又或者是对大数据后面的知识是否感兴趣&#xff0c;本文是《大数据从入门到精通&#xff08;超详细版&#xff09;》的一部分&#xff0c;小…

iMAP——论文解析

iMAP: Implicit Mapping and Positioning in Real-Time iMAP 是第一个提出用 MLP 作为场景表征的实时 RGB-D SLAM。iMAP 采用关键帧结构和多进程&#xff0c;通过动态信息引导的像素采样来提高速度&#xff0c;跟踪频率为 10 Hz&#xff0c;全局地图更新频率为 2 Hz。隐式 MLP…

Vite打包时使用plugin解决浏览器兼容问题

一、安装Vite插件 在终端输入如下命令&#xff1a; npm add -D vitejs/plugin-legacy 二、配置config文件 在项目目录下创建vite.config.js文件夹&#xff0c;配置如下代码&#xff1a; import { defineConfig } from "vite"; import legacy from "vitejs/pl…

VM虚拟机克隆

VMware 克隆虚拟机具有以下优点&#xff1a; 快速部署&#xff1a;通过克隆虚拟机&#xff0c;可以快速创建新的虚拟机副本&#xff0c;而无需从头开始进行操作系统和应用程序的安装。这节省了大量的时间和工作量。一致性和稳定性&#xff1a;克隆虚拟机是通过复制现有虚拟机来…

DeepMind: 用ReLU取代Softmax可以让Transformer更快

注意力是人类认知功能的重要组成部分&#xff0c;当面对海量的信息时&#xff0c;人类可以在关注一些信息的同时&#xff0c;忽略另一些信息。当计算机使用神经网络来处理大量的输入信息时&#xff0c;也可以借鉴人脑的注意力机制&#xff0c;只选择一些关键的信息输入进行处理…

常见限流算法学习

文章目录 常见限流算法学习前言限流算法基本介绍固定窗口计数器限流算法计数器限流算法相关介绍计数器限流算法的实现&#xff08;基于共享变量&#xff09;计数器限流算法的实现&#xff08;基于Redis&#xff09; 滑动窗口计数器算法滑动时间窗口算法相关介绍介绍滑动时间窗口…

【软件设计师-从小白到大牛】上午题基础篇:第五章 结构化开发方法

文章目录 前言结构化设计1、基本原则真题链接2、内聚与耦合真题链接3、系统结构/模块结构真题链接用户界面设计的黄金原则&#xff08;补充&#xff09;真题链接数据流图&#xff08;补充&#xff09;真题链接系统文档&#xff08;补充&#xff09;真题链接 前言 ​ 本系列文章…

如何使用 Git 进行多人协作开发(全流程图解)

文章目录 分支管理策略1.什么是Feature Branching&#xff1f;2.Feature Branching如何工作&#xff1f; 多人协作一&#xff1a;单分支1.准备工作2.创建分支3.在分支上开发4.分支合并5.清理 多人协作二&#xff1a;多分支1.创建分支2.在分支上开发3. pull request4.清理 在软件…

/usr/bin/ld: cannot find -lmysqlcllient

文章目录 1. question: /usr/bin/ld: cannot find -lmysqlcllient2. solution 1. question: /usr/bin/ld: cannot find -lmysqlcllient 2. solution 在 使用编译命令 -lmysqlclient时&#xff0c;如果提示这个信息。 先确认一下 有没有安装mysql-devel 执行如下命令 yum inst…

js对象属性

在面向对象的语言中有一个标志&#xff0c;那就是都有类&#xff0c;通过类可以创建任意多个相同属性、方法的对象。在js中没有类的存在&#xff0c;所以js中的对象&#xff0c;相对于类语言中对象有所不同。 js中定义对象为&#xff1a;“无序属性的集合&#xff0c;其属性可…

新版绿豆视频APP视频免授权源码 V6.6插件版

新版绿豆视频APP视频免授权源码 V6.6插件版 简介&#xff1a; 新版绿豆视频APP视频免授权源码 插件版 后端插件开源&#xff0c;可直接反编译修改方便 对接苹果cms,自定义DIY页面布局&#xff01; 绿豆影视APP对接苹果cms 所有页面皆可通过后端自由定制 此版本后端源码 前…

二叉树创建、前序遍历、中序遍历、后序遍历、层序遍历

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<malloc.h> #define N 100 typedef char data_t;typedef struct tree {data_t data;//存放本节点数据struct tree* l_child;//存放左孩子节点地址struct tree* r_child;//存放右孩子节点地址 }Tree;Tre…

Zig实现Hello World

1. 什么是zig 先列出一段官方的介绍: Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software. 大概意思就是说&#xff1a; Zig是一种通用编程语言和工具链&#xff0c;用于维护健壮、最佳和可重用的软件。 官…

电脑计算机xinput1_3.dll丢失的解决方法分享,四种修复手段解决问题

日常生活中可能会遇到的问题——xinput1_3.dll丢失的解决方法。我相信&#xff0c;在座的很多朋友都曾遇到过这个问题&#xff0c;那么接下来&#xff0c;我将分享如何解决这个问题的解决方法。 首先&#xff0c;让我们来了解一下xinput1_3.dll文件。xinput1_3.dll是一个动态链…

服务注册发现_高可用Eureka注册中心搭建

在微服务架构这样的分布式环境中&#xff0c;我们需要充分考虑发生故障的情况&#xff0c;所以在生产环境中必须对各个组件进行高可用部署&#xff0c;对于微服务如此&#xff0c;对于服务注册中心也一样。 问题&#xff1a; Spring-Cloud为基础的微服务架构&#xff0c;所有的…