如何评估负二项式回归的拟合优度

机器算法验证 回归 拟合优度 负二项分布
2022-03-18 04:13:19

我正在尝试使用负二项式回归拟合估计等待时间的模型,但我不确定如何评估模型的拟合优度。我想将负二项式模型与泊松模型进行比较。我大约有4,000数据点。有什么建议么?

谢谢!

3个回答

一般来说,一个好的拟合模型意味着可以很好地泛化到样本中未捕获的数据。模拟这一点的一个好方法是通过交叉验证(CV)。为此,您将数据分为两部分:测试数据集和训练数据集。根据您的样本量,我建议随机将 70% 的数据放入测试数据集中,将剩余的 30% 放入训练数据集中。

现在,根据您的训练数据集构建 Poisson 模型和负二项式模型。计算测试数据集中数据的预测值,并通过以下方式将其与实际值进行比较:

i=1n2(YiY^i)2

在哪里n2是您的训练数据集的样本大小,Yi是因变量的实际值,并且Y^i是因变量的预测值。

为上述表达式提供较低值的模型是首选模型。

现在,对此进行了修改,称为 k-folds CV。它将做的是将您的数据拆分为k大约相等的子集(称为“折叠”),并将使用剩余的折叠作为训练数据来预测每个折叠。环境k=4在我看来是合理的。

与此相关的 R 函数是引导包中的 cv.glm()。更多信息在这里:http ://stat.ethz.ch/R-manual/R-patched/library/boot/html/cv.glm.html

我建议使用Akaike 信息标准贝叶斯信息标准等方法,并比较两个模型的返回值(GLM 与 NBR)。

此外,使用交叉验证来查看哪个模型表现更差可能是一种选择并且是常用的,至少可以了解学习模型的表现如何。

因此,如果您只想知道您的拟合是否显着,您可以计算 p 值。

首先,为您的问题找到一个好的指标。对于分布,通常使用的是 Kolmogorov-Smirnov 距离:KS(f,g)=max|f(x)g(x)|. 现在,打电话E您的数据的 cdf 和P您适合的分析 cdf,然后 KS0=KS(E,P).

现在,我们要计算获得KS>KS0,假设我们假设您的拟合是正确的。我们可以通过采样轻松做到这一点n从您的拟合分布中乘以一组大小为 4000 的点;然后我们拟合集合,然后我们计算KS在样本集和样本的拟合之间。p值只是简单的比例n设置这个KS>KS0.

如果得到的 p 值>0.05(或您需要设置的某些显着性水平)然后您的数据与您的拟合兼容。