数据分析实训第8章企业所得税预测分析

这篇具有很好参考价值的文章主要介绍了数据分析实训第8章企业所得税预测分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据分析实训第8章企业所得税预测分析(无警告、无报错、分析很齐全)

前言

   这些天抽空把数据挖掘再重温了一遍,再次做这题时,查看网上的答案发现,很多都存在着一些问题,因此自己特意写了一下,代码无一报错或者警告,大家可以放心使用。

一、背景介绍

1.选题

选择第8章实训任务——企业所得税预测分析

2.分析企业所得税预测背景
(1)企业所得税简介与需求

   企业所得税,是对我国境内的企业和其他取得收入的组织的生产经营所得和其他所得征收的一种所得税。在我国,企业所得税的纳税人是企业和其他取得收入的组织,包括各类企业、事业单位、社会团体、民办非企业单位和从事经营活动的其他组织。企业所得税税率为25%的比例税率,非居民企业为20%。企业应纳所得税额=当期应纳税所得额*适用税率,应纳税所得额=收入总额-准予扣除项目金额。

   我国的企业所得税只对利润征收,常用比例税率,对大多数企业来说承担相同的税负水平,有利于促进公平。同时采用比例税率的企业所得税相比于其他国家实行的累进税率更有利于促使企业改善经营管理,努力降低成本,提高盈利水平。同时我国现行的企业所得税也有利于发挥政府在对纳税人投资、产业结构调整、促进经济发展。企业所得税也是国家建设筹集财政资金的重要途经之一,意义重大。

   对企业所得税进行预测分析,有利于促进企业纳税人自觉纳税的意识,有利于打击逃税、漏税等行为,保障国家税收的正常稳定进行,为国家建设打下坚实的财政资金基础。因此建立正确有效的企业所得税预测模型是十分有必要的。

(2)企业所得税预测数据基础情况

   此次建模采用的数据集包括2004–2015全社会固定资产投资额、城市商品零售价格指数、建筑业总产值、限额以上连锁店(公司)零售额等数据。

(3)企业所得税预测分析目标

   a. 分析识别影响企业所得税的特征数据

   b. 建立预测模型,对2014年及2015年的企业所得税进行预测,并对模型进行评价。

3.了解企业所得税预测方法

   通过查阅课本、相关论文和资料,发现运用Lasso特征选择方法来研究企业所得税的影响效果相对较优。本次建模在Lasso特征选择的基础上,考虑到灰色预测对少量数据预测的优良性能,建立灰色预测模型,然后把灰色预测得到的数据结果代入训练完成的模型中,这样在充分考虑原始数据的基础上,得到比较准确的预测结果,即2014年和2015年企业所得税。

二、实训1

1.任务描述

   对影响企业所得税的原始特征进行相关性分析,对原始特征间的相关性和原始特征与目标特征之间的相关性进行解读。

2.任务分析

   运用相关函数计算特征之间的相关系数,对原始数据进行相关性分析。

3.训练要点
(1)掌握Python中的相关性分析方法

  相关性分析是指对两个或多个具备相关性的特征元素进行分析来判断两个特征因素的相关密切程度的大小。Pearson 相关系数是最简单的相关系数之一,可用来判断两个特征X和Y之间的线性相关的强弱,通常用r或ρ表示,它的取值范围为[-1,1]。
Pearson相关系数的计算方式如下:若两个向量X=(x1,x2,…,xn),Y=(y1,y2,…yn)
则Pearson相关系数为:
数据分析实训第8章企业所得税预测分析

(2)理解并会用Python实现企业所得税预测相关特征的相关性分析
(3)对相关性分析结果进行解读
4.实现思路及步骤
(1)求取原始数据特征之间的Pearson相关系数
(2)判断各个特征之间的相关性
5.任务实现

求取原始数据特征之间的Pearson相关系数

import numpy as np
import pandas as pd
inputfile = '../data/income_tax.csv' #读取数据文件
data = pd.read_csv(inputfile) #读取数据
#保留两位小数
print('相关系数矩阵为:','\n',np.round(data.iloc[1:,1:].corr(method = 'pearson'), 2))

数据分析实训第8章企业所得税预测分析

(2)判断各个特征之间的相关性

   由获得的Pearson相关系数矩阵可得,选取的各特征与y的相关性都比较强,不过规模以上国有及国有控股工业企业亏损面(x6)与企业所得税(y)的线性关系呈现较强的负相关关系。其余特征均与企业所得税呈现高度的正相关关系,按相关性从大到小,依次是 x1,x4,x8,x2,x10,X3,x7,x9,x5。同时,各特征之间存在着严重的多重共线性,例如特征x2,x3,x10与除了x6、x9之外的特征存在严重的共线性,x7、x8和x1、x2存在严重的共线性,……综上可得选取的各特征与y的相关性都很强,可以用作企业所得税预测分析的关键特征,但这些特征之间存在着信息的重复,需要对特征进行进一步筛选。

注:虽然x6与y的Pearson相关系数是-0.86,是负相关,和其他特征与y呈现的高度的正相关不同,但是也不能忽视其影响,因为它的负相关性是比较强的,对企业所得税的影响比较大,故此处选择留下x6是合理的。

三、实训2

1.任务描述

   对影响企业所得税的因素进行特征筛选,选取出对企业所得税有关键影响的特征,为下一步的模型构建奠定基础。

2.任务分析
(1)了解掌握Lasso回归模型

   Lasso回归方法属于正则化方法中的是压缩估计。以缩小特征集为思想,通过构造一个惩罚函数从而得到一个较为精炼的模型,将特征的系数进行压缩从而使某些回归系数变为0,进而达到特征选择的目的,Lasso回归方法广泛地应用于模型改进与选择。

   Lasso回归方法多适用于原始特征中存在多重线性的情况,可以弥补最小二乘估计法和逐步回归局部最优估计的不足,很好地进行特征的选择,解决多重共线性的问题。但是当有一组高度相关的特征时,Lasso回归方法倾向于选择其中的一个特征,忽视其他所有的特征,这会导致结果的不稳定性。

  在本次预测中,各原始特征存在着严重的多重共线性,多重共线性问题已成为主要问题,这里采用Lasso回归方法进行特征选取是恰当的。

(2)解读Lasso回归结果
3.训练要点
(1)理解Lasso回归模型,掌握其场景及优缺点。
(2)掌握使用Lasso回归使用进行特征选取的方法。
(3)理解并掌握上述过程的Python代码实现。
4.实现思路及步骤
(1)建立Lasso回归模型
(2)对Lasso回归结果进行解读
5.代码实现

   在构建Lasso模型时,我一开始时没有对数据进行预处理,直接调用Lasso()函数,但是无论入值怎么修改,得到的数据用于后续的模型中,得到的2014年和2015年的预测值和真实值的误差还是很大。当入值越大,“惩罚函数”的惩罚力度越大,导致部分关键特征因素也被筛除了,造成的误差越大,但是如果入值取小时,由于训练次数太小,不能够达到关键特征筛选的目的。自己查阅相关资料,发现可以对数据进行标准化,然后通过模型先算出来一个各个列之间共线性关系的值,手动的去掉一些无关的列。
  下面是具体的构建过程,导入数据集,进行数据标准化,调用Lasso()函数,建立Lasso模型,筛选出对企业所得税有关键影响因素的特征数据,同时保存筛选出的数据到income_tax_deal.csv文件中。

import numpy as np
import pandas as pd
from sklearn.linear_model import Lasso
inputfile = '../data/income_tax.csv' #读取数据文件
data = pd.read_csv(inputfile) #读取数据
data_train = data.iloc[:,1:11].copy();
data_mean = data_train.mean()
data_std = data_train.std()
data_train = (data_train-data_mean)/data_std; #数据标准化
#建立模型
lasso = Lasso(alpha=1000,random_state=1234)  #设置λ的值为1000
lasso.fit(data_train,data['y'])  
print('相关系数为:',np.round(lasso.coef_,5))  #相关系数保留五位小数
#计算相关系数非0的个数为
print('相关系数非零个数为:',np.sum(lasso.coef_!=0))
mask=lasso.coef_ !=0
print('相关系数是否为0:',mask)
mask=np.insert(mask,0,[False])   
#选取出对企业所得税有关键影响因素的特征
# mask=np.insert(mask,0,[False]) #第一列为年份,在读入新表格的时候要排除
#书上的代码缺少对mask数组的再次过滤,过滤出非零的数据
mask = np.append(mask,False)
outputfile = '../tmp/income_tax_deal.csv'  #输出数据文件
new_income_tax = data.iloc[:, mask]  #返回相关系数非零的数据
new_income_tax.to_csv(outputfile)  #存储对企业所得税有关键影响因素的特征数据
print('输出数据的维度为:',new_income_tax.shape)  #查看输出数据的维度

结果是:
数据分析实训第8章企业所得税预测分析
   建立Lasso模型计算出相关系数,对相关系数进行分析处理,得出相关系数非零的个数有5个,这些是影响企业所得税的关键因素:第二产业增加值(x1)、城市商品零售价格指数(x4)、建筑业企业利润总额(x5)、规模以上国有及国有控股工业企业亏损面(x6)、限额以上连锁店(公司)零售额(x9)。

四、实训3

#企业所得税灰色预测
import numpy as np
import pandas as pd
from GM11 import GM11 #引入自编的灰色预测函数

#数据抽取
inputfile = '../tmp/income_tax_deal.csv' #输入的数据文件
inputfile1 =  '../data/income_tax.csv' #输入的原数据文件 
new_income_tax = pd.read_csv(inputfile) # 读取经过特征选择后的数据
data = pd.read_csv(inputfile1) #读取总的数据
#预处理
new_income_tax.index = range(2004, 2016)
new_income_tax.loc[2014] = None
new_income_tax.loc[2015] = None
l = ['x1', 'x4','x5','x6','x9']  
for i in l:
    #as_matrix自0.23.0起不推荐使用该方法,因此应to_numpy改为使用
    f = GM11(new_income_tax.loc[range(2004,2014),i].to_numpy())[0] 
    new_income_tax.loc[2014,i] = f(len(new_income_tax)-1) #2014预测结果
    new_income_tax.loc[2015,i] = f(len(new_income_tax)) #2015预测结果
    new_income_tax[i] = new_income_tax[i].round(2)
outputfile = '../tmp/income_tax.csv_deal_GM11.xls'  #灰色预测后保存的路径
y = list(data['y'].values)
new_income_tax['y'] = y
new_income_tax.to_excel(outputfile,engine='openpyxl')
print('预测结果为:',new_income_tax.loc[2014:2015,:])

   导入灰色预测函数,读取上一步经过特征选择过的数据集,使用灰色预测函数对其进行处理建立灰色预测模型。
数据分析实训第8章企业所得税预测分析
   由上述结果可以清晰的看出灰色预测的精确度是非常高的,对于2014年和2015年的x1、x4、x5、x6、x9的预测是比较准确的,为下面的支持向量回归预测打下了比较好的数据基础,同时企业所得税2014与2015年的预测是非常准确的。

向量回归模型

   将上一步灰色预测的结果代入企业所得税建立的向量回归预测模型

#企业所得税支持向量回归预测模型
import numpy as np;
import pandas as pd;
from sklearn.svm import LinearSVR
import matplotlib.pyplot as plt
from sklearn.metrics import explained_variance_score,mean_absolute_error, mean_squared_error,median_absolute_error,r2_score
inputfile = '../tmp/income_tax.csv_deal_GM11.xls' #灰色预测后保存的路径
data = pd.read_excel(inputfile) #读取数据
feature = ['x1', 'x4','x5','x6','x9'] 
data_train = data.loc[0:11,:]                                
data_mean = data_train.mean()
data_std = data_train.std()
data_train = (data_train - data_mean)/data_std                 #将数据数据标准化
x_train = data_train[feature].values                           #特征数据
y_train = data_train['y'].values                               #标签数据
linearsvr = LinearSVR()                                        #调用LinearSVR()函数
linearsvr.fit(x_train,y_train)
x = ((data[feature] - data_mean[feature])/ data_std[feature]).values      #进行预测,并还原结果。
data[u'y_pred'] = linearsvr.predict(x) * data_std['y'] + data_mean['y']
## SVR预测后保存的结果
outputfile = '../tmp/income_tax_corr_GM11_SVR.xls'
data.to_excel(outputfile,engine='openpyxl')
data.index = range(2004,2016)
print('真实值与预测值分别为:','\n',data[['y','y_pred']])

数据分析实训第8章企业所得税预测分析

print('预测图为:',data[['y','y_pred']].plot(subplots = True,
     style=['b-o','r-*'],xticks=data.index[::2]))

数据分析实训第8章企业所得税预测分析
   由上述的结果和预测图可以清楚的看到预测值与真实值非常接近,模型对2014年和2015年的企业所得税的预测是准确的。

(5)模型评价
print('企业所得税回归模型的平均绝对误差为:',
      mean_absolute_error(data['y'].iloc[0:11],data['y_pred'].iloc[0:11]))
print('企业所得税回归模型的均方误差为:',
     mean_squared_error(data['y'].iloc[0:11],data['y_pred'].iloc[0:11]))
print('企业所得税回归模型的中值绝对误差为:',
     median_absolute_error(data['y'].iloc[0:11],data['y_pred'].iloc[0:11]))
print('企业所得税回归模型的可解释方差值为:',
     explained_variance_score(data['y'].iloc[0:11],data['y_pred'].iloc[0:11]))
print('企业所得税回归模型的R方值为:',
     r2_score(data['y'].iloc[0:11],data['y_pred'].iloc[0:11]))

数据分析实训第8章企业所得税预测分析

  由上述的评价结果可得,平均绝对误差与中值绝对误差较小,可解释方差值和R的平方值十分接近1,表明建立的支持向量回归模型拟合效果优良,可以用于企业所得税的预测。文章来源地址https://www.toymoban.com/news/detail-463942.html

到了这里,关于数据分析实训第8章企业所得税预测分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试及数据分析处理实训室建设方案

    软件测试及数据分析处理是软件开发过程中的一项重要测试活动,旨在验证不同软件模块或组件之间的集成与交互是否正常。综合测试确保各个模块按照设计要求正确地协同工作,以实现整个软件系统的功能和性能。以下是软件测试及数据分析处理的一般流程和步骤:1. 测试

    2024年02月10日
    浏览(35)
  • Python数据分析与应用 |第4章 使用pandas进行数据预处理 (实训)

    编号 性别 高血压 是否结婚 工作类型 居住类型 体重指数 吸烟史 中风 9046 男 否 是 私人 城市 36.6 以前吸烟 是 51676 女 否 是 私营企业 农村 N/A 从不吸烟 是 31112 男 否 是 私人 农村 32.5 从不吸烟 是 60182 女 否 是 私人 城市 34.4 抽烟 是 1665 女 是 是 私营企业 农村 24 从不吸烟 是

    2024年04月23日
    浏览(39)
  • python数据分析与应用:使用scikit-learn构建模型分析 第六章实训(1,2)

    有问题可以加我微信交流学习,bmt1014 (gcc的同学不要抄袭呀!) 一、实验目的 1、掌握skleam转换器的用法。 2、掌握训练集、测试集划分的方法。 3、掌握使用sklearm进行PCA降维的方法。 4、掌握 sklearn 估计器的用法。 5、掌握聚类模型的构建与评价方法。 6、掌握分类模型的构

    2024年02月09日
    浏览(47)
  • 实训第二天

            create database firstdb default character set utf8;    主键约束(primary key)不能为空,唯一约束(unique key)可以为空,但只允许一个空值         desc 表名           被引用的表是主表         比如班级表是主表,学生表是从表         比如部门表是主表,员工表是从表 不设

    2024年02月08日
    浏览(32)
  • Java实训第八天——2023.6.14

    官方文档:https://v2.cn.vuejs.org/v2/guide/index.html 1.将vue.min.js复制到js中: 2.在demo01.html中,引入js 3.将官方文档复制到demo01.html中 demo01.html代码如下: 4.出现如下结果,则环境搭建成功! html代码如下: 运行结果: html代码如下: 运行结果如下: 运行结果: 代码如下: 初始页面:

    2024年02月09日
    浏览(43)
  • 大数据企业应用场景分析

    目录 一、企业分析 1.1 企业领域维度分析 1.2 技术服务型维度分析 1.3 细分领域维度分析 二、大数据应用场景 2.1 数据分析 2.2 智能推荐 2.3 产品/流程优化 2.4 异常监测 2.5 智能管理 2.6 人工智能和机器学习 三、总结 前言: 想讲清楚大数据应用对企业的价值,需要先分清楚有哪

    2024年02月19日
    浏览(29)
  • 阿里云大数据——搭建企业级数据分析平台

    目录 1、数据分析介绍 1.1数据分析基本介绍 1.2数据分析目的 1.3数据分析平台组成部分 1.4数据分析平台对应的场景 2、阿里云数加介绍 2.1数加是什么? 2.2“数加”是阿里云大数据的核心能力 2.3数加平台发展历程 3、常用的数加产品 3.1数加产品框架图 3.2数据分析平台常用的数

    2023年04月11日
    浏览(91)
  • 31 | 独角兽企业数据分析

    独角兽企业:是投资行业尤其是风险投资业的术语,一般指成立时间不超过10年、估值超过10亿美元的未上市创业公司。 1.通过对独角兽企业进行全面地分析(地域,投资方,年份,行业等),便于做商业上的战略决策 1.数据源:本项目采用的数据源是近年的独角兽的数据,来

    2024年02月13日
    浏览(42)
  • 企业Spark案例--酒店数据分析实战提交

    第1关:数据清洗--过滤字段长度不足的且将出生日期转: package com.yy   import org.apache.spark.rdd.RDD import org.apache.spark.sql.{DataFrame, Dataset, SparkSession} object edu{     /**********Begin**********/     // 此处可填写相关代码     case class Person(id:String,Name:String,CtfTp:String,CtfId:String,G

    2024年02月09日
    浏览(52)
  • 洞察商机,驱动创新:智能数据分析引领企业发展

    “五度易链”产业大数据解决方案由产业经济、智慧招商、企业服务、数据服务四大应用解决方案组成,囊括了产业经济监测、产业诊断分析、企业监测预警、企业综合评估、大数据精准招商、招商智能管理、企业管理、企业培育、企业市场服务、企业金融服务、产业数据开

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包