地方政府预算一共公共预算收入分析预测


目录

  • 一、数据概况
  • 二、数据探索
  • 三、建模
  • 1 确定p,q
  • 2 模型诊断与检验
  • 四、模型改进-二阶差分序列建模
  • 五、小感


一、数据概况

根据国家统计局网站中,涵盖北京市从1949年至2019年财政一般公共预算收入数据。欲根据这70年的时序数据,建立模型,预测2020年乃至未来更长时间的公共预算收入。对应的历年详细数据如下。

数据挖掘财政收入分析预测_ARIMA模型


我们欲通过上述时序数据,建立ARIMA模型,对未来一定时间的一般公共预算收入数据进行预测。

二、数据探索

根据ARIMA模型的要求,需要时序数据必须为平稳数据,否则就需要通过差分、取对数等手段,把非平稳数据序列转化为平稳序列。首先我们绘制历年一般公共预算收入数据时序图如下:

数据挖掘财政收入分析预测_数据建模_02

通过上图可以看出,数据呈指数形态分布,因此我们先对原数据取对数处理,将数据转化为线性趋势。重新绘制对数化后的时序图如下:

数据挖掘财政收入分析预测_财政预算_03


对上述对数化为的时序数据绘制自相关图以及平稳性检验。自相关图呈近似线性衰减,说明数据仍然是非平稳序列,这点通过平稳性检验也进一步得到验证,平稳性检验的p值为0.985,远远大于置信水平。

数据挖掘财政收入分析预测_数据挖掘财政收入分析预测_04


因此,我们进一步对对数化后的时序数据进行差分处理,以期得到平稳序列。数据一阶差分后的时序图如下:

数据挖掘财政收入分析预测_数据挖掘财政收入分析预测_05


对差分后的序列做平稳性检验,得到检验的p值为0.046,小于0.05,因此接受数据为平稳序列。

对数据绘制自相关图和偏自相关图,结果如下:

数据挖掘财政收入分析预测_数据挖掘财政收入分析预测_06

三、建模

1 确定p,q

通过对自相关图和偏自相关图的观察,则有以下模型可以供选择:

  • ARMA(1,1)模型:如果把自相关系数r1和偏自相关系数p1看做峰值,然后各为拖尾特征,则是一个阶数p=1,q=1的移动自回归平均模型
  • ARMA(0,1)模型:如果把自相关系数r1看作峰值,然后呈截尾特征,把偏自相关图看作拖尾特征,则是一个阶数q=1的移动平均模型
  • ARMA(1,0)模型:如果把偏自相关系数p1看作峰值,把相关图看作拖尾特征,则是一个阶数p=1的自回归模型

针对可供选择的模型,通过选择模型的AIC准则、BIC准则和HQ统计量等多种选择准则。

AIC

BIC

HQ统计量

ARMA(0,1)模型

-31.571838

-24.826353

-28.892449

ARMA(1,0)模型

-36.406526

-29.661040

-33.727137

ARMA(1,1)模型

-34.497727

-25.503746

-30.925209

根据模型选择准则,对比发现ARMA(1,0)模型的aic,bic,hqic均最小,因此为最佳模型。

2 模型诊断与检验

我们已经初步确定了模型及对应的参数,下面我们对模型的结果做进一步的诊断和检验,以求发现所选用的模型是否满足要求。若不满足要求,则仍需进一步修订模型。我们需要做的诊断有:

  • 检验模型系数估计值是否显著性地不等于零;
  • 检验残差序列的白噪声性。

因此,下面我们进行模型的检验。首先检验模型系数,通过t检验来评估模型系数估计值的显著性情况,t检验对应的模型常数项p值为0.002,系数项p值为0.000,因此模型的系数通过检验。接下来我们检验模型的残差序列是否为白噪声,白噪声检验也称为纯随机性检验, 当数据是纯随机数据时,再对数据进行分析就没有任何意义了, 通过Ljung检验对应的各p值序列均明显大于0.05的置信度,因此可认为残差序列为白噪声序列。

数据挖掘财政收入分析预测_时间序列分析_07


通过上述检验分析,模型通过诊断检验,即可以用ARMA(1,0)模型,即差分后序列确定的模型为:

数据挖掘财政收入分析预测_财政预算_08

其中,数据挖掘财政收入分析预测_财政预算_09,从而原时序序列最终确定的模型为

数据挖掘财政收入分析预测_ARIMA模型_10

借助上述确立的模型预测,预测1951年至2019年的财政预算收入绝对误差结果图如下:

数据挖掘财政收入分析预测_ARIMA模型_11


平均绝对相对误差为0.17。通过python程序包预测的结果误差序列图为:

数据挖掘财政收入分析预测_时间序列分析_12


平均绝对相对误差为0.121。

四、模型改进-二阶差分序列建模

针对上述模型结果误差较大,欲进一步改进模型,借助序列更多的数据,因此考虑对数据序列进行二阶差分。

数据挖掘财政收入分析预测_时间序列分析_13


通过两图观察,则有以下模型可以供选择:

  • ARMA(1,1)模型:如果把自相关系数r1和偏自相关系数p1看做峰值,然后各为拖尾特征,则是一个阶数p=1,q=1的移动自回归平均模型
  • ARMA(0,1)模型:如果把自相关系数r1看作峰值,然后呈截尾特征,把偏自相关图看作拖尾特征,则是一个阶数q=1的移动平均模型
  • ARMA(1,0)模型:如果把偏自相关系数p1看作峰值,把相关图看作拖尾特征,则是一个阶数p=1的自回归模型

针对可供选择的模型,采用ARMA模型的AIC法则、BIC准则及HQ统计量进行比较选择合适的模型。三个模型的评价准则结果如下:

数据挖掘财政收入分析预测_时间序列分析_14

根据评价准则,对比发现ARMA(1,1)模型的aic,bic,hqic均最小,因此为最佳模型。

对ARMA(1,1)模型检验结果如下:

数据挖掘财政收入分析预测_财政预算_15

可知模型的系数均通过假设检验。对残差进行白噪声检验,结果也通过检验。因此,可以用ARMA(1,1)模型进行建模预测分析。通过二阶差分后序列确定的模型为:

数据挖掘财政收入分析预测_数据挖掘财政收入分析预测_16

其中,数据挖掘财政收入分析预测_数据建模_17
从而原时序序列最终确定的模型为
数据挖掘财政收入分析预测_数据挖掘财政收入分析预测_18
数据挖掘财政收入分析预测_数据挖掘财政收入分析预测_19
数据挖掘财政收入分析预测_时间序列分析_20
数据挖掘财政收入分析预测_数据挖掘财政收入分析预测_19
数据挖掘财政收入分析预测_时间序列分析_22
数据挖掘财政收入分析预测_数据挖掘财政收入分析预测_19
数据挖掘财政收入分析预测_数据建模_24
从而最终确定的模型为:
数据挖掘财政收入分析预测_数据建模_25
从而借助上述确立的模型预测,预测历年的财政一般公共预算收入。

确定的模型预测的结果的相对误差序列图:

数据挖掘财政收入分析预测_时间序列分析_26

五、小感

初步对ARIMA模型的一点了解和实操,但从结果来看,具体细节自己还需要再进一步研究!