一种基于长短期记忆神经网络的发票票种核定方法与流程

    专利查询2024-04-09  88



    1.本发明涉及一种发票票种核定方法,尤其涉及一种使用基于长短期记忆神经网络(long short-term memory,lstm)的时间序列预测模型的发票票种核定方法,属于人工智能领域。


    背景技术:

    2.纳税人办理税务登记后需领用发票,并向主管税务机关申请办理发票领用手续。主管税务机关根据纳税人的经营范围和规模,确认领用发票的种类、数量、开票限额等事宜。上述流程为发票票种核定。已办理发票票种核定的纳税人,当前领用发票的种类、数量或者开票限额不能满足经营需要的,可以向主管税务机关提出调整。目前发票票种核定多采用人工审核的方式,不仅效率低,还存在主观性较强等问题。除此之外,传统方式无法对存在票种变更情况的纳税人进行及时的提示提醒。
    3.目前,通常将时间序列的预测研究大体分为3类:一是传统概率统计模型,主要包括回归模型,如差分整合移动平均自回归模型(autoregressive integrated moving average model,arima)等;二是人工智能相关模型,主要包括决策树、贝叶斯网络、支持向量机、人工神经网络等,例如支持向量机回归svm(supportvector regression,svm)、基于神经网络的预测模型lstm;三是混合模型,将多种算法组合起来进行最终预测。
    4.arima是在20世纪70年代提出的目前最常用的有参数的统计模型,是在平稳的时间序列基础上建立起来的,用于短期预测高速公路交通数据。由于票种核定相关数据是非线性、非平稳的序列相关数据,这使得这些传统的时间序列模型在应用于票种核定预测时,具有非常大的局限性,主要表现在:

    传统时间序列模型的假设条件比较严格,进而模型对数据的要求比较严格;

    由于税收相关数据受到多种复杂因素的影响,通常是不平稳的,而传统的时间序列模型只能处理平稳的数据,虽然可以通过差分对数据进行平稳化处理,但同时也会造成数据的损失。svm是使用支持向量机来拟合曲线,并做回归分析。它更多是针对小样本统计进行估计和预测。
    5.循环神经网络(recurrent neural network,rnn)是一类用于处理序列数据的神经网络。最初用于语言模型,因为它具有记忆长期依赖性的能力。但是,rnn存在一些缺陷,如需要通过大量的非线性变换,参数过多,容易出现过拟合,层数不够,提取特征信息不够全面,梯度消失等问题,所以一些rnn变体如lstm等模型被提出。lstm是一种时间循环神经网络,最初于1997年提出用于语言模型,以其出色的记忆长期依赖性而闻名,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。但是,lstm算法在预测方面同样存在不足,如所学习的样本序列若包含线性关系或含有噪音时,lstm算法会造成网络过拟合从而影响预测精度。
    6.历史开票信息、经营信息、企业基本信息等数据能够反映票种变更情况的趋势。通过使用合适的模型,准确地预测领用发票的数量、开票限额,帮助主管税务机关进行发票票种核定,通过电子税务局进行推送,对存在票种变更情况的纳税人进行提示提醒,并对提示
    提醒的内容进行反馈,记录反馈结果,对实现自动、智能的业务化处理具有重要的意义。


    技术实现要素:

    7.针对上述技术问题,本发明提供一种基于改进的lstm发票票种核定方法,该方法对发票最高开票数量和最高开票限额进行预测,预测效果较好,并对存在最高开票数量和最高开票限额变更情况的纳税人进行及时的提示提醒。本方法的具体流程示意如图1所示。
    8.step1确定输入指标:选取印花税税额、房产税税额、发票种类代码、开票金额、销方行业代码、进项税额、销项税额作为模型输入指标,以10为底单份同一纳税人第i个月份发票最高开票限额与第i个月最高购票数量乘积值的对数,作为对应纳税人第i个月份的输出指标,即扩版增量。
    9.step2根据指标提取数据:根据上述指标提取相应的数据,对全国范围最近24个月内单份发票最高开票限额与每月最高购票数量存在变化的正常纳税人进行提取,获取每月的印花税税额、房产税税额、开票金额、销方行业代码、进项税额、销项税额相关数据,并对异常值、缺失值进行处理,如果上述数据中存在异常的情况进行删除,存在缺失的情况进行进行填0处理。将同一纳税人u每个月的指标数据作为一个样本数据,对同一纳税人u采集n个月的数据,对应得到n个样本数据,该n个样本数据构成的序列为该纳税人u的时间样本序列。
    10.step3数据平稳性检验:通过观察时间序列图的形状和序列的自相关、偏自相关函数图来判断数据的平稳性。
    11.step4提出一种改进的lstm时序预测算法:从时序样本入手,先利用变分自编码器(variational auto-encoder,vae)神经网络思想,修复不平稳样本,再使用lstm建立最终的票种核定预测模型。
    12.step5设计最佳历史数据长度搜索方法:分析影响发票票种核定模型预测性能的主要因素,提出一种最佳历史数据长度搜索方法,计算最佳历史数据长度,即模型性能最优(模型预测精度最高)时的历史数据长度。
    13.step6模型训练和测试:根据计算的最佳历史数据长度,提取相应数据并进行归一化处理。然后,使用10折交叉验证(10-fold cross validation),将数据集分成十份,轮流将其中9份做训练1份做测试,10次的结果的均值作为对模型精度的估计,评估指标选用均方根误差(root mean squared error,rmse),验证模型的泛化能力。
    14.step7模型评估和验证:比较模型预测结果与实际领票数量之间的差值。如果效果不理想,则调整模型参数重新训练。
    15.step8票种核定预测:使用已经训练好的模型,进行票种核定预测,得到每个纳税人的扩版增量值,进一步确定单份发票最高开票限额和每月最高购票数量。
    16.与现有技术相比,本发明的优点:
    17.(1)本发明提出一种改进的lstm时序预测算法。相较于传统arima时间序列模型解决了非稳定和非线性的问题,相较于传统rnn循环神经网络,弥补了参数过多,容易出现过拟合,层数不够,提取特征信息不够全面,梯度消失等缺陷。传统的lstm算法将样本组成的时间序列直接作为输入序列送入网络的输入层,未能消除异常样本带来的干扰,如果不消除这种干扰,那么预测结果就可能不准确。vae算法通过对样本的编码、解码重构过程能不
    断地“消除”或者“分解”样本中“不合格数据”,所以本发明组合两类算法设计了改进的lstm时序预测算法。
    18.(2)本发明提出了一种最佳历史数据长度搜索方法,选取最佳票种核定相关历史数据长度,有利于模型充分挖掘数据间的信息量,减少误差,提升模型的预测性能。
    19.(3)本发明采用了10折交叉验证与实际领票结果相结合的模型评估方法,10折交叉验证能够从有限的学习数据中获取尽可能多的有效信息,并从多个方向开始学习样本,可以有效地避免陷入局部最小值,在一定程度上避免过拟合问题。同时,与实际领票结果比较能够有效验证模型的实际应用效果。
    20.(4)本发明能够自动计算核定值,包含推荐核定的发票票种以及对应的最高开票限额和领票数量。纳税人可以直接使用系统推荐值,也可以手动进行调整,如果调整的数值小于或者等于系统推荐值,则自动审核通过,如果调整的数值大于系统推荐值,则需要推送税务端由税务人员进行审核,提高了任务办理的效率。
    附图说明
    21.图1为本发明的方法流程示意图;
    22.图2为改进的lstm时序预测算法流程图;
    23.图3为印花税税额时序图;
    24.图4为房产税税额时序图;
    25.图5为开票金额时序图;
    26.图6为进项税额时序图;
    27.图7为销项税额时序图;
    28.图8为印花税税额自相关图;
    29.图9为房产税税额自相关图;
    30.图10为开票金额自相关图;
    31.图11为进项税额自相关图;
    32.图12为销项税额自相关图;
    33.图13为印花税税额偏相关图;
    34.图14为房产税税额偏相关图;
    35.图15为开票金额偏相关图;
    36.图16为进项税额偏相关图;
    37.图17为销项税额偏相关图;
    38.图18为印花税税额箱线图;
    39.图19为房产税税额箱线图;
    40.图20为开票金额箱线图;
    41.图21为进项税额箱线图;
    42.图22为销项税额箱线图;
    43.图23为lstm网络结构图;
    44.图24为最佳历史数据长度搜索方法流程图;
    45.图25为不同历史数据长度的loss值图;
    46.图26为lstm训练结果图;
    47.图27为纳税人个数占比分布情况图。
    具体实施方式
    48.下面结合附图对本发明进行进一步详细描述。
    49.1、改进的lstm时序预测算法
    50.传统的lstm神经网络虽然通过门控装置提升了网络预测准确度,但忽视了对样本之间的线性关系以及“噪音”考虑,直接将序列样本送入网络的输入层。如果不消除这种干扰,那么预测结果就可能不准确,从而降低模型预测性能。因此,本发明通过借助vae算法进行样本的修复“消除”或“分解”样本中“不合格数据”。综上,本发明组合两类算法设计了改进的lstm时序预测算法。算法具体流程如图2所示。
    51.①
    对训练样本通过人工观察移动平均和移动均方差随时间的变化图,观察数据有无明显随时间上升或下降趋势。一般情况下,正常纳税人之间的票种核定相关数据是相互独立的。如果数据有明显随时间上升或下降趋势则认为不合理,重新采样样本,重复

    。在重新采集样本时,尽量避免选择票种变更次数频繁的纳税人(比如票种变更次数超过设定阈值n的纳税人)以及可能存在虚开发票风险的纳税人。
    52.②
    通过观察时序图形状和单位根检验的方式进行样本平稳性分析,如果样本是平稳的,转

    。否则,转


    53.③
    对样本进行修复,得到重构样本序列。vae对样本的修复可以看成是将原始样本x={x1,x2,...xm},编码为z={z1,z2,...zm},然后再解码为的过程。
    54.④
    搭建lstm模型,将“合格样本”序列作为预测神经网络的输入数据进行预测模型训练,直到满足损失函数要求。
    55.⑤
    使用测试样本输入模型,得到预测输出序列。比较结果,在接受的均方根误差范围内转下步;否则调整参数,转


    56.⑥
    输出改进的lstm时序预测算法模型。
    57.2、平稳性分析
    58.平稳性分为强平稳和弱平稳。强平稳的要求非常严格,它要求两组数据之间的任何统计性质都不会随着时间改变。其要求过于严苛,理论上很难证明、实际中难以检验,因此它基本上没有什么应用场景。
    59.弱平稳放宽了平稳性条件,只要求低阶矩平稳,即数学期望(均值)和方差不随时间和位置变化。弱平稳过程的条件是:
    60.①
    均值函数在采样时间上恒为常数;
    61.②
    存在二阶矩;
    62.③
    对于所有时间t和时滞k,自协方差相同。
    63.二阶矩,也叫作方差,反映一个随机变量在均值附近波动的大小,方差越大,波动性越大。自协方差是描述随机变量在任意两个不同时刻t1,t2的取值之间的二阶矩,用来描述随机变量在两个时刻取值的起伏变化(相对与均值)的相关程度。
    64.因此,通过时序图的图形观察和单位根检验可以判断时间序列是否平稳,具体如下:
    65.①
    观察时间序列图的形状来初步判断其平稳性
    66.根据弱平稳的定义,时间序列的均值和方差为常数,因此其时序图应该围绕某一水平线上下以大致相同的幅度波动。如果该时序图存在明显递增、递减或周期性波动,则该时间序列很可能是不平稳的。
    67.②
    观察序列的自相关和偏自相关函数图对于平稳时间序列而言,其自相关或偏自相关系数一般会快速减小至0附近或者在某一阶后变为0,而非平稳的时间序列的自相关系数一般是缓慢下降而不是快速减小。
    68.③
    单位根检验。通过观察时序图、自相关和偏自相关图来判断时间序列平稳性,可能出现因观察者对图形的判断不同而得出不同的结论,为了更加客观的考察时间序列的平稳性,引入统计检验方法,即单位根检验。本发明采取adf检验(augmented dickey-fuller test)的方法。单位根检验是指检验序列中是否存在单位根,如果存在单位根,则序列是非平稳的。所以,adf检验的h0假设就是存在单位根,如果得到的显著性检验统计量小于三个置信度(10%,5%,1%),则对应有(90%,95,99%)的把握来拒绝原假设。
    69.本发明借助python中的statsmodels模块进行adf检验,计算t-statistic值、p-value值、icbest值。其中,t-statistic,t检验,为假设检验值;p-value为假设检验结果;icbest值为大的信息准则值。
    70.印花税税额、房产税税额、开票金额、进项税额、销项税额的时序图分别如图3、4、5、6、7所示。自相关图分别如图8、9、10、11、12所示,偏相关图分别如图13、14、15、16、17所示。
    71.adf检验结果如下:
    72.t-statistic:-0.452
    73.p-value:0.901
    74.icbest:{'5%':-2.876,'1%':-3.464,'10%':-2.575}
    75.从上述时序图、自相关图、偏相关图和adf检验结果中可以看出,纳税人的印花税税额、房产税税额、开票金额、进项税额、销项税额数据都是不平稳的。
    76.3、异常值处理
    77.通过箱线图分析数据中是否存在异常值,并对异常值进行删除处理。箱线图(boxplot)是利用数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值来描述数据的一种方法,它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。
    78.印花税税额、房产税税额、开票金额、进项税额、销项税额的箱线图分别如图18、19、20、21、22所示,从图中可以看出都存在一定的异常值,删除小于第一四分位数和大于第三四分位数的数据。
    79.4、模型搭建
    80.本发明通过keras搭建lstm模型。keras是一个用python编写的高级神经网络api,它能够以tensorflow,cntk或者theano作为后端运行。本发明搭建的是lstm多特征输入票种核定预测模型,其中模型输入为印花税税额、房产税税额、发票种类代码、开票金额、进项税额、销项税额、行业代码,输出为以10为底单份发票最高开票限额与每月最高购票数量的乘积值的对数,即扩版增量。该模型采用两个lstm隐藏层和一个以线性整流函数
    (rectified linear unit,relu)为激活函数的dense输出层,选用适应性矩估计(adaptive moment estimation,adam)算法作为优化器,以均方差函数(mean square error,mse)作为模型的损失函数,以rmse作为模型的评价指标,模型网络结构如图23所示。
    81.relu又称修正线性单元,是一种人工神经网络中常用的激活函数,与sigmoid、tanh函数相比,收敛速度更快。
    82.adam是适应性梯度算法(adagrad)和均方根传播(rmsprop)两种随机梯度下降扩展式的优点集合。adam不仅如rmsprop算法那样基于一阶矩均值计算适应性参数学习率,同时还充分利用了梯度的二阶矩均值(即有偏方差/uncentered variance)。
    83.mse是真实值与预测值的差值的平方然后求和平均,常被用作评价模型预测效果的标准和模型的损失函数,mse值越小说明模型拟合的效果越好。其计算公式为:
    [0084][0085]
    5、最佳历史数据长度搜索方法
    [0086]
    历史数据长度直接影响模型预测性能。本发明分析历史数据长度这一关键参数对于模型性能的影响,建立了一种最佳历史数据长度搜索方法,具体流程如图24所示。本文采用单步预测的方法。若选择一个测试样本,预测误差值具有一定的偶然性,搜索的最佳历史数据长度不具有普遍性。因此,本文选取一定量的样本作为测试集,确定测试集平均误差最低时的历史数据长度为最佳历史数据长度。首先,选取部分原始数据进行测试,并作归一化处理。样本数据归一化处理时采用min-max标准化(min-max normalization)线性变换原始数据,使结果值映射到[0,1]之上。其次,固定模型预测输出数据长度f=1,固定窗口移动步长s=1,改变历史数据长度,采用坐标延迟法构造输入输出数据集。然后,设置训练集和测试集占比,将输入和输出数据集按8:2划分为训练集和测试集,将训练集输入lstm网络训练模型,将测试集输入已训练的lstm网络实现预测。最后,计算测试集中样本估计值与真实值之间的平均误差loss,选取平均误差loss最小时的历史数据长度作为最佳历史数据长度。不同历史数据长度的loss值如图25所示,从图中可以看出w=24时的loss值最小,因此选取24个月的历史数据作为lstm模型的输入数据。
    [0087]
    6、模型训练和评估
    [0088]
    在搭建好lstm模型之后,选择合适的batchsize,对模型进行训练。batchsize即为一次训练选择的样本数。首先不使用dropout以及正则化项,使用一个较小的数据集(从原始数据集中取出一小部分),去训练拟合这个数据集。然后,在一轮epoch中,打印出输入、输出,检测数据的正确性。接下来,观察初始的loss值,并对loss进行预估。可视化训练过程,在每一轮epoch训练完成后,计算验证集上的loss与rmse,并记录下每一轮epoch后训练集与验证集的loss与rmse。经过多次实验后,本发明选择batchsize为128,设置学习率的衰减指标为0.01。
    [0089]
    本发明采用十折交叉验证进行模型评估,将数据集分成十份,轮流将其中9份作为训练数据,1份作为测试数据,进行试验。每次试验都会得出相应的rmse。10次的结果的平均值作为对模型效果的估计,训练结果如图26所示。lstm模型的平均rmse为0.54。
    [0090]
    本发明按发票种类不同,分别比较了全国范围内发生变更的纳税人发票票种核定的每月最高购票份数与实际领用份数。发票种类有6种分别是2008版增值税普通发票(二联
    无金额限制版)、2008版增值税普通发票(五联无金额限制版)、2016版增值税普通发票(二联折叠票)、2016版增值税普通发票(五联折叠票)、增值税专用发票(中文三联无金额限制版)、增值税专用发票(中文六联无金额限制版)。
    [0091]
    选取(发票票种核定份数-实际领用份数)的差值作为分析指标。差值的最小值均为0,最大值分别为600、400、188、100、199、499,标准差分别为28、67、24、21、32、26。纳税人个数占比分布情况如图27所示。从图中可以看出,多数纳税人核定与实际的差值在10—100之间,少部分的差值大于1000,预测效果较好。
    [0092]
    7、票种核定预测和结果处理
    [0093]
    对全国范围内的纳税人进行预测,获取待测纳税人24个月的印花税税额、房产税税额、开票金额、进项税额、销项税额记录,并按照时间进行排序。将待测数据输入训练好的lstm模型,得到模型的输出结果,再按如下方式还原成票种核定的预测结果。
    [0094]
    票种核定预测结果=10
    模型输出结果
    ꢀꢀꢀ
    (4)
    [0095]
    单份发票最高开票限额取值为100、1000、10000、100000、1000000、10000000、100000000。用预测的扩版增量值分别去除以上单份发票最高开票限额,取整后得到每月最高购票数量值,选取与原来每月最高购票数量差距最小的作为最终预测的每月最高购票数量值,进而得到最终的单份发票最高开票限额和每月最高购票数量预测结果。

    技术特征:
    1.一种基于长短期记忆神经网络的发票票种核定方法,其步骤包括:1)基于长短期记忆神经网络lstm建立票种核定预测模型并设定输入指标、输出指标;2)对于每一设定纳税人u,根据设定输入指标、输出指标采集该纳税人u最近连续n个月的相应数据作为该纳税人u的时序样本数据;3)利用变分自编码器神经网络对时序样本数据进行修复,得到平稳样本数据;然后利用平稳样本数据对票种核定预测模型进行训练,获得使得该票种核定预测模型性能最优时的最佳历史数据长度;4)根据得到的最佳历史数据长度对时序样本数据进行截取训练该票种核定预测模型;5)获取目标纳税人所述最佳历史数据长度的输入指标数据,并输入到步骤4)训练后的票种核定预测模型对该目标纳税人进行票种核定预测,得到该目标纳税人的扩版增量值、单份发票最高开票限额和每月最高购票数量。2.如权利要求1所述的方法,其特征在于,所述设定输入指标包括印花税税额、房产税税额、发票种类代码、开票金额、进项税额、销项税额、行业代码;所述设定输出指标为以10为底单份同一纳税人第i个月份发票最高开票限额与第i个月最高购票数量乘积值的对数,即扩版增量值。3.如权利要求1所述的方法,其特征在于,利用变分自编码器神经网络对时序样本数据进行修复,得到平稳样本数据的方法为:31)对于设定纳税人u的时序样本数据,根据该时序样本数据的移动平均变化图和移动均方差变化图,判定该时序样本数据是否合理,如果不合理则对该设定纳税人u重新采样;如果合理,则进行步骤32);32)对该时序样本数据进行样本平稳性分析,如果符合设定参数要求则将其视为平稳样本数据;否则进行步骤33);33)利用变分自编码器神经网络对该时序样本数据进行编码得到序列z,然后对序列z进行解码,得到重构样本序列作为该时序样本数据对应的平稳样本数据;其中所得序列与序列x的距离最小,x为该时序样本数据。4.如权利要求3所述的方法,其特征在于,设定参数要求包括:a)时序样本数据的均值函数在所有时间上恒为常数,b)时序样本数据存在二阶矩,c)对于所有时间t和时滞k,时序样本数据的自协方差相同。5.如权利要求1所述的方法,其特征在于,得到所述最佳历史数据长度的方法为:选取多个时序样本数据;然后设置模型预测输出数据长度f=1,固定窗口移动步长s=1,改变时序样本数据的长度,采用坐标延迟法构造输入输出数据集;然后将输入输出数据集划分为训练集和测试集,利用训练集训练该票种核定预测模型,得到训练集中每一样本的估计值,统计计算不同长度时样本估计值与对应真实值之间的平均误差loss,选取平均误差loss最小值对应的时序样本数据长度作为所述最佳历史数据长度。6.如权利要求1所述的方法,其特征在于,该票种核定预测模型为双层lstm递归神经网络模型,包括两个lstm隐藏层和一个以线性整流函数为激活函数的dense输出层;选用适应性矩估计算法作为训练该票种核定预测模型的优化器,以均方差函数作为训练该票种核定预测模型的损失函数。

    技术总结
    本发明公开了一种基于长短期记忆神经网络的发票票种核定方法,其步骤包括:1)基于长短期记忆神经网络LSTM建立票种核定预测模型并设定输入指标、输出指标;2)对于每一设定纳税人U,根据设定输入指标、输出指标采集该纳税人U最近连续N个月的相应数据作为该纳税人U的时序样本数据;3)利用样本数据对票种核定预测模型进行训练,获得模型性能最优时的最佳历史数据长度;4)根据最佳历史数据长度对时序样本数据进行截取训练该票种核定预测模型;5)获取目标纳税人最佳历史数据长度的输入指标数据,并输入到票种核定预测模型对该目标纳税人进行票种核定预测,得到该目标纳税人的扩版增量值、单份发票最高开票限额和每月最高购票数量。量。量。


    技术研发人员:王彦 武锦 王飚 马达 韩佶兴 刘思含 李超 李雪
    受保护的技术使用者:中国软件与技术服务股份有限公司
    技术研发日:2020.11.20
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-21858.html

    最新回复(0)