转移矩阵
一、直观理解:下一步去哪,只看现在在哪
马尔可夫链用状态之间的转移概率描述随机动态。转移矩阵 的元素 表示从状态 一步转到 的概率。无记忆性意味着:已知现在,未来与更早历史无关。
天气三态、品牌忠诚、信用等级迁移、棋盘随机游走,都可以先估计 ,再分析多步分布与长期行为。
二、适用场景与优缺点
| 类型 | 说明 |
|---|---|
| 适用场景 | 离散状态、离散时间;历史可忽略或可并入状态;有转移计数数据。 |
| 核心优点 | 结构清晰;多步预测即矩阵幂;与稳态、吸收时间理论完备。 |
| 局限与缺点 | 强无记忆假设;状态划分主观;非平稳转移需时变模型。 |
三、核心原理
满足 ,(行随机,约定因教材而异,MATLAB 常行随机)。
初分布 (行向量)时,
步转移 。由频率估计:
其中 为观测到的 次数。
四、实践要点
- 统一行/列随机约定;
- 稀疏转移与零计数的平滑;
- 检验马尔可夫性(若数据允许);
- 画状态转移图帮助解释。
五、MATLAB 示例
%% 转移矩阵估计与多步预测
% 状态: 1晴 2阴 3雨
seq = [1 1 2 1 3 3 2 1 1 2 3 2 1 2 2 3 1 1 2 1];
m = 3;
N = zeros(m);
for t=1:numel(seq)-1
N(seq(t), seq(t+1)) = N(seq(t), seq(t+1)) + 1;
end
P = N ./ sum(N, 2);
% 处理全零行
P(isnan(P)) = 0;
for i=1:m
if sum(P(i,:))==0, P(i,i)=1; end
end
disp("计数矩阵 N ="); disp(N);
disp("转移矩阵 P ="); disp(P);
pi0 = [1 0 0]; % 今天晴
pi3 = pi0 * P^3;
fprintf("3 天后分布 = [%s]\n", num2str(pi3, '%.3f '));
% 模拟一条链
rng(4);
s = 1; path = s;
for t=1:30
s = randsample(1:m, 1, true, P(s,:));
path(end+1)=s; %#ok<AGROW>
end
figure; stairs(path, "LineWidth", 1.2);
xlabel("t"); ylabel("状态"); title("马尔可夫链样本路径");
yticks(1:3); yticklabels(["晴","阴","雨"]); grid on;
六、如何解释结果
报告状态定义、估计方法、 表、多步预测含义。指出哪类转移最频繁,是否符合常识。
七、常见误区
1. 行和不为 1
2. 用截面占比直接当转移概率
3. 状态过细导致估计稀疏
4. 忽略非平稳(节假日效应等)
附:建模流程中的落地清单(转移矩阵)
要把方法真正写进论文,建议补齐以下模块,而不是只贴一个最终数字。
1. 问题对齐与假设
说明题目中的输入/输出如何映射到本方法,并显式列出关键假设。假设越清楚,后面的敏感性分析越有对象。
2. 关键关系
行随机 ,;可用转移计数频率估计。
3. 补充实现片段
P=[0.7 0.3;0.4 0.6]; disp(P^5);
4. 报告要素
状态定义、、估计方法、多步预测。
5. 不适用情形
行和不为1;用截面占比当转移概率。
6. 与验证章节的衔接
至少做一项:参数扰动、与基线方法对照、极限情形检查。把“方法正文”和“全局方法论(第15门类)”连起来,结论才站得住。
附:结果解读示例与常见审稿问题
结果解读示例
假设已经得到主要数值输出。写作时应把数字翻译回题目语言,例如:
- “在基准参数下指标为 A;当关键参数变化 ±10% 时,指标波动约 B%,方案排序未变。”
- “算法在 R 次独立重复中有 S 次收敛到同一结构解,说明结论对初始化不敏感。”
- “与简化基线相比,本方法在验证集误差降低 Δ,但计算时间增加,权衡后仍采用。”
如果只有表格没有句子,评委很难判断你是否真正理解结果。
参数与数据的最小敏感性
即使篇幅有限,也建议给出一个小表:选取 1–3 个最关键参数,各取偏低/基准/偏高三档,报告输出变化。这比大段空泛的“模型具有较强鲁棒性”更有说服力。
可复现信息
在附录或正文脚注中记录:软件版本、随机种子、关键容差、数据截取时间范围。另一人按文档应能得到同量级结果。
审稿式自问
- 方法假设在题目数据上是否可检查?
- 若最敏感参数估计错误 20%,结论是否翻盘?
- 是否存在更简单方法达到相近效果?
- 图表是否都能用一句话概括?
- 局限是否写得具体,而不是套话?
把上述自问的答案写进论文,方法章节会明显更“像完成了建模”,而不是“像完成了公式摘录”。
八、小结
转移矩阵是马尔可夫链的核心参数,编码了状态间的一步动态。正确估计并保持概率归一后,多步预测与后续稳态分析才有基础。