关于运用计算机进行纳税评估系统的研究.doc_第1页
关于运用计算机进行纳税评估系统的研究.doc_第2页
关于运用计算机进行纳税评估系统的研究.doc_第3页
关于运用计算机进行纳税评估系统的研究.doc_第4页
关于运用计算机进行纳税评估系统的研究.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于计算机纳税评估系统的研究 基于深度信念网络的纳税评估模型研究一、引言纳税评估是指税务机关以社会信息共享为基础,根据其能够掌握的纳税人、扣缴义务人等税收法律义务主体的各种涉税信息资料,以及其他第三方的相关信息资料,综合运用各种科学的技术手段和方法,按照一定的程序,依据税收法律法规的规定,对纳税人一定时期内履行税收法律义务的情况进行综合性的审核、分析、估算和评价,并作出定性和定量的判断,以便进一步采取针对性管理措施的一种手段或者方法。随着税务部门的信息化程度不断提高,建立科学、先进的纳税评估模型,依托计算机强大的数据处理能力,充分利用已掌握的海量涉税数据,将能够极大地提高纳税评估的工作效率以及获得更良好的效果。近年来在机器学习方面兴起的深度学习(Deep Learning)在多个领域取得了巨大的成功,本文试图使用深度信念网络(Deep Belief Net-works,DBN)分类算法构建纳税评估模型,并将此模型与地税软件系统运行多年积累的数据相结合,建立一个计算机纳税评估系统,以判别纳税人的税收遵从状况。二、纳税评估方法分类及计算机纳税评估现状纳税评估一般同时使用定性分析和定量分析两类分析方法。定性分析是一种经验判断的方法,强调感性与理性相结合,需要运用税收政策和实践经验,对纳税人的生产经营及相应的税收负担的发展趋势做出初步判断,并结合纳税人的现状,进行判断分析。定量分析主要是指标分析,评估人员运用数理原理、规则及其特定的具体计算来对评估对象中包含的量进行测定,从而对纳税人的纳税申报的真实性进行判断分析的方法。计算机纳税评估系统主要应用到的是定量分析方法。从国际上来看,发达国家如德国、美国、新加坡、澳大利亚等国的税务部门基本上都应用了计算机纳税评估系统。其中美国的计算机纳税评估系统很早就应用了数据挖掘方法,是自动化程度高和技术先进的典型,其工作过程如下:首先由位于西弗吉尼亚州的计算中心自动对纳税人的申报材料进行分类,然后通过五种筛选过程(Tax Return Select-ion Processes)核实纳税人是否正确估算了其应纳税款,(一)判别函数系统(Discriminant Function System),这是计算机软件实现的模拟系统,旨在通过对历史数据的分析选取最可能有不遵从行为的纳税人;(二)纳税人遵从测度程序,即通过数理统计方法给出判别函数系统的参数估计值;(三)资料完善程序(Document Perfection Prog-ram),通过此程序检查出纳税申报表的填写计算错误,并将税务局重新计算后的应纳税额通知纳税人;(四)信息匹配程序(Information Ma-tching Program),该程序通过和银行、劳工委员会的相关资料和纳税申报表比对,检查遗漏和不正确的项目;(五)特殊审计程序(Special Audit Program),是指税务局应用由计算机和定期改变的手工选择标准,设计出的很多特殊审计程序,比如退税额、申报扣除额、调整好的毛所得等。可见美国的计算机纳税评估系统已经在纳税评估工作中得到了充分的应用,而且美国税务机关的纳税评估标准和参数经常调整,很难从几个指标判断出哪些纳税人容易成为评估对象,纳税人很难弄虚作假,从而保证了纳税评估系统的有效性、公平性和权威性。而反观国内,目前已有部分省市的税务部门在实际工作中运用了计算机纳税评估系统。比较典型的如江苏地税纳税风险评估系统,通过对纳税申报数据、财务报表数据等多个单项指标的对比分析,再经过加权计分,确定纳税人、扣缴义务人是否存在纳税风险以及风险的级别,但这种对指标的简单对比分析并不能真正发现各指标之间可能存在的联系,实际上仍然受限于人的经验和想象力;而上海市税务局的诚实纳税申报识别系统,通过建立线性判别函数和二次线性判别函数模型对纳税申报的诚实性进行判断,采用机器学习的方法自动选取模型指标,该项目为国家自然科学基金重大项目,但其实用性和可靠性都有待进一步提高;还有杭州市国税局开发的税务稽查选案系统,利用判别方法和人工神经网络建立了不同的模型对纳税人遵从度进行判别。此外,针对税收数据非线性、非平稳性的特点,也有学者尝试在纳税评估中应用多种数据挖掘或机器学习方法,例如朴素贝叶斯分类器、多层前馈(Back Propagation,BP)神经网络、支持向量机(Support Vector Machine,SVM)等,取得了一些有益的成果,但此类方法都属于浅层结构算法,其局限性在:在有限数据样本和有限计算单元的情况下对复杂函数的表示能力有限;而且本身也存在着诸多缺陷:比如贝叶斯分类器要求以数据间的条件独立性假设为前提,这通常很难满足;BP神经网络容易陷入局部最小化、收敛速度过慢和容易出现过度拟合;SVM难以进行大规模数据样本的训练;这些缺点使得应用了此类数据挖掘方法的软件系统在稳定性和实用性方面都难以获得保证。三、使用深度信念网络进行分类判别的原理深度学习的概念源于对人工神经网络的研究,由Hinton等人于2006年提出,是机器学习中一个非常接近人工智能(AI)的领域,出发点是通过模拟人脑的多层神经元网络结构,对没有概念标记的训练样本进行学习,以发现训练样本中的结构性知识,进而能够解释数据。在传统的数据挖掘方法中,数据样本特征(分析指标)的选取一般都是由人工完成的,通过人工选取的好处是可以借助人的经验和专业知识选择出正确的样本特征;但明显的缺陷是效率低,而且在处理一些比较复杂的问题时,靠人工也很难做出正确的选择。于是,研究人员意识到应该寻找一种能够自动选择样本特征、并且还可以保证样本特征准确可用的方法。深度学习就是这方面研究的成果之一,它通过将多个低层的样本特征组合起来形成更抽象的高层样本特征,从而实现了计算机自动学习数据样本特征,不再需要人工参与到样本特征的选取。深度信念网络属于深度学习方法中的无监督学习方法(聚类),典型的DBN网络结构是一个由若干层受限波兹曼机(Restricted Boltzm-ann Machine,RBM)和一层BP神经网络(或RBM)组成的一种深层神经网络,DBN的连接是通过自顶向下的生成权值来指导确定的,RBM看起来就像是用来搭建整个深层结构的积木块,其结构如图1所示:RBMRBMBP微调微调 输入 输出反向标准标注信息 图1 DBM结构图例其中每个RBM被限制为只有一个可视层和一个隐层,层间存在连接,但层内的单元间不存在连接。隐层单元被训练去捕捉在可视层表现出来的高阶数据的相关性。DBN预训练的算法过程如下: (一)将数据输入第一个RBM可视层开始训练。 (二)把可视层的输出作为隐层的输入。 (三)第二个RBM使用经过变换后的数据作为训练实例。 (四)如此向上迭代所设定的层数。 (五)进行整个深度网络结构的参数微调。 此过程也被称为Gibbs采样。在预训练后,DBN可以利用数据的分类标签通过BP神经网络去对判别性能做调整(如果最后一层还是RBM则不需要此调整步骤),然后将最终结果输出。 简而言之,DBN通过多层网络结构模拟了人脑在认知客观物体时,先获取物体的视觉影像、再提取物体特征、最后将物体作出判定分类的过程,DBN在此模拟过程中具有不断迭代、不断抽象的特性,能够实现复杂函数的逼近,展现了从样本数据中学习数据集本质特征的强大能力。显而易见,RBM的状态是成功应用DBN的关键,RBM模型的状态与匹配模型由能量函数来确定。RBM在给定模型参数条件下的联合分布为: (1)其中:,是归一化因子或剖分函数。模型赋予可视向量的边际概率为: (2)对于伯努利(可视)伯努利(隐藏)RBM,其能量函数为: (3)其中:为可视单元和隐单元连接权值;和是偏置量;i和j是可视单元和隐单元的数量。条件概率如式(4): (4) 此处。相似地,高斯(可视)伯努利(隐)RBM的能量函数为: (5)对应的条件概率为: (6) 其中是满足均值为,方差为1的高斯分布的实数值。高斯伯努利RBM将十进制实数随机变量转换为二进制随机变量,然后传递给伯努利伯努利RBM作进一步处理。利用对数似然概率梯度,可推导出RBM的权值更新准则: (7)其中是在观测数据训练集中的期望;是模型中定义的期望。而对于DBN本身,模型在观测向量及个隐藏层中的联合分布为: (8)其中, 是第k层RBM中以隐藏单元为前提的可视单元的条件分布,是最上层RBM的联合分布。4、 DBN的实现和纳税评估系统的构建(一)系统架构的设计及组件的选用计算机纳税评估系统(以下简称评估系统)的分析样本数据计划从广西地税重点税源管理系统(以下简称重点税源管理系统)和广西地税信息系统(以下简称信息系统)的数据库中直接读取。经过对系统的架构、性能、向后兼容性及开发效率的综合考虑,评估系统参考了J2EE技术规范,同时结合其他技术方案,以期整个系统尽可能达到最优化。用户界面部分使用遵循JSF标准的组件开发框架。应用服务程序使用轻量级J2EE开发框架Spring以及对象关系映射框架Hibernate来开发,应用服务程序主要负责读取涉税数据和整理好数据的格式,将数据集通过Web Service传递给DBN进行处理及响应用户界面的各种请求。而Java应用服务器和Web服务器则使用Oracle WebLogic。DBN核心算法由于对计算资源要求比较高且代码结构相对复杂,因而将其作为一个独立的子程序运行,考虑到开发效率和代码的可维护性,这部分应用式(1)至式(8)进行估算并使用Python编写。而且Python可以直接调用C/C+编写的模块,必要时也可以用C/C+改写部分组件,增强系统的性能。整个系统运行在Cent OS操作系统之上,评估系统的架构设计如图2(简略图):Cent OSJ2EEPython信息系统查询库 JDBC用户界面JSFDBNWeb服务应用服务图2 评估系统结构图评估系统的主要工作流程如图3所示:Y开始从数据库读相关数据整理数据格式用训练数据集训练DBN通过拟合测试?得到可用的评估模型根据需要使用模型分析涉税数据并展现结束N 图3 评估系统工作流程图 (二)实现代码实现DBN算法的主要代码列举如下: class DBNS(object): # 初始化 def _init_(self, num_rng, thea_rng = none, n_ins = 784, hid_lay_sizes = 500, 500, n_outs = 10): self.sig_lays = self.rbm_layers = self.pars = self.n_layers = len(hid_lay_sizes) assert self.n_layers 0 if not thea_rng: thea_rng = RandomStreams(num_rng.randint(2 * 30) self.x = T.matx(x) self.y = T.ivec(y) for i in xrange(self.n_layers): if i = 0: input_size = n_ins else: input_size = hid_lay_sizesi - 1 if i = 0: layer_input = self.x else: layer_input = self.sig_lays-1.output sigmoid_layer = hidLayer(rng = num_rng, input=layer_input, n_in = input_size, n_out=hid_lay_sizesi, act = T.nnet.sigmoid) self.sig_lays.append(sigmoid_layer) self.pars.extend(sigmoid_layer.params) rbm_layer = RBMS(num_rng = num_rng, thea_rng=thea_rng, input = layer_input, n_visible=input_size, n_hid = hid_lay_sizesi, w = sigmoid_layer.W, hbias=sigmoid_layer.b) self.rbm_layers.append(rbm_layer) self.logLayer = LogisticRegression(input = self.sig_lays-1.output, n_in = hid_lay_sizes-1, n_out = n_outs) self.pars.extend(self.logLayer.params) self.ft_cost = self.logLayer.negative_log_likelihood(self.y) self.err = self.logLayer.errors(self.y) # RBM训练方法 def pretra_funcs(self, tr_set_x, bat_size, k): idx = T.lscalar(idx) learn_rate = T.scalar(lr) n_batches = tr_set_x.get_value(bow=True).shape0 / bat_size batch_begin = idx * bat_size batch_end = batch_begin + bat_size pretr_fns = for rbm in self.rbm_layers: cost, updates = rbm.cd(learn_rate, pers = None, k) if isinstance(k, theano.Variable): inputs = idx, theano.Param(learn_rate, default=0.1), k else: inputs = idx, theano.Param(learn_rate, default=0.1) fn = theano.function(inputs = inputs, outputs = cost, updates = updates, givens=self.x: tr_set_xbatch_begin: batch_end) pretr_fns.append(fn) return pretr_fns # 微调方法 def build_ft_funcs(self, data_sets, bat_size, learn_rate): (tr_set_x, tr_set_y) = data_sets0 (vd_set_x, vd_set_y) = data_sets1 (t_set_x, t_set_y) = data_sets2 n_vd_batches = vd_set_x.get_value(bow = True).shape0 / bat_size n_test_batches = t_set_x.get_value(bow = True).shape0 / bat_size idx = T.lscalar(idx) gparams = T.grad(self.ft_cost, self.pars) updates = for param, gparam in zip(self.pars, gparams): updates.append(param, param - gparam * learn_rate) train_fn = theano.function(inputs=idx, outputs = self.ft_cost, updates = updates, givens = self.x: tr_set_xidx * bat_size: (idx + 1) * bat_size, self.y: tr_set_yidx * bat_size: (idx + 1) * bat_size) test_sco_i = theano.function(idx, self.err, givens = self.x: t_set_xidx * bat_size: (idx + 1) * bat_size, self.y: t_set_yidx * bat_size: (idx + 1) * bat_size) val_score_i = theano.function(idx, self.err, givens= self.x: vd_set_xidx * bat_size: (idx + 1) * bat_size, self.y: vd_set_yidx * bat_size: (idx + 1) * bat_size) # 用于扫描整个验证数据集 def val_score(): return val_score_i(i) for i in xrange(n_vd_batches) # 用于扫描整个测试数据集 def test_sco(): return test_sco_i(i) for i in xrange(n_test_batches) return train_fn, val_score, test_sco其余用于操作数据库、进程间通讯、用户界面组件优化等功能的代码相对简单而且都是属于应用多年的成熟技术,甚至有多个可供参考的解决方案,限于篇幅不再列出。5、 系统实证分析 (一)分析样本的选取 由评估系统从重点税源系统和信息系统中随机抽取了北海市50家房地产开发企业作为初步研究的评估样本,待系统被证实稳定有效时再考虑直接从数据库中大规模读取数据进行分析。按8:2的比例将50组评估样本随机划分为训练样本集和验证样本集,前者计有40组样本,后者有10组样本,其中每组约选取了30个数据项。样本的纳税评估指标数据直接从数据库中读取,由于所选取指标的量纲各异,取值的范围变化巨大,必须经过归一化处理(归一化到0,1区间)后才能输入DBN进行运算和训练。 (二)评估系统实际运行性能 系统的性能评估主要集中在DBN的训练性能上,在使用默认调优参数的前提下,将40组样本数据输入DBN进行了100次迭代的预训练,相当于在无监督状态下更新了120000个参数。训练过程中最小平均验证错误为1.27,相应的测试误差为1.34。在使用英特尔4核心Xeon 2.8GHz CPU时,训练时间为203分钟,微调时间为36分钟。 (三)评估系统实证结果经过预训练后,DBN将40组样本划分为3类,经过人工核实抽取的样本数据和向有关税务管理人员作进一步了解后,可以确认这3类样本分别是数据没有任何瑕疵的纳税人35个,有小部分数据错漏的纳税人4个,存在比较大的数据问题的纳税人1个,可以分别对应到纳税遵从度高、纳税遵从度稍低及纳税遵从度较低3个类别。将得到的判别模型应用到10组验证样本上,得到结果为纳税遵从度高的纳税人8个,纳税遵从度稍低的纳税人1个,纳税遵从度较低的纳税人1个。经过人工检验,有两个纳税人的分类与实际情况不一致:1个被判定纳税遵从度高的纳税人应为纳税遵从度稍低;1个被判定纳税遵从度较低的纳税人应为纳税遵从度稍低。据此可以计算出判别模型准确性的5个主要衡量指标结果如下:1、 判别总正确率,指被正确分类的纳税人占全部用于验证的纳税人的比例,为80%;2、 弃真率,误将纳税遵从度高的纳税人判定为纳税遵从度稍低和较低者占全部被判定为纳税遵从度稍低和较低的纳税人总人数的比例,为50%;3、 纳伪率,误将纳税遵从度稍低和较低者判定为纳税遵从度高的人数占全部被判定为纳税遵从度高的纳税人总人数的比例,为0%;4、 指定度,指正确判别出纳税遵从度高的人数占实际纳税遵从度高的人数的比例,为114.29%;5、 敏感度,指正确判别出纳税遵从度稍低和较低者人数占实际纳税遵从度稍低和较低者总人数的比例,为66.67%。 由此可以看出DBN生成的判别模型工作效果尚算良好,发现纳税遵从度有疑问的纳税人都是能够在实际数据中发现问题的,但在弃真率、指定度和敏感度这三个指标上都需要改善。6、 结论纳税评估模型的质量直接影响到纳税评估工作的效果和效率。使用深度信念网络来构建纳税评估模型的计算机纳税评估系统通过利用实际数据进行检验,表现出了有效辨别纳税人纳税遵从度的能力,证明了系统架构设计和应用深度信念网络的可行性。但还存在着以下几个问题:一是系统性能仍较低,难以做到在短时间内使用新增数据样本训练并调优模型,应考虑进一步优化算法性能和改善硬件条件;二是受限于重点税源管理系统和信息系统数据的完整性,部分指标值有缺失,模型的预测准确性还有待提高;三是训练样本较少,不足以充分发挥深度学习方法的优势。在下一步的研究中,可以考虑通过对DBN算法进行重构,更换运行速度更快的硬件设备来解决第一个问题;对于第二和第三个问题,由于广西地税数据大集中系统中的涉税数据相对更完整、涉及面更广,计划继续修改评估系统,从大集中系统中读取分析数据,在DBN的性能问题得到较大改善后,提高训练样本的数量级,模型训练水平应该还能有较大的提升空间;从总体上来看,应用深度信念网络的计算机纳税评估系统应该有一定的实际应用价值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论