问题标签 [statistics]

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.

0 投票
10 回答
3421 浏览

algorithm - 表示连续概率分布

我有一个涉及连续概率分布函数集合的问题,其中大部分是根据经验确定的(例如出发时间、运输时间)。我需要的是获取其中两个 PDF 并对它们进行算术运算的某种方法。例如,如果我有两个取自 PDF X 的值 x 和取自 PDF Y 的 y,我需要获取 (x+y) 或任何其他操作 f(x,y) 的 PDF。

分析解决方案是不可能的,所以我正在寻找的是允许这些事情的 PDF 的一些表示。一个明显(但计算成本高)的解决方案是蒙特卡罗:生成大量 x 和 y 值,然后仅测量 f(x, y)。但这需要太多的 CPU 时间。

我确实考虑将 PDF 表示为范围列表,其中每个范围具有大致相等的概率,有效地将 PDF 表示为均匀分布列表的并集。但我看不出如何将它们结合起来。

有人对这个问题有什么好的解决方案吗?

编辑:目标是创建一种用于操作 PDF 的迷你语言(又名域特定语言)。但首先我需要理清底层的表示和算法。

编辑 2: dmckee 建议使用直方图实现。这就是我对统一分布列表的理解。但我不知道如何将它们结合起来创建新的发行版。最终我需要找到像 P(x < y) 这样的东西,以防它可能非常小。

编辑 3:我有一堆直方图。它们不是均匀分布的,因为我是从发生数据生成它们的,所以基本上如果我有 100 个样本并且我想要直方图中的 10 个点,那么我为每个条分配 10 个样本,并使条的宽度可变但面积不变。

我已经发现要添加 PDF,您需要对它们进行卷积,并且我已经为此做好了数学准备。当你对两个均匀分布进行卷积时,你会得到一个包含三个部分的新分布:较宽的均匀分布仍然存在,但每边都有一个三角形,其宽度与较窄的分布相同。因此,如果我对 X 和 Y 的每个元素进行卷积,我会得到一堆这些,全部重叠。现在我试图弄清楚如何将它们全部相加,然后得到一个最接近它的直方图。

我开始怀疑蒙特卡洛到底是不是一个坏主意。

编辑 4: 本文详细讨论了均匀分布的卷积。一般来说,你会得到一个“梯形”分布。由于直方图中的每个“列”都是均匀分布,我希望可以通过对这些列进行卷积并对结果求和来解决问题。

然而,结果比输入复杂得多,并且还包括三角形。 编辑 5: [删除了错误的内容]。但是,如果这些梯形近似为具有相同面积的矩形,那么您会得到正确的答案,并且减少结果中的矩形数量看起来也很简单。这可能是我一直在寻找的解决方案。

编辑6:解决!这是这个问题的最终 Haskell 代码:

其他运算符留给读者练习。

0 投票
3 回答
2810 浏览

google-maps - 寻找 google-analytics 风格的地图创建应用程序或 api

我正在寻找基于访问者 IP 地址创建应用程序或 api 的谷歌分析式地图,有什么建议吗?

谢谢,

尼佩雷斯

0 投票
5 回答
3492 浏览

statistics - 逻辑语言 - Prolog 或 Lisp/Smalltalk 或其他?

所以,我正在编写某种统计程序(实际上我正在将它重新设计为更优雅的东西)并且我认为我应该使用为这种东西创建的语言(处理大量的统计数据,它们之间的连接和某种遗传/神经编程)。

说实话,我只是想要一个深入研究 lisp/smalltalk 的借口(smalltalk/lisp/clojure 不一样吗?-像 python 和 ruby​​ 一样?-semantics-wise)但我也想要一种易于理解的语言其他喜欢 BASIC 语言的人(这就是我没有选择 LISP 的原因 - 还 :D)。

我还检查了 Prolog,它似乎是一种非常酷的语言(易于处理数据之间的关系并且比 Lisp 更容易),但我想听听您的想法。

谢谢

编辑:我总是把普通的 lisp 和 Smalltalk 混为一谈。很抱歉把这两个语言放在一起。另外,我所说的“其他喜欢 BASIC 语言的人”的意思是,我不喜欢像 lisp 这样具有语义的语言(对于没有 CS 背景的人),我发现 Prolog 更直观一些(但那是我的我只是把他们俩都弄乱了一点之后的意见)。

0 投票
4 回答
28246 浏览

svn - 是否可以使用 TortoiseSVN 获取统计信息?

是否可以获得有关每个用户贡献、总行数等的统计信息?

0 投票
6 回答
520 浏览

statistics - 比较静态类型代码和动态类型代码 - 成本和收益

不管它的优点是什么,Adobe 的 Actionscript 3 提供了一个独特的机会来探索类型化语言与非类型化语言的后果,因为它几乎是 javascript 的严格超集,具有严格类型声明的所有语法优势/开销、声明性强制转换、等等

这使得可能的是比较两种方式编写的相同代码,同时分解出基本的语言语法。

这让我想知道是否有任何量化证据表明强类型的真正好处,特别是在编译期间的错误检查方面,在错误率、编程效率和代码量方面;还是我们的观点完全基于推测和猜想?是否有任何其他可以同时使用的语言(不包括老式的 VB——无论哪种方式都不是一种备受推崇的语言。)

我已经在这两种语言上花费了大量时间,但还没有最终决定我更喜欢哪种方式,我宁愿不添加轶事证据 - 我正在寻找客观信息。

0 投票
4 回答
4619 浏览

ruby-on-rails - 收集 Rails 应用程序使用统计信息的最佳方法

我有一个 Rails 应用程序,用户可以在其中设置他们的域并将内容发布到它们上。我需要收集公共流量统计信息,例如浏览量等。这个功能的一个很好的例子是我可以作为客户看到的 flickr 使用统计信息。

问题是收集使用信息的最佳方式是什么。应该通过解析日志文件来完成,还是应该在运行时收集并存储在数据库中?是否有任何工具或 Rails 插件已经提供了这个?

这个解决方案应该可以很好地扩展,即使每月有数千个域和数百万次浏览量。

0 投票
7 回答
26322 浏览

algorithm - 如何计算两个正态分布的总和

我有一个表示高斯分布的值类型:

我想对一系列这些值进行积分:

我的问题是如何为这些正态分布实现加法。

标量 ( dt) 的乘法看起来很简单。但这并不简单!感谢FOOSHNICK的帮助:

然而,加法让我望而却步。我想我可以添加手段;这是给我带来麻烦的差异。这些定义中的任何一个对我来说似乎都是“合乎逻辑的”。

任何人都可以帮助定义一个统计上正确的 - 或者至少是“合理的” -+运营商版本吗?

我想我可以将代码切换为使用区间算术,但我希望留在概率和统计的世界中。

0 投票
7 回答
22333 浏览

php - 如何用php识别机器人?

我正在为我的用户建立统计数据,并且不希望计算来自机器人的访问。

现在我有一个基本的php,每次调用页面时mysql都会增加1。

但机器人也被添加到计数中。

有没有人能想到办法?

主要是那些把事情搞砸的主要因素。谷歌、雅虎、Msn 等

0 投票
5 回答
23670 浏览

java - 哪个 java 库计算累积标准正态分布函数?

对于一个项目,我有一个带有公式的规范,我必须实施。在这些公式中,存在累积标准正态分布函数,它采用浮点数并输出概率。该函数用 Φ 表示。是否存在计算此函数的 Java 库?

0 投票
7 回答
1303 浏览

unit-testing - 如何在不确定的情况下进行单元测试?

我们有几种不同的优化算法,每次运行都会产生不同的结果。例如,优化的目标可能是找到函数的最小值,其中 0 是全局最小值。优化运行返回如下数据:

这非常接近全球最小值,所以这没关系。我们的第一种方法是只选择一个阈值,如果结果太高,则让单元测试失败。不幸的是,这根本不起作用:结果似乎具有高斯分布,因此,尽管不太可能,但有时即使算法仍然很好而我们运气不好,测试也会失败。

那么,我该如何正确测试呢?我认为这里需要相当多的统计数据。同样重要的是测试仍然很快,只是让测试运行几百次然后取平均值会太慢。

以下是一些进一步的说明:

  • 例如,我有一个算法可以将一个圆拟合到一组点中。它非常快,但并不总是产生相同的结果。我想写一个单元测试来保证在大多数情况下它已经足够好了。

  • 不幸的是,我无法为随机数生成器选择固定种子,因为我不想测试算法是否产生与以前完全相同的结果,但我想测试类似“90% 确定我得到 0.1 或更好的”。