马尔科夫链,基于概率的随机文本。爪哇
我试图根据输入文本的重复概率生成140个字符的字符串.我已经有一个数组,每个有效字符和每个字符的不同数组概率. char[] array = [a, b, c, ...] double[] array2 = [.1, .3, .4, ...] 我已经读到我需要从0-1开始生成一个随机双重,但是我没有如何将其与数组相关联并生成140个char字符串.只需要有关该方法的帮助,至少需要有关如何做的解释. 预先感谢. 解决方案 这是我的实现.如果您有一些问题,请告诉我. import java.util.Random; public class MarkovChainTest { private static char[] array = {'a', 'b', 'c', 'd'}; private static double[] array2 = {.1, .3, .4, .2}; public static void main(Stri
20 2024-03-06
编程技术问答社区
在Matlab中存储函数中的循环值
我正在MATLAB中写一项功能,以模拟中风患者医院的住院时间.我很难存储我的输出值. 这是我的功能: function [] = losdf(age, strokeType, dest) % function to mdetermine length of stay in hospitaal of stroke patients % t = time since admission (days); % age = age of patient; % strokeType = 1. Haemorhagic, 2. Cerebral Infarction, 3. TIA; % dest = 5.Death 6.Nursing Home 7. Usual Residence; alpha1 = 6.63570; beta1 = -0.03652; alpha2 = -3.06931; beta2 = 0.07153; theta0 = -8.66118; theta1 = 0.088
22 2024-03-05
编程技术问答社区
基于统计学而不是字典/表格的 "变位词求解器"?
我的问题在概念上类似于求解Anagram,除了我不能仅使用字典查找.我试图找到合理的单词而不是真实的单词. 我根据一堆文本中的字母创建了一个N-gram模型(目前为n = 2).现在,考虑到一个随机的字母顺序,我想根据过渡概率将它们置于最可能的序列中.我以为我会需要我能读到一种著名的算法吗?还是我和Viterbi一起在正确的轨道上,我只是看不到如何应用它? 更新 我添加了一个赏金,要求更多地了解这个问题. (分析解释了为什么无法进行有效的方法,除了模拟退火之外,其他启发式方法/近似值) 解决方案 如果我正确理解您的问题,则您正在搜索一个单词中的所有字母排列,以适用于最低产品的2-gram概率. 如果您的单词太长而无法简单地将所有组合施加爆发,我发现随机优化算法在短时间内会产生良好的结果.我(具有数学背景)已经在算法上做了一些工作," 其他解决方案 将K个字母集作为图中的顶点. 添加有向边的边缘以将每个字母的2克表示给所有其他字母,并具有与其概率相对
6 2024-01-22
编程技术问答社区
R 中的简单马尔可夫链(可视化)
我想在R中做一个简单的一阶马尔可夫链.我知道有像MCMC这样的软件包,但找不到以图形方式显示它的软件包.这甚至可能吗?如果给出了过渡矩阵和初始状态,那将是很好的,可以在视觉上看到路径穿过马尔可夫链(也许我已经手工做到了...). 谢谢. 解决方案 这显示了如何将随机过渡矩阵应用于特定的启动向量:C(1,0,0,0): set.seed(123) tmat
12 2023-11-20
编程技术问答社区
了解R中的马尔科夫链源代码
以下源代码来自一本书.我写的评论是为了更好地理解代码. #================================================================== # markov(init,mat,n,states) = Simulates n steps of a Markov chain #------------------------------------------------------------------ # init = initial distribution # mat = transition matrix # labels = a character vector of states used as label of data-frame; # default is 1, .... k #------------------------------------------------------
28 2023-09-29
编程技术问答社区
稳态概率(马尔可夫链)Python实施
嗨,我正在尝试生成过渡概率矩阵的稳态概率.这是我使用的代码: import numpy as np one_step_transition = np.array([[0.125 , 0.42857143, 0.75 ], [0.75 , 0.14285714, 0.25 ], [0.125 , 0.42857143, 0. ]]) def steady_state_prop(p): dim = p.shape[0] q = (p-np.eye(dim)) ones = np.ones(dim) q = np.c_[q,ones] QTQ = np.dot(q, q.T) bQT = np.ones(dim) return np.lina
26 2023-08-22
编程技术问答社区
创建一个任意大小的矩阵,其中各行之和为1?
我的任务是为任意数量的事件创建一个模拟离散时间马尔可夫链的程序.但是,目前,我正在努力的部分是创建代表概率的正确随机矩阵.正确的随机矩阵是一个矩阵,其行条目总和为1.对于给定的大小,我知道如何编写执行此操作的矩阵,但是,问题是我不知道如何以任意大小来做到这一点. . 任何帮助都将不胜感激. (请注意,这不是一个家庭作业问题,它仅在我的数学课上获得额外的信用,而教授不介意使用外部来源.) 解决方案 使用 @MBO的想法: In [16]: matrix = np.random.rand(3,3) In [17]: matrix/matrix.sum(axis=1)[:,None] Out[17]: array([[ 0.25429337, 0.22502947, 0.52067716], [ 0.17744651, 0.42358254, 0.39897096], [ 0.36179247, 0.28707039, 0.
12 2023-07-24
编程技术问答社区
PyMC:马尔科夫系统中的参数估计
简单的马尔可夫链 假设我们要估算系统的参数,以便我们可以在时间步骤t处预测时间步骤t+1. PYMC应该能够轻松处理. 让我们的玩具系统由1D世界中的一个移动对象组成.状态是对象的位置.我们想估计潜在变量,即对象的速度.下一个状态取决于上一个状态和潜在变量的速度. # define the system and the data true_vel = .2 true_pos = 0 true_positions = [.2 * step for step in range(100)] 我们假设我们的观察中有一些噪音(但这并不重要). 问题是:如何建模下一个状态对当前状态的依赖性.我可以为过渡函数提供参数IDX以访问时间t的位置,然后预测时间t+1的位置. vel = pymc.Normal("pos", 0, 1/(.5**2)) idx = pymc.DiscreteUniform("idx", 0, 100, value=range(100), ob
28 2023-07-03
编程技术问答社区
隐马尔科夫模型预测下一个观察值
我对鸟的运动有500个观察结果.我想预测鸟的第501个运动是什么.我搜索了网络,我想这可以通过使用HMM来完成,但是我对该主题没有任何经验.谁能解释用于解决此问题的算法的步骤? 解决方案 x1-x2-x3-x4-x5......x500-x501 | | | | | | y1 y2 y3 y4 y5 y500 x - actual state y - observations P(y_i|x_i) - how you think the observation depends on the actual state P(x_i|x_(i-1)) - how you think the actual state evolves for i = 1,2,3...,501: write down best-guess of x_i based on y_i* and x_(i-1)** you have your solution, sinc
24 2023-06-14
编程技术问答社区
R马尔科夫链包,是否可以设置节点的坐标和大小?
我正在与R合作一些生物学 - 行为问题,我有一个过渡矩阵,我想以某种方式绘制. 我正在使用markovchain软件包,这使可视化变得容易. 这是一个测试代码,它的输出. > a markov markov test A 4 - dimensional discrete Markov Chain defined by the following states: a, b, c, d The transition matrix (by rows) is defined as follows: a b c d a 0.25 0.25 0.25 0.25 b 0.25 0.25 0.25 0.25 c 0.25 0.2
38 2023-06-08
编程技术问答社区
R2BayesX中的多状态模型
我正在尝试使用 R 包 R2BayesX 拟合多状态模型.我怎样才能正确地做到这一点?手册中没有示例.这是我的尝试. 活动为 1/0,即状态 时间就是时间 患者 id 是我想要的随机效应 f
318 2022-08-11
编程技术问答社区
马尔科夫链是如何工作的,什么是无记忆性?
马尔可夫链如何工作?我已经阅读了 马尔可夫链的维基百科,但我没有得到的是无记忆.无记忆状态表明: 下一个状态仅取决于当前状态,而不取决于当前状态之前发生的一系列事件. 如果马尔可夫链具有这种性质,那么在马尔可夫模型中链有什么用呢? 解释这个属性. 解决方案 你可以想象马尔可夫链就像青蛙在池塘里从睡莲跳到睡莲.青蛙不记得它以前去过哪个睡莲.对于 i 和 j 的所有可能组合,它还具有从睡莲 Ai 跳跃到睡莲 Aj 的给定概率.马尔可夫链允许您计算青蛙在任何给定时刻在某个睡莲上的概率. 如果青蛙是素食者,每次它落在睡莲上时都会轻咬它,那么它从睡莲 Aj 降落在睡莲 Ai 上的概率也取决于之前访问 Ai 的次数.然后,您将无法使用马尔可夫链对行为进行建模,从而预测青蛙的位置.
320 2022-08-11
编程技术问答社区
计数和比例的过渡矩阵 python
我有一个矩阵,其中包含不同年份的班级成绩(年份为行,成绩为列).我想要的是建立一个年际变化的过渡矩阵. 例如,我想要 t-1 年在 y 轴上,t 年在 x 轴上,然后我想要一个转换矩阵,其中包含 t-1 年和 t 年之间 A 级人数的差异, t-1 年和 t 年之间的 B 级,依此类推.然后是具有比例的第二个转换矩阵,例如:- 在 t-1 年和 t 年之间,A/B/C/D/F 级的人数增加/减少了 z%. 显然,最重要的部分是对角线,它代表不同年份相同等级的变化. 我希望在 Python 中完成. 非常感谢,希望一切都清楚. 结果示例:在此处输入图片描述 解决方案 您可以将pandas 库与df.diff 一起使用.numpy 可以使用 np.subtract.outer 生成所有可能差异的矩阵.下面是一个例子. import pandas as pd import numpy as np import matplotlib.pyplot as p
140 2022-07-27
编程技术问答社区
马尔科夫决策过程:价值迭代,它是如何工作的?
我一直在阅读很多关于马尔可夫决策过程(使用价值迭代)最近,但我根本无法围绕着我的头.我在互联网/书籍上发现了很多资源,但它们都使用数学公式,这对于我的能力来说太复杂了. 因为这是我的第一年,我发现网络上提供的解释和公式使用概念/术语对我来说太复杂,他们认为读者知道我简单的某些事情从未听说过. 我想在2D网格上使用它(装满墙壁(无法达到的),硬币(可取)和移动的敌人(必须在所有成本中避免)).整个目标是收集所有硬币而不触摸敌人,我想使用马尔可夫决策过程( MDP )为主播放器创建AI.这是它如何部分看起来(请注意,与游戏相关的方面在这里不那么疑虑.我真的想要了解 mdps ): 从我所理解的是, mdps 的粗鲁简化是它们可以创建一个网格,该网格持有我们需要的方向(种类的"箭头网格"指向我们需要的地方从网格上的某个位置开始,以实现某些目标并避免某些障碍.具体到我的情况,这意味着它允许玩家知道哪个方向去收集硬币并避免敌人. 现在,使用 mdp 术语,它意味着它会创建一
2088 2022-07-17
编程技术问答社区