【发布时间】:2014-02-27 03:05:19
【问题描述】:
我正在寻找随机游走/随机趋势算法的 JavaScript 实现。我需要一些能坚持趋势的东西(所以,只是简单的随机增量),同时仍然保持在一些指定的边界内。 我尝试通过基于加权平均值(权重是使用高斯函数计算的)选择数字来从头顶写下一些东西,并最终得到一条稍微平滑的线(不够好)。然后我采取了一种不太直接的方法并尝试在互联网上搜索,虽然我找到了一些大纲,但没有什么具体到我理解的程度。
事实证明(我最初并没有意识到这一点),似乎已经有一系列算法使用高斯方程来产生随机趋势。但是,尽管搜索了数小时,但除了对我没有用的抽象方程式外,我找不到更多。我能找到的最好的是this blog,他在其中展示了我正在寻找的随机数据的图片。他列出了方程式,但我不知道这些实际应该是什么意思(对我来说,这似乎不是一个完整的解决方案)。
已经有哪些算法(最好是 JavaScript 或类似 C 的实现)来生成这样的数据?
【问题讨论】:
-
这是我能想到的第一个相关搜索查询(虽然可能还有其他):google.com/#q=smooth+random+walk+algorithm
-
Is this what you are looking for? 通过查看指向您发布的博客的链接,这是我能想到的最好的方法。这是博客上的第一张图,100 个步骤的 10 个图。
-
@Xotic750 废话;效果很好!你能解释一下它是如何工作的,所以如果需要我可以修改它吗?例如,我怎样才能让它传播得更多,或者我怎样才能限制它的价值?
-
作为答案添加,改进了功能,让您有更多的控制权。您可以在
randomWalk中选择steps的数量来控制传播。要限制这些值,请创建一个修改boxMullerRandom值的函数并将该函数提供给randomWalk。graph只是为了漂亮地展示它的工作原理,随意使用任何绘图者或数据。
标签: javascript algorithm gaussian random-walk