问题标签 [goodness-of-fit]

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 投票
3 回答
11446 浏览

python - 如何使用 Python 中的科学库执行卡方拟合优度测试?

假设我有一些经验数据:

它呈指数分布(带有一些噪声),我想使用卡方拟合优度 (GoF) 测试来验证这一点。使用 Python 中的标准科学库(例如 scipy 或 statsmodels)以最少的手动步骤和假设来做到这一点的最简单方法是什么?

我可以拟合一个模型:

分布和经验数据图

计算Kolmogorov-Smirnov 检验非常优雅。

但是,我找不到计算卡方检验的好方法。

statsmodel 中有一个卡方 GoF 函数,但它假设离散分布(并且指数分布是连续的)。

官方 scipy.stats 教程仅涵盖自定义分布的情况,并且概率是通过摆弄许多表达式(npoints、npointsh、nbound、normbound)来构建的,所以我不太清楚如何为其他分布做这件事。卡方示例假设已经获得了预期值和自由度。

另外,我不是在寻找一种“手动”执行测试的方法,正如这里已经讨论过的那样,而是想知道如何应用一个可用的库函数。

0 投票
1 回答
11339 浏览

matlab - 卡方检验

我在 MATLAB 中为卡方测试编写了代码。我希望获得 0.897 或 0.287 等 P 值,但我的结果太小。下面是我的代码:

我也尝试过使用AD 测试,结果相似:

下面是带有拟合 Weibull 密度函数的数据的直方图(Weibull 参数为A=4.0420B=2.0853

组织拟合

0 投票
1 回答
4700 浏览

matlab - Matlab Kolmogorov-Smirnov 检验

我正在使用 MATLAB 分析一些神经科学数据,并制作了一个 interspike 区间分布并对其进行指数拟合。然后,我想使用 MATLAB 的 Kolmogorov-Smirnov 测试来检查这种拟合。

神经元尖峰的数据只是存储在尖峰向量中。该spikes向量是一个 111 x 1 向量,其中每个条目是另一个向量。spikes向量中的每个条目代表一个试验。每次试验中的尖峰数量各不相同。例如,spikes{1}is a [1x116 double],表示有 116 个尖峰。接下来有 ​​115 个尖峰,然后是 108 个,以此类推。

现在,我了解到 MATLAB 中的 kstest 需要几个参数。你在第一个中输入数据,所以我获取了所有的尖峰间隔并创建了一个行向量alldiffs来存储所有的尖峰间隔。我想将我的 CDF 设置为指数函数拟合:

请注意,理论指数(我用它拟合数据)是r*exp(-rt)发射r率。我得到大约 0.2 的射击率。现在,当我把所有这些放在一起时,我运行了 kstest:

然而,结果是 ap 数量级的值1.4455e-126。我尝试test_cdf使用 Mathworks 网站文档中的另一种方法重做:

这给出了完全相同的结果!身材真的很可怕吗?我不知道为什么我得到如此低的 p 值。请帮忙!

我会发布适合的图像,但我没有足够的声誉。

PS如果有更好的地方发这个,请告诉我,我会重新发布。

0 投票
0 回答
127 浏览

r - R - 适合许多分布以通过 gof 测试进行采样、可视化和排序

R 中是否有任何包允许同时将许多 pdf 拟合到一些样本数据,绘制所有拟合和样本直方图,然后允许按照一些 gof 标准对拟合进行排序,如 Kolmogorov-Smirnov、Anderson-Darling、X2 等。 ..?类似于 EasyFit 的商业软件?

更新

我收到了对我最初的问题的宝贵意见。具体来说,AIC 作为一个指标脱颖而出,它允许将 pdf 与不同数量的参数进行比较。但是,AIC 也有局限性。因此,想出/找到某种总结来说明所有用于模型选择的 gof 测试的优缺点会很有趣。其中许多主题对统计学家来说是常见的,但可能并非如此,并且对于必须每天针对实际问题执行许多 gof 决策的从业者来说非常有用。

欢迎任何建议。

谢谢!

0 投票
1 回答
1103 浏览

matlab - p = NaN 拟合优度 matlab

嗨,有一组观察结果 obs= https://drive.google.com/file/d/0B3vXKJ_zYaCJVlhqd3FJT0xtWFk/view?usp=sharing

我想证明它们来自 Gamma 分布。

为此,我:

我的问题是我得到了 pvalue 的 NaN p_gamma_chi.... 我在哪里犯了错误?谢谢

这里有一些代码可以直观地检查分布

0 投票
1 回答
1404 浏览

r - 在 R 中拟合指数和幂律分布并比较更好的拟合

我有一个网络,我需要拟合幂律分布和指数分布并比较它们,选择更好的拟合。

我使用 igraph 包 degree.distribution 函数检索了度分布数据:

返回结果向量,例如

我尝试使用 igraph 的 power.law.fit 进行拟合,如下所示:

我的问题是:我还需要将数据拟合成指数分布并比较结果,所以我正在寻找一种方法来创建返回可比较参数的拟合。如果有更好的方法来找到适合的幂律,我很乐意尝试。

谢谢

0 投票
1 回答
6552 浏览

matlab - Matlab:卡方拟合(chi2gof)来测试数据是否呈指数分布

我想这是一个简单的问题,但我无法解决。我有一个向量,它的第一个元素看起来像:

我想chi2gof在 Matlab 中进行测试以测试是否V呈指数分布。我做了:

但我收到一条警告消息:

我是否chi2gof错误地定义了呼叫?

0 投票
1 回答
5780 浏览

matlab - 如何在 Matlab 中使用 lsqcurvefit 计算 95% 置信区间?

由于 Matlab 中具有固定参数的一些问题,我不得不从标准切换。fit命令到lsqcurvefit.

对于普通 fit命令,输出参数之一是gof,我可以从中计算每个参数的 +/- 和 r^2 值。

这也应该是可能的lsqcurvefit。但我没有把它作为输出参数之一。

或者换句话说,我的问题是:如何计算 fitparamter 的 +/- lsqcurvefit?有人可以帮我吗?

谢谢,尼可

0 投票
0 回答
194 浏览

r - 使用 pscl 跨栏进行模拟和验证

我正在使用pscl'shurdle函数拟合障碍模型。我无法解决与返回的对象相关的以下问题hurdle

有没有一种直接的方法来模拟使用 生成的对象hurdle

有没有一种直接的方法来获得拟合优度,比如伪 R2?

谢谢你。

0 投票
1 回答
2078 浏览

sas - 用于拟合连续(正支持)分布的 Proc 单变量和 Proc 严重性之间的差异

我的目标是使数据适合任何具有积极支持的分布。(威布尔(2p),伽玛(2p),帕累托(2p),对数正态(2p),指数(1P))。第一次尝试,我使用 proc 单变量。这是我的代码

我注意到的第一件事是,没有显示 weibull 分布的 kolmogorov 统计数据。然后我改用 proc 严重性。

现在,我得到了威布尔分布的 KS 统计数据。然后我比较了 proc 严重性和 proc 单变量产生的 KS 统计量。他们是不同的。为什么?我应该使用哪一个?