4 10 财政收入影响因素分析及预测模型

10.1背景与挖掘目标

本案例通过研究发现影响目前以及未来地方财源建设的因素,并对其进行深入分析,提出对该市地方财源优化的具体建议,供政府决策参考,同时为其他发展较快的城市提供借鉴。本案例对1994-2013年财政收入以及相关因素的数据,数据来自统计年鉴。

目标:

(1) 梳理影响地方财政收入的关键特征,分析识别影响地方财政收入的关键特征的选择模型

(2) 结合(1)的分析,对某市2015年财政总收入以及各个类别收入进行预测。

10.2分析方法与过程

本案例在已有的研究基础上运用Adaptive-Lasso变量选择方法来研究影响地方财政收入的因素。

Lasso是在1996年提出的将参数估计与变量选择同时进行的一种正则化方法,参数估计被定义为如下:

10.2.1 灰色预测与神经网络的组合模型

在Lasso变量的选择基础上,鉴于灰色预测对小数据量数据预测的优良性能,对单个选定的因素建立灰色预测模型,得到他们在2014-2015年的预测值,由于神经网络较强的适应性和容错能力,对历史数据建立训练模型,把灰色预测的结果带入训练好的模型中,就得到了充分考虑历史信息的预测结果,即2015年某市财政收入及各个类别收入

主要步骤如下:

(1) 对数据进行预处理

(2) 将预处理好的数据,建立Lasso变量选择模型

(3) 在(2)的基础上建立单变量的灰色预测模型,以及人工神经网络预测模型

(4) 在(3)的预测值带入建立好的人工神经网络模型中,从而得到2014、2015年某市财政收入以及各类别收入的预测值。

10.2.2数据探索分析

影响财政收入(y)的因素很多,经查阅资料选以下因素为自变量

社会从业人数(x1)

在岗职工工资总额(x2)

社会消费品零售总额(x3)

城镇居民人均可支配收入(x4)

城镇居民人均消费性支出(x5)

年末总人口(x6)

全社会固定资产投入(x7)

地区生产总值(x8)

第一产业产值(x9)

税收(x10)

居民消费价格指数(x11)

第三产业与第二产业产值比(x12)

居民消费水平(x13)

10.2.2.1描述性分析

我们要对数据有个大体认识,要对其进行简单的描述性统计分析

# encoding=utf-8
#描述性分析
import pandas as pd
import numpy as np

inputfile='demo/data/data1.csv'
outputfile='demo/tmp/datagaikuo.csv'
data=pd.read_csv(inputfile)
r=[data.min(),data.max(),data.mean(),data.std()]#依次计算最小值、最大值、均值、标准差
r=pd.DataFrame(r,index=['MIN','MAX','MEAN', 'STD']).T
np.round(r,2).to_csv(outputfile)#保留2位小数,并输出

10.2.2.2相关性分析

现在要分析一下因变量与解释变量之间的关系,它们之间是否存在相关性,下面来求一下相关系数。

#相关系数
np.round(data.corr(method='pearson'),2).to_csv('demo/tmp/datapearson.csv')

从上图中的相关系数中我们可以发现居民消费价格指数(x11)与财政收入的线性关系不显著,而且呈现负相关,其余变量与财政收入呈高度正相关。

这种表格的形式看起来不太直观,现在我们以图的形式进行可视化,首先要对数据进行0-1标准值化处理。

#标准化处理
dataNM=(data-data.min())/(data.max()-data.min())
dataNM.to_csv('demo/tmp/dataNM.csv')

从图中我们可以看出x11总体呈下降趋势,与y呈负相关关系,而其他因变量都与y呈正相关关系。

10.2.3模型构建

10.2.3.1Lasso变量选择模型

#Lasso变量选择
from sklearn.linear_model import Lasso
model=Lasso()
model.fit(data.iloc[:,0:13],data['y'])
q=model.coef_#各特征的系数
q=pd.DataFrame(q,index=['x1','x2','x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13']).T
np.round(q,4).to_csv('demo/tmp/dataLasso.csv')

观察表格中的数据我们发现x11居民消费水平为0,也就是说该因素对财政收入的影响非常小,可以忽略不计。

10.2.4财政收入及各类别收入预测模型

(1)某市财政收入预测模型

对Lasso变量选择方法识别的影响财政收入的因素建立灰色预测与神经网络的组合预测模型,其参数设置为误差精度0.0000001,学习次数为10000次,输入层神经元的个数为12(除x12之外)。

#地方财政收入灰色预测
from GM11 import GM11
outputfile='demo/tmp/data1_GM11.xls'
data.index=range(1994,2014)#行索引
data.loc[2014]=None
data.loc[2015]=None
l=['x1','x2','x3','x4','x5','x6','x7','x8','x9','x10','x11','x13']
for i in l:
    f=GM11(data[i][range(1994,2014)].as_matrix())[0]
    data[i][2014]=f(len(data)-1)
    data[i][2015]=f(len(data))
    data[i]=data[i].round(2)
data[l+['y']].to_excel(outputfile)

预测出了这11个变量在2014和2015年的因变量,下面就要利用神经网络预测财政收入了。

经过多次试验发现神经网络模型:输入层的节点为11,隐层节点为12,输出节点为1的效果较好,神经网络预测代码如下:

#地方财政收入神经网络预测模型
inputfile='demo/tmp/data1_GM11.xls'
outputfile='demo/tmp/revenue.xls'
modelfile='demo/tmp/1-net.model'
data=pd.read_excel(inputfile)
feature=['x1','x2','x3','x4','x5','x6','x7','x8','x9','x10','x11','x13']#特征所在列
data_train=data.loc[range(1994,2014)].copy()#取2014年前的建模数据
data_mean=data_train.mean()
data_std=data_train.std()
data_train=(data_train-data_mean)/data_std#数据标准化
x_train=data_train[feature].as_matrix()#特征数据
y_train=data_train['y'].as_matrix()#标签数据
from keras.models import Sequential
from keras.layers.core import Dense,Activation
model=Sequential()#建立模型
model.add(Dense(input_dim=12,output_dim=12))
model.add(Activation('relu'))#激活函数
model.add(Dense(input_dim=12,output_dim=1))
model.compile(loss='mean_squared_error',optimizer='adam')#编译模型,目标函数是均方差
model.fit(x_train,y_train,nb_epoch=10000,batch_size=16)#训练模型
model.save_weights(modelfile)#保存模型
#预测并还原结果
x=((data[feature]-data_mean[feature])/data_std[feature]).as_matrix()
data[u'y_pred'] = model.predict(x) * data_std['y'] + data_mean['y']
data.to_excel(outputfile)
#画出预测图
import matplotlib.pyplot as plt
p=data[['y','y_pred']].plot(subplots=True,style=['b-o','r-*'])
plt.show()

当我们把y和y_pred放在一个图上的时候,发现它们“重合”,它们只是差别小而已……并没重合……这些差别我们可以观察具体数据看出,可见我们的模型预测效果还是ganggang滴!

10 财政收入影响因素分析及预测模型相关推荐

  1. 数据分析与挖掘:财政收入影响因素分析及预测模型

    财政收入影响因素分析及预测模型 1. 背景与挖掘目标 2. 分析方法与过程 2.1 数据探索 2.2 模型构建 2.3 数据预测 1. 背景与挖掘目标 项目为<Python 数据分析与挖掘实战& ...

  2. 【数据分析与挖掘】财政收入影响因素分析及预测模型(有数据集和代码)

    案例背景 在我国现行的分税制财政管理体制下,地方财政收人不仅是国家财政收入的重要组成部分,而且具有其相对独立的构成内容.如何有效的利用地方财政收入,合理的分配,来促进地方的发展,提高市民的收入和生活质 ...

  3. 《Python数据分析与挖掘实战》案例--财政收入影响因素分析及预测模型

    Python3中运行出现错误,故修改其中一小部分代码使其正常运行: 1.错误:KeyError:range(1994,2014). 原代码: f = GM11(data[i][range(1994, ...

  4. 数据挖掘实战分享:财政收入影响因素分析及预测(二)

    泰迪智能科技(TipDM数据挖掘平台)最新推出的数据挖掘实战专栏 专栏将数据挖掘理论与项目案例实践相结合,可以让大家获得真实的数据挖掘学习与实践环境,更快.更好的学习数据挖掘知识与积累职业经验 专栏中 ...

  5. 数据挖掘实战分享:财政收入影响因素分析及预测(四)

    泰迪智能科技(TipDM数据挖掘平台)最新推出的数据挖掘实战专栏 专栏将数据挖掘理论与项目案例实践相结合,可以让大家获得真实的数据挖掘学习与实践环境,更快.更好的学习数据挖掘知识与积累职业经验 专栏中 ...

  6. 数据挖掘实战分享:财政收入影响因素分析及预测(一)

    泰迪智能科技最新推出的数据挖掘实战专栏 专栏将数据挖掘理论与项目案例实践相结合,可以让大家获得真实的数据挖掘学习与实践环境,更快.更好的学习数据挖掘知识与积累职业经验 专栏中每四篇文章为一个完整的数据 ...

  7. python财政收入预测分析_Python:Lasso方法、GM预测模型、神经网络预测模型之财政收入影响因素分析及预测...

    问题重述 通过研究,发现影响某市目前及未来地方财源的因素.结合文中目标:(1)选择模型,找出影响财政收入的关键因素:(2)基于关键因素,选择预测方法.模型预测未来收入. 具体来讲 本文分析了地方财政收 ...

  8. 财政收入影响因素分析及预测

    一.项目概述 数据来源:网络上自找的数据百度云盘链接:https://pan.baidu.com/s/1Lmhl34BumjBloN-rhy7Yqw 提取码:z84d 项目背景:地方财政收入,是指政府 ...

  9. 【项目实战】Python基于Lasso特征选择、GM算法和SVR回归算法进行财政收入影响因素分析及预测

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 随着信息化的发展和科学技术的进步,数据分析与挖掘技术开始得到广泛 ...

最新文章

  1. java 性能调优:35 个小细节,让你提升 java 代码的运行效率
  2. 调用webapi 错误:使用 HTTP 谓词 POST 向虚拟目录发送了一个请求,而默认文档是不支持 GET 或 HEAD 以外的 HTTP 谓词的静态文件。的解决方案
  3. JavaScript控制台中的颜色
  4. Linux大文件格式,linux – 用于打印大文件的命令,按大小以人类可读的格式排序...
  5. c ajax 上传图片,ajax +NodeJS 实现图片上传实例
  6. javaScript数据类型(包括基本数据类型和非基本数据类型)
  7. python 二进制流_Python中对字节流/二进制流的操作:struct模块简易使用教程
  8. 嵌入式数据库 HSQLDB
  9. iOS教程:详解iOS多图下载的缓存机制
  10. 打开网页到我们看到页面显示的过程中发生了什么?
  11. c 语言 二进制 十进制,C 语言实例 – 二进制与十进制相互转换 - C 语言基础教程...
  12. 03day输入及转义符的使用
  13. SpringMVC中Model,ModelAndView,ModelMap的区别
  14. 混音教程入门|新手学混音必须注意这9点!| MZD Studios
  15. 嵌入式C编程中的设计模式之二——状态机模式
  16. 对日软件工程师的几种招聘要求
  17. ai怎么做波普风圆点_如何用Ps或Ai制作出波普艺术风格的海报?
  18. SQL Server研习录(20)——FLOOR()函数
  19. 【深度学习基础】Epoch, Batch, Iteration这三个概念的区别与联系
  20. does not exist or is not a readable directory

热门文章

  1. WebSerices 在IIS上配置
  2. 认识Javascript中的Location对象(一)
  3. 物联网开发笔记(26)- 使用Micropython开发ESP32开发板之控制LCD1602显示屏(续)
  4. 单机十万并发HLS直播服务器的防盗链技术
  5. VMware虚拟机用CommVault备份后快照无法整合的真相!
  6. 全球通大屏4G单兵执法记录仪BC310用户手册
  7. Vue leaning(入门)第二弹
  8. 3D弹簧(python)
  9. sofia sip开发九 使用EMIPLIB库增加RTP流处理
  10. apple oidc 服务端认证 go版本,全网最佳