我正在寻找随机游走/随机趋势算法的JavaScript实现.我需要一些能够坚持趋势的东西(所以,只是普通的随机增量),同时仍然保持在一些指定的边界内.我尝试通过基于加权平均值选择数字来写出一些东西(重量是使用高斯函数计算的),最后是一条稍微平滑的线(不够好).然后,我采取了一种不那么直接的方法,并试图在互联网上搜索,虽然我发现了一些概述,但没有什么特别的,我理解.
事实证明(我最初并没有意识到这一点),似乎已经有一系列算法使用高斯方程来产生随机趋势.但是,尽管经过了数小时的搜索,我找不到对我没用的抽象方程式.我能找到的最好的是这个博客,他展示了我正在寻找的随机数据图片.他列出了方程,但我不知道那些实际上应该是什么意思(对我来说,它似乎不是一个完整的解决方案).
已经有哪些算法(最好是JavaScript或类似C的实现)来生成这样的数据?
在R中生成随机游走非常简单.它由以下代码完成:
x <- rnorm(100)
y <- cumsum(x)
Run Code Online (Sandbox Code Playgroud)
但是如何使用趋势和/或漂移生成/模拟随机游走?
一个朋友打赌我不能递归地写这个。不幸的是他赢了,但我仍然想知道我将如何去做:
函数为: rw_in_range(start, low, high)
输入是:
start - 一个正整数,表示“梦游者”的起始位置
低- 一个正整数,代表“梦游者”将被允许徘徊到的最左边位置
high - 一个正整数,代表“梦游者”将被允许游荡到的最右边位置
低 <= 开始 <= 高
该函数应模拟随机游走,其中“梦游者”在由低和高边界给出的位置范围内徘徊。
梦游者进行随机步骤,其大小由调用我的函数给出:
def random_step():
""" chooses a random step (-1 or 1) and returns it.
inputs: none! However, make sure to use parens when calling it.
For example: random_step()
"""
return random.choice([-1, 1])
Run Code Online (Sandbox Code Playgroud)
随机游走应该继续,直到给定的步骤导致“梦游者”到达/超出边界低或高之一。然后,该函数应返回梦游者到达停止位置所需的步数。
例如,第一行的语句print((' ' * start) + 'S')应该是这样的:
>>> rw_in_range(10, 5, 15)
S
S
S
S
S
S
S
S
S
S
Run Code Online (Sandbox Code Playgroud)
9
我的函数目前看起来像这样:
def rw_in_range(start, …Run Code Online (Sandbox Code Playgroud) 我想在Python中绘制三维随机游走.与下面给出的图片相似的东西.你能给我一个工具吗?我试图使用matplotlib,但对如何做到这一点感到困惑.
现在我有一个lattice零的阵列,其基本上是X*Y*Z二维并保持其中随机游走已经走过,把信息0以1在每个(x,y,z)该随机游走已加强.
我是论坛新手,也是编程初学者。
我的任务是在 Matlab(1D 或 2D)中对随机游走进行编程,并且可以调整方差。我找到了随机游走的代码,但我真的很困惑在哪里放置方差。我认为随机游走总是具有相同的方差(= t),所以也许我只是迷失在数学中。
如何控制方差?
random-walk ×5
python ×2
algorithm ×1
drift ×1
gaussian ×1
javascript ×1
matlab ×1
matplotlib ×1
r ×1
range ×1
recursion ×1
trend ×1
variance ×1