分析时间序列上的性能泊松回归模型(计数预测)

数据挖掘 Python 时间序列 预报
2021-10-15 17:47:23

我试图建立一个模型来预测特定变量的计数。用于此目的的模型是泊松。不幸的是,我没有足够的统计知识来分析模型性能。如果有人可以提供一些见解了解模型的性能以及提高模型性能的一些调整将非常有帮助。如果性能更好,我也愿意尝试其他型号。

我正在使用带有 statmodels 包的 python 来构建模型。

附上显示拟合值和实际值的图表(绿色显示实际值,蓝色显示拟合值)

在此处输入图像描述 此外,提供模型的 summary() 输出

                 Generalized Linear Model Regression Results                  
==============================================================================
Dep. Variable:         Work_Item_Type   No. Observations:                  581
Model:                            GLM   Df Residuals:                      574
Model Family:                 Poisson   Df Model:                            6
Link Function:                    log   Scale:                             1.0
Method:                          IRLS   Log-Likelihood:                -16752.
Date:                Mon, 22 Feb 2016   Deviance:                       31268.
Time:                        21:59:12   Pearson chi2:                 1.05e+05
No. Iterations:                     9                                         
===============================================================================
                  coef    std err          z      P>|z|      [95.0% Conf. Int.]
-------------------------------------------------------------------------------
Intercept       2.8492      0.051     55.426      0.000         2.748     2.950
Weekday        -0.2066      0.032     -6.446      0.000        -0.269    -0.144
day_of_week    -0.0926      0.007    -13.367      0.000        -0.106    -0.079
wom             0.1122      0.007     16.996      0.000         0.099     0.125
week           -0.0411      0.001    -53.597      0.000        -0.043    -0.040
TimeDelta       0.0001    5.1e-05      2.933      0.003      4.96e-05     0.000
month_of_yr     0.2192      0.004     60.981      0.000         0.212     0.226
===============================================================================


Also attaching a sample of the dataset used 

clear_date  Count_Work_Item_Type
7/7/2014    1
7/10/2014   1
7/11/2014   5
7/17/2014   2
7/22/2014   1
7/24/2014   1
7/29/2014   3
7/30/2014   4
8/13/2014   1

因为我只有日期和要预测的变量,所以我创建了一堆其他变量,比如

Weekday(binomial)?
Day of week
Week of Month
Week
Time Delta (Starts from 0 increment by one until end)
Month of Year

此外,我还没有对变量进行任何类型的转换。如果您需要更多信息,请发表评论:谢谢

2个回答

我不确定你所说的“性能”是什么意思,但如果你的意思是合适的,答案就很清楚了。您需要使用对数似然来区分不同的模型。基本上,当您拟合模型时,您会尝试最大化对数似然。因此,对数似然让您了解模型的参数在拟合数据方面的表现。

在您的情况下,您希望对数似然尽可能接近零。现在这是一个糟糕的建议,因为如果你足够聪明,可以为每次观察提出一个特征,你就可以得到一个完美的拟合。这很糟糕,因为您的模型将完全没用。有些函数将您的对数似然作为输入并将其转换以惩罚您添加更多变量等。我们现在不会担心这些。请记住,不要盲目地降低对数似然度。

一旦你有了一个可以使用的模型,你应该运行某种交叉验证,和/或坚持设置。然后,您可以使用任意数量的指标来验证模型的预测性能。我认为这是两个问题中更重要的一个。您可以计算您的保留集的均方误差。

MSE=i=1n(y^iyi)2
这将为您提供一个非常基本的指标来评估您的模型对输出的预测能力。

编辑:

如果您想更多地了解时间序列预测,特别是计数数据,我会推荐这些幻灯片

要记住的主要事项:

  • 首先检查您的数据。要使用任何模型,您通常会有一些模型强加给您的假设。绘制响应变量、时间序列等。
  • 当正常模型不合适时,计数模型对于偏斜数据(这是不正常的一些变换:log、power、boxcox)很有用。
  • 检查您的时间序列数据是否符合泊松模型的假设。例如,变异性等于平均值​​。检查等分散。
  • 在建模之前,您还应该检查其他几个测试:相关图、Augmented Dickey Fuller 测试、PACF 图、ACF 图

做你问题的重点:我的模型表现如何?

  • 标准性能指标:MAE、MAPE、MSE

鉴于您可能没有大量接触时间序列建模,不妨看看 Facebook 的 Prophet 软件包。它专为不需要/不想过多担心模型选择的数据分析师而设计。

话虽这么说,先知也有很多调整参数和东西。至少确保在使用这些模型之前研究它们的假设!