Skip to content

gg-lige/maxflowCredit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

纳税遵从度量方法

主要提出了综合考虑纳税企业自身纳税遵从的个体评价与关联企业传递影响的关联评价的合理纳税遵从度量方法。

纳税遵从

纳税遵从指纳税义务人遵照税收法令及税收政策,向国家正确计算缴纳应缴纳的各项税收,并服从税务部门及税务执法人员符合法律规范的管理行为。

运行

  1. 提交spark-submit jar包形式(standalone) ./spark-submit --master spark://cluster1:7077 --executor-memory 10G --total-executor-cores 40 --driver-memory 10G --class lg.scala.main.Main /opt/lg/maxflowCredit.jar

  2. 提交spark-submit jar包形式(yarn) ./spark-shell --master yarn --conf spark.driver.maxResultSize=6G --executor-memory 10G --driver-memory 8G --num-executors 10 --executor-cores 4 --jars /opt/lg/maxflowCredit.jar

思路

此部分主要为原始思路。

1.初始化TPIN

边集(2411724):控制关系边、投资关系边、交易关系边
点集(2873109):纳税人节点【投资方+股东-法人∩投资方∩股东】、非纳税人节点【投资方+股东+法人】

2.添加控制人亲密度边

找出==每个非纳税人直接或间接控制的企业列表==,为企业之间++添加亲密度关系++(即互锁关系)

3.抽取出所有的纳税人

抽取出==仅含纳税人==的大图
边集(2075879):控制关系边、投资关系边、交易关系边、亲密度关系边
点集(1495357):纳税人节点

4.修正图中边权值

采用==平均值法==,对边上四权值加和求平均作为将来运行最大流算法时各边上的容量限制,命名为++修正边++
同时提取度大于0的节点

5.==调整构图

只选择有==初始纳税信用评分==同时也是==稽查库==中的节点构图【该步骤是由于算法跑不动所做修改】
边集(602118):修正边
点集(58538):纳税人节点∩初始纳税信用评分∩稽查库

6.为各节点构所属子图

以各节点为中心,指向或指出各节点,==迭代3步,每步选择临近的前6个权值较大的点==,得到(节点i、所属子图)对

7.运行最大流算法,得到各节点最大流值

计算(节点i、所属子图)中(所属子图-节点i)的各节点指向节点i的最大流值进行求和,即为节点最大流值
==最大流算法(EdmondsKarp算法)==:

  1. 首先在++所属子图++中按==bfs==找到一条最短路径(当最短路径相同时,选择边权值较大的),计算这条路径上可以通过的最大流,其中每经过一个节点,会有==泄露值==(这里选择10%的泄露)这里的泄露函数可以++进行调参++;
  2. 接着记录这条最短路径上的节点和边权重(用去的流量),将==其反向添加到所属子图==中,并将原图正向边的权重进行重新调整;
  3. 重复1,2步骤,直到==初始流变为0==,或者==再也找不到一条从源点到终点的最短路径==时,结束

8.验证

将各节点按最大流分数值从大到小排序,验证前10000名里每隔100名时的命中率,其中总节点数为58538,有问题的有12629,约占21.5%

About

A hybrid approach of value-added tax compliance evaluation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors