问题标签 [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.

0 投票
1 回答
662 浏览

python - Conflicting results python's ss.kstest vs R's ks.test (test if sample is uniformly distributed)

I am interested in checking if let's say a sample A (n=25) is uniformly distributed. Here is the way I'd check for that in Python:

Which returns: (0.22222222222222221, 0.14499771178796239), that is, with a p-value of ~0.15 the test can't reject that the sample A comes from an uniform distribution.

Now that's how I calculate the same in R:

The result: D = 0.32, p-value = 0.01195. With R one should reject the null hypothesis at the usual significance level of 0.05 (!!!)

If I read the documentation correctly, both functions perform a two-sided test as a default. Also, I get that the KS test is mainly intended for continuous variables, but can this explain the contrasting approximations produced by Python and R? Alternatively, am I making some flagrant mistake on the syntax?

0 投票
1 回答
93 浏览

r - 使用 R 中的各种标准进行分布拟合

把我想象成一个做常规研究的本科生。

是否有一种简单、直接的方法可以使用以下估计值在 R 中查找和访问(或实现)分布拟合:

  • Kolmogorov-Smirnov 最小距离估计
  • Cramer-von Mises 最小距离估计
  • Anderson-Darling 最小距离估计
  • 最大似然估计

我迷失在关于各种 R 包的大量文档和参考手册中。

这个问题更多地与使用 R 软件系统有关,而不是与统计本身有关,这就是我在 SO 在这里问它的原因。

0 投票
1 回答
697 浏览

python-2.7 - 从 KS 测试结果中获取显着性水平 alpha?

我试图找到我的 Kolmogorov-Smirnov 测试结果的显着性水平/阿尔法水平(最终获得置信水平),我觉得我快疯了,因为这似乎在任何地方都没有得到足够好的解释(以某种方式我明白。)

我有样本数据,我想看看它是否来自四个概率分布函数之一:Cauchy、Gaussian、Students t 和 Laplace。(我没有做两个样本的测试。)

这是 Cauchy 的示例代码:

我正在尝试将此函数拟合到我的数据中,并返回与符合柯西分布的最高概率相对应的比例参数(伽玛)。相应的 ks-statistic 和 p-value 也会返回。我认为这可以通过找到最小 ks 统计量来完成,这将是在任何给定数据点和分布曲线点之间产生最小距离的曲线。不过,我意识到我需要找到“alpha”,以便我可以找到样本数据来自柯西分布的概率,以及我找到的指定比例/伽马值。

我参考了许多试图解释如何找到“alpha”的资源,但我不知道如何在我的代码中执行此操作。

感谢您的任何帮助和见解!

0 投票
2 回答
1461 浏览

python - Python中正态性检验中p值的解释

我正在对我的数据进行正态性测试。一般来说,我希望数据大致正常(足够正常),得到原始值直方图和 QQplot 的支持。 我已经进行了 Kolmogorov-Smirnov 和 Shapiro-Wilk 测试,这就是我感到困惑的地方。我的 p 值几乎为 0。Kolmogorov-Smirnov statistic=0.78, p-value=0.0 Shapiro-Wilk statistic = 0.99, p-value=1.2e-05 这让我相信我应该拒绝零假设。我将假设这是因为我的均值和标准差与 0 和 1 分别为 KS 测试假设不同,如此处所述但随后偶然发现了关于正态性测试的教程,其中两个测试低 p 值显然支持原假设! 数据直方图 在此处输入图像描述正态性测试的情节教程 执行测试 的方式有什么改变吗?还是教程页面上的错误?

0 投票
1 回答
167 浏览

python - scipy kstest 在不同范围内不一致

好的,所以我尝试使用 kstest 的 scipys 实现来评估哪种分布最适合数据。我对 kstest 工作原理的理解是,该统计量表示零假设的概率(即返回的概率是相关模型对数据错误的概率)。对于 0.0 和 1.0 之间的均匀分布,这与预期的一样

a = np.random.uniform(大小=4999)

print(scipy.stats.kstest(a, 'uniform', args=(0.0,1.0)))

KstestResult(统计=0.010517039009963702, pvalue=0.63796173656227928)

但是,当我将均匀分布范围从 (0.0, 1.0) 转移到 (2.0,3.0) 时,KS 统计量异常高

a = np.random.uniform(2.0, 3.0,size=4999)

print(scipy.stats.kstest(a, 'uniform', args=(2.0,3.0)))

KstestResult(统计=0.66671700832788283, pvalue=0.0)

第二种情况下的检验统计量的值是否也应该很低,因为通过的参数与以前一样接近分布?

0 投票
1 回答
990 浏览

python - Python Kolmogorov-Smirnov 拟合优度检验中的 p 值非常低

我有一组数据并通过对数正态分布拟合相应的直方图。我首先计算对数正态函数的最佳参数,然后绘制直方图和对数正态函数。这给出了相当好的结果:

蓝色直方图,红色拟合函数。

但是,在对数据与拟合函数进行 Kolmogorov-Smirnov 检验时,我得到的 p 值太低(大约为 e-32):

这是不正常的,因为我们从图中看到拟合非常准确......有人知道我在哪里犯了错误吗?

非常感谢!!查尔斯

0 投票
2 回答
19 浏览

r - r中元素的等级和标识

我有两个具有不同元素的向量,比如说x=c(1,3,4)y= c(2,9)

我想要一个范围向量,它x用 1 和y0 标识向量的元素,即

(1,2,3,4,9) -----> (1,0,1,1,0)

你怎么能得到 r 中的零和一 (1,0,1,1,0) 的向量?

谢谢

0 投票
0 回答
70 浏览

truncation - 将数据截断为KS测试部分数据是否有效?

我正在使用 KS 检验比较两组 -log10(p-values) 的分布。让我称它们为 X 和 Y。当我绘制 X 与 Y 的 QQ 图时,分布右侧存在明显的膨胀(高 -log10(pvalues))。然而,比较 X 和 Y 的 KS 检验并不显着,因为大多数数据点落在左侧的 1:1 线性线上。当我排除分布的线性部分并仅对膨胀部分进行 KS 检验时,KS 检验是显着的。我的问题是对部分数据进行KS测试是否有效,例如QQ图中的膨胀部分?

0 投票
1 回答
858 浏览

python - 两样本 Kolmogorov-Smirnov 检验,原始数据和预先计算的百分比数据之间的结果差异

我正在尝试从 Scipy 包中实现两个样本 Kolmogorov-Smirnov 测试,以测试两个样本的分布是否存在差异。样品是在两个不同时期出售的 T 恤尺寸(S、M、L、XL 和 XXL)。我想测试两个时期的大小分布是否不同。

我遇到的问题是,与使用原始数据相比,当我预先计算每种尺寸的总百分比时​​,我得到的结果非常不同。我不明白这一点,因为百分比仍然代表相同的分布。

这是我使用的代码(x 和 y 是原始数据,x1 和 y1 是计算的百分比):

这是我得到的两个不同的结果:

Ks_2sampResult(statistic=0.80000000000000004, pvalue=0.03614619076928504) Ks_2sampResult(statistic=0.40000000000000002, pvalue=0.69740487802059081)

0 投票
1 回答
777 浏览

matlab - Kolmogorov-Smirnov 测试 MATLAB 中的正态性 - 数据归一化?

在执行广义线性回归之前,我在 MATLAB 中使用 Kolmogorov-Smirnov 测试来确定数据矩阵的每一列的正态性。一个示例数据向量是:

测试运行并给我一个结果。但是,当我绘制经验累积分布函数 (cdf)(蓝色)和标准正态 cdf(红色)以进行视觉比较时,这种数据向量的比例使得该图没有用处:

示例 CDF

用于绘制此图的代码是:

这是否意味着我的测试结果无效?如果是,我可以标准化数据吗?

同时保持测试有效性?

感谢您的时间,

劳拉