matrix - 关于为场景构建转移矩阵的问题
问题描述
我在学习时遇到了一些关于构建转移概率矩阵的问题,以下是问题的场景:
**假设一部手机有i个故障(对于 i = 0,1,2,3,发生另一个故障的概率是 p,与前一天无关,并且新故障将以 q^i+1 的概率修复在同一天内。
如果手机没有修好,那就是更换。
如果电话有第 n 个故障,则立即更换。(n=3)
替换手机最初的故障为零
在一天之内发生不止一个故障的概率足够小,可以忽略。**
如何为当前状态表示手机迄今为止经历(并已修复)的故障数量的马尔可夫链构建转移矩阵。
解决方案
您可以从一个更简单的案例开始:假设手机只能在第二天修理。让我们定义所有可能的状态:
- 0f OK - 零故障,手机正常
- 1f B - 一个故障,手机坏了
- 1f OK - 一个故障,手机正常
- 2f B - 两个故障,手机坏了
- 2f OK - 两次故障,手机正常
- 3f B——三个故障,手机坏了
现在我们知道手机实际上必须在同一天维修。在这种情况下,我们只有 3 种状态,并且在每种状态下手机都正常(维修或更换):
- 0f - 零故障
- 1f - 一个错误
- 2f - 两个错误
从第一张图中,您可以看到从一个 OK 状态到另一个 OK 状态的所有路径。您需要做的就是遵循路径并收集概率:
您可以看到每个原始总和为 1(有两种不同的约定。第二个表示列的总和应为 1)。在第一个约定中,您计算下一个状态向量X=A*X
,就像在第二个约定中一样X=X*A
推荐阅读
- python - 评估嵌套的 For 循环
- objective-c - iOS NSRegularExpression 文本
- xcode - 如何在 react-native 应用程序(Xcode)中编辑/更新启动屏幕文本
- amazon-web-services - 不清楚在 aws cloudformation yaml 模板中添加 --conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4 的位置
- python-3.x - 出现错误:-ValueError:“b'Feb 1978, 2, 1975 总访问时间(以分钟为单位):\n'”的格式编号 1 无法识别
- javascript - excel、javascript、python和html的链接
- jquery - div 内容加载完成后,如何删除占位符?
- c++ - 调用 getline(std::istream&, int&) 没有匹配的函数
- spring-boot - WSO2 在尝试联合登录时抛出 EmptyStackException
- unit-testing - 在 InjectMocks 的服务上使用 when() 方法时出现 MissingMethodInvocationException