1

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

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

这是 Cauchy 的示例代码:

### Cauchy Distribution Function
data = [-1.058, 1.326, -4.045, 1.466, -3.069, 0.1747, 0.6305, 5.194, 0.1024, 1.376, -5.989, 1.024, 2.252, -1.451, -5.041, 1.542, -3.224, 1.389, -2.339, 4.073, -1.336, 1.081, -2.573, 3.788, 2.26, -0.6905, 0.9064, -0.7214, -0.3471, -1.152, 1.904, 2.082, -2.471, 0.6434, -1.709, -1.125, -1.607, -1.059, -1.238, 6.042, 0.08664, 2.69, 1.013, -0.7654, 2.552, 0.7851, 0.5365, 4.351, 0.9444, -2.056, 0.9638, -2.64, 1.165, -1.103, -1.624, -1.082, 3.615, 1.709, 2.945, -5.029, -3.57, 0.6126, -2.88, 0.4868, 0.4222, -0.2062, -1.337, -0.326, -2.784, 6.724, -0.1316, 4.681, 6.839, -1.987, -5.372, 1.522, -2.347, 0.4531, -1.154, -3.631, 0.426, -4.271, 1.687, -1.612, -1.438, 0.8777, 0.06759, 0.6114, -1.296, 0.07865, -1.104, -1.454, -1.62, -1.755, 0.7868, -3.312, 1.054, -2.183, -7.066, -0.04661, 1.612, 1.441, -1.768, -0.2443, -0.7033, -1.16, 0.2529, 0.2441, -1.962, 0.568, 1.568, 8.385, 0.7192, -1.084, 0.9035, 3.376, -0.7172, -0.1221, 3.267, 0.4064, -0.4894, -2.001, 1.63, -2.891, 0.6244, 2.381, -1.037, -1.705, -0.5223, -0.2912, 1.77, -3.792, 0.1716, 4.121, -0.9119, -0.1166, 5.694, -5.904, 0.5485, -2.788, 2.582, -1.553, 1.95, 3.886, 1.066, -0.475, 0.5701, -0.9367, -2.728, 4.588, -5.544, 1.373, 1.807, 2.919, 0.8946, 0.6329, -1.34, -0.6154, 4.005, 0.204, -1.201, -4.912, -4.766, 0.0554, 3.484, -2.819, -5.131, 2.108, -1.037, 1.603, 2.027, 0.3066, -0.3446, -1.833, -2.54, 2.828, 4.763, 0.9926, 2.504, -1.258, 0.4298, 2.536, -1.214, -3.932, 1.536, 0.03379, -3.839, 4.788, 0.04021, -0.2701, -2.139, 0.1339, 1.795, -2.12, 5.558, 0.8838, 1.895, 0.1073, 2.011, -1.267, -1.08, -1.12, -1.916, 1.524, -1.883, 5.348, 0.115, -1.059, -0.4772, 1.02, -0.4057, 1.822, 4.011, -3.246, -7.868, 2.445, 2.271, 0.5377, 0.2612, 0.7397, -1.059, 1.177, 2.706, -4.805, -0.7552, -4.43, -0.4607, 1.536, -4.653, -0.5952, 0.8115, -0.4434, 1.042, 1.179, -0.1524, 0.2753, -1.986, -2.377, -1.21, 2.543, -2.632, -2.037, 4.011, 1.98, -2.589, -4.9, 1.671, -0.2153, -6.109, 2.497]
def C(data):
    stuff = []
    # vary gamma
    for scale in xrange(1, 101, 1):
        ks_statistic, pvalue = ss.kstest(data, "cauchy", args=(scale,))
        stuff.append((ks_statistic, pvalue, scale))
    bestks = min(c[0] for c in stuff)
    bestrow = [row for row in stuff if row[0] == bestks]
    return bestrow

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

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

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

4

1 回答 1

1

我认为这个问题实际上超出了 SO 的范围,因为它涉及到统计数据。你可能会更好地回答,比如说,交叉验证。但是,让我提出一两点意见。

KS 用于测试给定的数据集是否来自给定的、完全指定的分布函数。(即使出于此目的,它也可能不是最佳的。)据我所知,它并不是用来衡量替代方案之间的匹配度的。

为了推断概率,首先必须有一个可行的数据概率模型。在这种情况下,备选方案的空间是多少?在零假设和备选假设下,概率是如何分配给它们的?

现在,得到我提供的无益的评论。谢谢你这么委婉!这就是我想要表达的。

您尝试以单位步长从 1 缩放到 100。我想指出小于 1 的尺度会产生奇怪的结果。现在我看到了一些紧密配合,当考虑 p 值时尤其如此;除了 scale=2 之外,没有什么可以告诉他们的。这是一个情节。

各种适合

每个三元组给出(比例,KS,p)。

主要的事情可能是,你想从你的数据中得到什么?

于 2016-12-12T21:12:17.080 回答