问题标签 [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.
python - 如何使用 Python 中的科学库执行卡方拟合优度测试?
假设我有一些经验数据:
它呈指数分布(带有一些噪声),我想使用卡方拟合优度 (GoF) 测试来验证这一点。使用 Python 中的标准科学库(例如 scipy 或 statsmodels)以最少的手动步骤和假设来做到这一点的最简单方法是什么?
我可以拟合一个模型:
但是,我找不到计算卡方检验的好方法。
statsmodel 中有一个卡方 GoF 函数,但它假设离散分布(并且指数分布是连续的)。
官方 scipy.stats 教程仅涵盖自定义分布的情况,并且概率是通过摆弄许多表达式(npoints、npointsh、nbound、normbound)来构建的,所以我不太清楚如何为其他分布做这件事。卡方示例假设已经获得了预期值和自由度。
另外,我不是在寻找一种“手动”执行测试的方法,正如这里已经讨论过的那样,而是想知道如何应用一个可用的库函数。
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如果有更好的地方发这个,请告诉我,我会重新发布。
r - R - 适合许多分布以通过 gof 测试进行采样、可视化和排序
R 中是否有任何包允许同时将许多 pdf 拟合到一些样本数据,绘制所有拟合和样本直方图,然后允许按照一些 gof 标准对拟合进行排序,如 Kolmogorov-Smirnov、Anderson-Darling、X2 等。 ..?类似于 EasyFit 的商业软件?
更新
我收到了对我最初的问题的宝贵意见。具体来说,AIC 作为一个指标脱颖而出,它允许将 pdf 与不同数量的参数进行比较。但是,AIC 也有局限性。因此,想出/找到某种总结来说明所有用于模型选择的 gof 测试的优缺点会很有趣。其中许多主题对统计学家来说是常见的,但可能并非如此,并且对于必须每天针对实际问题执行许多 gof 决策的从业者来说非常有用。
欢迎任何建议。
谢谢!
matlab - p = NaN 拟合优度 matlab
嗨,有一组观察结果
obs
= https://drive.google.com/file/d/0B3vXKJ_zYaCJVlhqd3FJT0xtWFk/view?usp=sharing
我想证明它们来自 Gamma 分布。
为此,我:
我的问题是我得到了 pvalue 的 NaN p_gamma_chi
.... 我在哪里犯了错误?谢谢
这里有一些代码可以直观地检查分布
r - 在 R 中拟合指数和幂律分布并比较更好的拟合
我有一个网络,我需要拟合幂律分布和指数分布并比较它们,选择更好的拟合。
我使用 igraph 包 degree.distribution 函数检索了度分布数据:
返回结果向量,例如
我尝试使用 igraph 的 power.law.fit 进行拟合,如下所示:
我的问题是:我还需要将数据拟合成指数分布并比较结果,所以我正在寻找一种方法来创建返回可比较参数的拟合。如果有更好的方法来找到适合的幂律,我很乐意尝试。
谢谢
matlab - Matlab:卡方拟合(chi2gof)来测试数据是否呈指数分布
我想这是一个简单的问题,但我无法解决。我有一个向量,它的第一个元素看起来像:
我想chi2gof
在 Matlab 中进行测试以测试是否V
呈指数分布。我做了:
但我收到一条警告消息:
我是否chi2gof
错误地定义了呼叫?
matlab - 如何在 Matlab 中使用 lsqcurvefit 计算 95% 置信区间?
由于 Matlab 中具有固定参数的一些问题,我不得不从标准切换。fit
命令到lsqcurvefit
.
对于普通 fit
命令,输出参数之一是gof
,我可以从中计算每个参数的 +/- 和 r^2 值。
这也应该是可能的lsqcurvefit
。但我没有把它作为输出参数之一。
或者换句话说,我的问题是:如何计算 fitparamter 的 +/- lsqcurvefit
?有人可以帮我吗?
谢谢,尼可
r - 使用 pscl 跨栏进行模拟和验证
我正在使用pscl
'shurdle
函数拟合障碍模型。我无法解决与返回的对象相关的以下问题hurdle
:
有没有一种直接的方法来模拟使用 生成的对象hurdle
?
有没有一种直接的方法来获得拟合优度,比如伪 R2?
谢谢你。
sas - 用于拟合连续(正支持)分布的 Proc 单变量和 Proc 严重性之间的差异
我的目标是使数据适合任何具有积极支持的分布。(威布尔(2p),伽玛(2p),帕累托(2p),对数正态(2p),指数(1P))。第一次尝试,我使用 proc 单变量。这是我的代码
我注意到的第一件事是,没有显示 weibull 分布的 kolmogorov 统计数据。然后我改用 proc 严重性。
现在,我得到了威布尔分布的 KS 统计数据。然后我比较了 proc 严重性和 proc 单变量产生的 KS 统计量。他们是不同的。为什么?我应该使用哪一个?