问题标签 [kolmogorov-smirnov]
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.
python - 使用 scipy.stats.kstest 的两样本 Kolmogorov-Smirnov 检验
我想使用 scipy.stats.kstest 来测试执行一个两样本的 Kolmogorov-Smirnov,即测试是否有两列(样本)的数据来测试底层的人口分布函数是否不同。kstest 可以做到这一点吗?
我的问题是我只能在文档中找到如何使用 kstest 将给定样本与已知分布(如正态、t 等)进行比较。
python - 2 KS 测试样本 - 似乎有问题
我正在尝试使用 scipy 的 ks_2samp 函数运行 Kolmogorov-Smirnoff 测试,以确定数据的直方图是否来自同一分布。虽然有时返回的 p 值似乎不太正确......
例如这个直方图:
我得到一个大约 0.96 的 p 值返回,这看起来真的不对……我做错了什么吗?这些直方图不应该足够不同以至于 p 值会更低吗?
r - 在 Matlab 中执行不善的两样本 Kolmogorov-Smirnov 测试(kstest2)?
我是否遗漏了一些明显的东西,或者 Matlab 给出的pkstest2
值很差?在非常差的情况下,我的意思是我怀疑它甚至被错误地执行了。
kstest2
说明该函数计算渐近p值的帮助页面,尽管我没有找到任何关于准确使用哪种方法的参考。无论如何,描述进一步指出:
渐近p值对于大样本量变得非常准确,并且被认为对于样本量 n1 和 n2 相当准确,例如 (n1*n2)/(n1 + n2) ≥ 4
示例 1
让我们以 Lehman and D'Abrera (1975) 的示例 6 为例:
(n1*n2)/(n1 + n2) = 4
在这种情况下,p值应该是相当准确的。
Matlab 产生p = 0.0497
,而书中给出的解决方案是0.0870
. 为了验证解决方案,我使用了 R,我比 Matlab 更信任它,尤其是在统计方面。
使用ks.test
from stats
package 和ks.boot
from Matching
package:
两者都给p = 0.0870
。
示例 2
让我们使用kstest2
自己的示例来比较更大样本量的 Matlab 和 R 结果:
这产生p = 0.0317
. 现在,使用相同的x1
和x2
向量 R 给出p = 0.03968
。预计非常准确的结果时,大约有 20% 的差异(n1*n2)/(n1 + n2) = 25
。
我失踪了,搞砸了什么吗?Matlab 的性能是否可能kstest2
如示例所示那样糟糕?算法使用的是什么近似值kstest2
?(我可以看到 kstest2 的实现代码,但是参考书籍或论文会更好地理解发生了什么。)
我正在使用 Matlab 2016a。
雷曼和达布雷拉 (1975)。非参数:基于等级的统计方法。第 1 版。施普林格。
python - KS 测试的非标准分布变量?
您能否将 scipy.stats 中的 kstest 用于非标准分布函数(即改变学生 t 的 DOF,或改变 Cauchy 的 gamma)?我的最终目标是找到适合我的分布的最大 p 值和相应参数,但这不是问题。
编辑:
"
scipy.stat 的 cauchy pdf 是:
它意味着x_0 = 0
位置参数和伽玛,Y = 1
。我实际上需要它看起来像这样
"
Q1) 学生 t 至少可以以某种方式使用吗?
因为它似乎可以选择改变参数?
Q2)如果你需要完整的正态分布方程(需要改变 sigma)和上面写的 Cauchy(需要改变 gamma),你会怎么做?编辑:不是搜索scipy.stats
非标准分布,实际上是否可以将我编写的函数输入到 kstest 中以找到 p 值?
谢谢
r - Kolmogorov-Smirnov 检验,D^- = 1
我需要一些帮助来解释我的 ks.test 输出。我有 28 名参与者,每人掷三个骰子。Vektor g 显示了每人的滚动总数。
我想将 g 与实际分布函数进行比较。我使用以下代码生成“真实”分布函数:
以下 ks.test 产生的 D 为 1,这是不正确的。
你能告诉我我哪里做错了吗?非常感谢您的回答!
r - Kolmogorov-Smirnov 检验给出的结果不同于 max(abs(difference(x, y)))
我ks.test
在 r 中使用函数来执行 Kolmogorov-Smirnov 测试。我发现 Kolmogorov-Smirnov 测试给出的结果不同于
根据Wikipedia中 Kolmogorov-Smirnov Test 的定义,结果应该是等价的。
有谁知道为什么?
r - 拉普拉斯分布 R 的 Kolmogorov-Smirnov 检验
我对 R 中的 ks 函数有疑问。我有一个拉普拉斯分布:
所以,我需要做 ks 测试,但找不到任何关于第二个参数应该在那里的东西,比如:
对于对数正态分布或:
物流配送
谢谢。
statistics - SAS - Kolmogorov-Smirnov 双边临界值
我正在尝试计算两侧 Kolmogorov-Smirnov 测试的临界值(PROC NPAR1WAY不输出这些值!)。这计算为 c(a) * sqrt( (n+m)/(nm) ) 其中 n 和 m 是每个数据集中的观察数,对于置信度 a = 0.05,c(a) = 1.36。
任何一个,
A)SAS中有一个例程可以为我计算这些吗?(我已经搜索了一段时间)或者,
B)自己计算统计数据的最佳方法是什么?我最初的方法是从每个数据集中选择行数到宏变量中,然后计算统计量,但这感觉很难看。
提前致谢
python - 如何计算两个加权样本之间的 Kolmogorov-Smirnov 统计量
假设我们有两个样本data1
和data2
它们各自的权重weight1
,weight2
并且我们想要计算两个加权样本之间的 Kolmogorov-Smirnov 统计量。
我们在 python 中这样做的方式如下:
我们只是根据我们的目的修改在Press, Flannery, Teukolsky, Vetterling - Numerical Recipes in C - Cambridge University Press - 1992 - pag.626中实施的经典双样本 KS 统计量。
我们的问题是:
- 有人知道其他方法吗?
- python/R/* 中是否有任何库可以执行它?
- 测试呢?它是否存在或者我们应该使用重新洗牌程序来评估统计数据?