问题标签 [stochastic-process]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 这里的浮点精度是怎么回事?
这个问题在参考是来自代码高尔夫挑战的观察。
提交的 R 解决方案是一个可行的解决方案,但我们中的一些人(也许只有我)似乎对为什么X=m
需要进行初始重新分配感到目瞪口呆。
@Giuseppe 对代码进行了一些修改,因此我将为读者写一些评论。
据我所知。乘法X%*%m
等价于X%*%X
因为X
是 的一个迭代自乘版本m
。矩阵收敛后,将其他副本相乘m
或X
不改变其值。请参阅线性代数教科书或v(m)%*%v(m)%*%v(m)%*%v(m)%*%v(m)%*%m%*%m
将上述函数定义为v
。好玩吧?
那么问题来了,为什么@CodesInChaos 对这个想法的实现行不通呢?
这是由浮点精度问题引起的吗?或者这是由代码中的 a 函数引起的,例如不等式检查或 .Primitive("any")?我不相信这是as.logical
由于 R 似乎强制错误小于.Machine$double.xmin
0 造成的。
这是上面的演示。m
我们只是循环并获取和之间的差异m%*%m
。当我们尝试收敛随机矩阵时,该误差变为 0。它似乎收敛然后吹到 0/INF 最终取决于输入。
关于为什么这是一个浮点数学问题的一些额外想法
1)循环表明这可能不是any
任何逻辑检查/转换步骤的问题,而是与浮点矩阵数学有关。
2)@user202729 在原始线程中的评论说这个问题在果冻中仍然存在,代码高尔夫语言更加相信这可能是一个浮点问题。
wolfram-mathematica - 在数学中求解随机力随 Sqrt(tao) 变化的 Langevins 无量纲随机微分方程
我需要帮助解决 Langevins 无量纲随机微分方程,其中随机力在数学中随 Sqrt(tao) 变化。
random - 从数据集中随机抽样
我的财务数据具有以下值:“数量”、“利润/损失”、“成本”等
现在,可以安全地假设该数据集中的每条记录都是单个随机变量的“实现”或结果,因此我们可以将此数据集建模为一组 iid 随机变量。
现在,我想利用这个数据集来模拟这个随机变量的潜在分布。
谁能指出我正确的方向?
r - 聚合级别的马尔可夫链(多序列)
假设我有三个序列:
这些序列存储在三个不同的 CSV 文件中。我想从这些数据[聚合]中计算一阶马尔可夫链。
实际上,我想从每个文件中读取序列(即 A 到 B 从文件 1 发生 2 次,从文件 2 发生 1 次,从文件 3 发生 3 次。A 总共发生 10 次。所以,概率为 6 /10。
注意如果我计算每个文件的转换概率并将它们平均。会一样吗?
r - 随机方程循环
我想使用以下表达式为 100 个不同的种子生成一系列随机方程:
最后,我想将 100 个“Y”时间序列保存到一个矩阵中。
如何创建一个循环来保存“Y”时间序列的每个值?
r - R中几何布朗运动的蒙特卡罗模拟给出负数
我的印象是涉及几何布朗运动的模拟不应该产生负数。但是,我在 R 中为 GBM 尝试了以下蒙特卡罗模拟,其中我的初始资产价格为:$98.78$,$\mu = 0.208$,$\sigma = 0.824$。我这样初始化了我的数据框:(我只是在 5 年内进行 1000 次模拟,每年模拟价格)
然后:
然后我执行模拟(dt = 1):
然后当我检查 V_df 时,有很多负面条目,这不应该是这种情况。有人知道为什么会这样吗?
谢谢。
python - 如何计算python中矩阵的平衡?
我想在 python中执行矩阵平衡。我想使用linalg.matrix_balance
以使输入矩阵成为双重随机矩阵:
看起来它实际上并没有平衡矩阵的行和列。知道我该怎么做吗?
如果我做:y, permscale = linalg.matrix_balance(x, scale=False)
结果也没有标准化:
python - Python:使用 scipy quad 嵌套在另一个积分中的积分和函数
我已经设法使用 scipy.integrate.quad 为我的随机过程类编写了几行代码
我有标准布朗运动的马尔可夫转换函数
但是我想计算以下我将用不起作用的代码编写的内容。我是这样写的,所以我们可以在不使用乳胶的情况下理解问题。
您可能注意到问题在于内部积分中发生的二元问题。我做了以下但不确定:
然后我得到
我喜欢 Python 及其 lambda 函数,但似乎对此不确定。你觉得呢?你有没有什么想法?感谢您的时间。
simulation - 在 R 中模拟 Ogata 的细化算法
我正在尝试完全按照https://www.math.fsu.edu/~ychen/research/Thinning%20algorithm.pdf中的算法 3 中给出的 Ogata 的细化算法,使用他们指定的参数来生成图 2。
这是逐字复制它的代码。
然而,我设法得到(运行多次)的 lambda 与时间的图是这样的,与他们在图 2 中得到的图(呈指数下降)相去甚远。
我不确定我在做什么错误。如果有人可以提供帮助,那就太好了。这是我的研究所需要的。我来自生物学,所以如果我做了一些愚蠢的事情,请原谅。谢谢。
performance - 从离散分布改进样本的缩放
我最近开始和 Julia 一起玩,我目前正在对二维晶格上的一些随机过程进行蒙特卡罗模拟。每个站点都有一些相关的激活率(平均每秒它“做某事”的次数),我们可以假设它是近似恒定的。晶格位点的激活顺序是相关的,因此我们需要一种随机选择一个特定位点的方法,其概率与激活率成正比。
sample(sites,weights(rates))
从包中看起来StatsBase
正是我正在寻找的东西,但是通过测试我的代码结构(没有逻辑,只有循环和 RNG),结果证明它sample()
与站点数量成线性关系。这意味着总体上我的运行时间像 N^(2+2) 一样缩放,其中 N 在我的二维晶格的边长中(一个因子为 2 来自总活动率的增加,另一个来自 的缩放sample()
)。
现在,总活动率的增加是不可避免的,但我认为“随机选择权重”方法的缩放比例可以改进。更具体地说,应该能够实现与站点数量的对数缩放(而不是线性)。例如考虑以下功能(请原谅糟糕的编码)
因为我们在每一步中将“可挑选”站点的数量减半,所以需要 n 步才能从 2^n 中挑选一个特定站点(因此是对数缩放)。但是,在其当前状态下,它的速度比缩放实际上randompick()
要慢得多。sample()
有没有办法将此方法简化为可以与之竞争sample()
并因此利用改进的缩放比例的形式?
编辑:也计算cumrates
像 N^2 这样的比例,但这可以通过rates
在整个代码中以正确的(累积)形式使用来解决。