风控图算法之中心性算法(小数据集Python版)

风控图算法之中心性算法(小数据集Python版)

图算法在金融风控领域的应用已经超越了传统的社区发现技术,这些技术曾被主要用于识别和分析欺诈性行为模式,例如黑产团伙。当前,一系列图统计算法,包括介数中心性(Betweenness)、核(Kcore)、以及PageRank等,正逐渐展现出它们在风险评估和管理中的重要作用。这些算法不仅作为辅助判别工具,帮助揭示交易网络中的潜在风险点,而且在识别网络中的核心和影响力节点方面发挥着关键作用。通过精确识别这些核心节点,金融机构能够更有效地监测和防范可能的风险传播路径,从而增强整体的风险控制框架。

文章目录

  • 风控图算法之中心性算法(小数据集Python版)
  • 一、Betweenness(介数中心性)
  • 二、PageRank
  • 三、Degree Centrality(度中心性)
  • 四、Closeness Centrality(接近中心性)
  • 五、K-core Centrality(K-core中心性)
  • 总结


一、Betweenness(介数中心性)

在图算法中,Betweenness(介数中心性)是一个用于衡量节点在图中的中心性或重要性的指标。它反映了一个节点在图中作为最短路径中介的频率。以下是介数中心性算法的原理:

  • 最短路径:介数中心性基于图中所有最短路径的概念。对于任意两个节点对(u, v),如果它们的最短路径经过了节点i,则节点i对这对节点对的介数有贡献。

  • 介数计算:对于每个节点i,算法计算通过该节点的最短路径数量与所有可能的节点对的最短路径数量的比例,这个比例即为节点i的介数中心性。

  • 公式表达:对于节点i的介数中心性(CB_i),其计算公式可以表示为:
    在这里插入图片描述

  • 算法步骤:

    • 计算图中所有节点对的最短路径。
    • 对于每个节点,累加它在所有节点对的最短路径中的出现次数。
    • 将每个节点的累加值除以所有节点对的数量,得到最终的介数中心性。
  • 应用:介数中心性可以用于识别网络中的关键节点,例如社交网络中的影响力者或金融交易网络中的潜在风险传播点。

  • 局限性:介数中心性算法的一个局限性是计算复杂度较高,尤其是对于大型图,因为它需要计算所有节点对之间的最短路径。

  • 优化:为了解决这个问题,研究者们提出了一些近似算法或启发式算法,如Brandes的算法,它利用动态规划的思想来提高介数中心性的计算效率。

  • 介数中心性算法在网络分析中是一个强大的工具,尤其是在需要识别网络中的关键桥梁或潜在的瓶颈时。在风控领域,它可以帮助识别可能影响网络稳定性的节点,从而采取预防措施。

二、PageRank

PageRank是一个非常经典的用于衡量图中节点重要性的算法。
PageRank原理

注意:Python实现的PageRank支持带权图的计算,但不支持设置各个顶点的初始分值,SparkGraphX实现的PageRank既不支持带权图的计算,又不支持设置各个顶点的初始分值,若要支持,需要二次开发。

三、Degree Centrality(度中心性)

度中心性是指一个节点链接的节点数(即节点的度)。在有向图中,分为入度中心性和出度中心性。度中心性可以直观地反映一个节点的活跃程度或其网络中的影响力。例如,在社交网络中,一个人如果有更多的朋友(更高的度中心性),可能拥有更高的社交地位。

四、Closeness Centrality(接近中心性)

接近中心性(Closeness Centrality)是网络分析中的一个概念,用于衡量一个节点在网络中相对于其他所有节点的中心程度。它反映了一个节点到网络中所有其他节点的平均距离。以下是接近中心性算法的原理:

  • 平均距离:接近中心性基于一个节点到网络中所有其他节点的最短路径长度的平均值。这个平均值越小,表示该节点越接近网络的中心。
  • 最短路径:对于网络中的任意两个节点,最短路径是连接它们的边数最少的路径。在有向图中,需要考虑边的方向。

注意:对于非连通图一般无法计算接近中心性,如果非要计算,比较常见的做法是,现对其使用弱连通分量算法,然后对每个连通分量再行计算接近中心性。

五、K-core Centrality(K-core中心性)

K-core中心性(K-core Centrality)是图论中用于识别网络中最核心和最紧密连接的节点或子图的一种度量。K-core中心性基于k-core的概念,其中k-core是图中的一个最大子图,其中每个节点至少与k个其他节点相连(在无向图中即为每个节点的度都至少为k)。

K-Core 的计算通常包括以下步骤:

  • 从图中删除所有度小于 ( k ) 的节点。
  • 删除这些节点后,可能会有更多节点的度变为小于 ( k )。继续删除这些节点。
  • 重复步骤2,直到没有更多度小于 ( k ) 的节点为止。

最后剩下的子图就是 ( k )-core。这个过程是迭代的,可能需要多次遍历图中的节点。

注意:K-core计算得到的子图不一定是连通的,但是它的大小一定是大于等于k的。


总结

上述所有涉及到的代码都在风控图算法之中心性算法(小数据集Python版)
如果可以的话,麻烦关注一下啦~~~
欢迎关注我的公众号~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/37420.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LoRaWAN网关源码分析(SPI篇)

目录 一、前言 二、lgw_spi_open函数 三、lgw_spi_w函数 四、lgw_spi_r函数 五、lgw_spi_wb函数 六、lgw_spi_rb函数 一、前言 本篇文章整理了LoRaWAN网关如何处理与 LoRa 前端设备之间的 SPI通信(在loralgw_spi.c文件中)。对SPI协议不了解的可以看…

Hive SQL:实现炸列(列转行)以及逆操作(行转列)

目录 列转行行转列 列转行 函数: EXPLODE(ARRAY):将ARRAY中的每一元素转换为每一行 EXPLODE(MAP):将MAP中的每个键值对转换为两行,其中一行数据包含键,另一行数据包含值 数据样例: 1、将每天的课程&#…

免费代码生成工具

领取&安装链接:Baidu Comate 领取季卡 代码自动化生成工具,软件工程师可以在ide中沉浸式写代码,自动化给出代码生成,自然语言直接输出代码。 1.Baidu Comate是什么? Baidu Comate是JetBrains/VSCode插件&#…

ServletConfig与ServletContext详解

文章目录 概要web.xmlServletConfig介绍ServletConfig实例ServletConfig细节ServletContext介绍ServletContext实例ServletContext细节ServletContext获得服务访问次数&#xff08;可拓展&#xff09;总结 概要 web.xml <?xml version"1.0" encoding"UTF-…

OBD诊断(ISO15031) 02服务

文章目录 功能简介请求和响应1、read-supported PIDs1.1、请求1.2、肯定响应 2、read PID value1.1、请求1.2、肯定响应 3、同时请求多个PID4、同时读取多个PID数据 Parameter definition报文示例1、单个PID请求和读取2、多个PID请求和读取 功能简介 02服务&#xff0c;即 Req…

索引失效的场景主要有那些

1、不满足最左匹配原则 当使用联合索引时&#xff0c;查询条件没有从最左索引列开始&#xff0c;或者跳过了索引中的列&#xff0c;那么索引可能会失效。例如&#xff0c;对于联合索引(sex, age, name)&#xff0c;如果查询条件只包含了sex和name而没有age&#xff0c;那么索引…

亚太杯赛题思路发布(中文版)

导读&#xff1a; 本文将继续修炼回归模型算法&#xff0c;并总结了一些常用的除线性回归模型之外的模型&#xff0c;其中包括一些单模型及集成学习器。 保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归…

oracle数据库之使用Python程序调用存储过程(二十五)

在Oracle数据库中&#xff0c;你可以使用Python程序通过Oracle的数据库适配器&#xff08;如cx_Oracle&#xff09;来调用存储过程。以下是一个简单的步骤和示例代码&#xff0c;说明如何使用Python程序调用Oracle的存储过程&#xff1a; 1. 安装cx_Oracle库 首先&#xff0c…

UI(三)布局

文章目录 1、Colum和Row——垂直方向容器和水平方向容器2、ColumnSplit和RowSplit——子组件之间插入一条分割线3、Flex——弹性布局子组件的容器4、Grid和GridItem——网格容器和网格容器单元格5、GridRow和GridCol——栅格容器组件和栅格子组件6、List、ListItem、ListItemGr…

力扣每日一题 6/28 动态规划/数组

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 2742.给墙壁刷油漆【困难】 题目&#xff1a; 给你两个长度为 n 下标从 0…

密码学及其应用 —— 非对称加密/公匙密码技术

1 RSA加密算法 RSA加密算法是一种基于公钥密码学的加密技术&#xff0c;由罗纳德里维斯特&#xff08;Ron Rivest&#xff09;、阿迪萨莫尔&#xff08;Adi Shamir&#xff09;和伦纳德阿德曼&#xff08;Leonard Adleman&#xff09;在1977年共同发明。RSA算法是第一个既能用于…

C++ sizeof的各种

C sizeof的各种 1. 含有虚函数的类对象的空间大小2. 虚拟继承的类对象的空间大小3. 普通变量所占空间大小4. 复合数据类型&#xff08;结构体和类&#xff09;5. 数组6. 类型别名7. 动态分配内存8. 指针9. 静态变量10. 联合体11. 结构体使用#program pack 1. 含有虚函数的类对象…

如何用 php 实现邮件发送功能

一、使用 PHPMailer 发送邮件 1、需要先安装 PHPMailer 库。你可以使用 Composer 来安装它&#xff1a; composer require phpmailer/phpmailer2、安装完成后&#xff0c;可以创建一个简单的 PHP 脚本来发送邮件。以下是一个示例脚本&#xff1a; <?php use PHPMailer\P…

RuoYi_Cloud本地搭建

1.进入若依官网获取git地址 &#xff08;1&#xff09;百度搜“若依官网进”入如下界面 &#xff08;2&#xff09;点击进入git&#xff0c;点克隆下载 &#xff08;3&#xff09;复制http地址 2.在git链接在idea本地打开 &#xff08;1&#xff09;返回桌面——右键&#xf…

金属波纹管

金属波纹管是一种外型规则的波浪样的管材&#xff0c;常用的金属波纹管有碳钢的&#xff0c;和不锈钢的&#xff0c;也有钢质衬塑的、铝质的等等。这种管材主要用于需要很小的弯曲半径非同心轴向传动&#xff0c;或者不规则转弯、伸缩&#xff0c;或者吸收管道的热变形等&#…

大数据面试题之HBase(1)

目录 介绍下HBase HBase优缺点 说下HBase原理 介绍下HBase架构 HBase读写数据流程 HBase的读写缓存 在删除HBase中的一个数据的时候&#xff0c;它什么时候真正的进行删除呢?当你进行删除操作&#xff0c;它是立马就把数据删除掉了吗? HBase中的二级索引 HBa…

数据结构历年考研真题对应知识点(数组和特殊矩阵)

目录 3.4数组和特殊矩阵 3.4.2数组的存储结构 【二维数组按行优先存储的下标对应关系(2021)】 3.4.3特殊矩阵的压缩存储 【对称矩阵压缩存储的下标对应关系(2018、2020)】 【上三角矩阵采用行优先存储的应用(2011)】 【三对角矩阵压缩存储的下标对应关系(2016)】 3.4.…

python中Mysql的模糊查询

1.方法一&#xff1a;使用pymysql库的方法 当在Python中使用MySQL进行模糊查询时&#xff0c;我们通常会使用pymysql或mysql-connector-python这样的库来连接MySQL数据库并执行查询。以下是一个使用pymysql进行模糊查询的详细示例&#xff0c;包括安装库、连接数据库、执行查询…

为什么有的手机卡没有语音功能呢?

大家好&#xff0c;今天这篇文章为大家介绍一下&#xff0c;无通话功能的手机卡&#xff0c; 在网上申请过手机卡的朋友应该都知道&#xff0c;现在有这么一种手机卡&#xff0c;虽然是运营商推出的正规号卡&#xff0c;但是却屏蔽了通话功能&#xff0c;你知道这是为什么吗&am…

自组装mid360便捷化bag包采集设备

一、问题一&#xff1a;电脑太重&#xff0c;换nuc 采集mid360数据的过程中&#xff0c;发现了头疼的问题&#xff0c;得一手拿着电脑&#xff0c;一手拿着mid360来采集&#xff0c;实在是累胳膊。因此&#xff0c;网购了一个intel nuc, 具体型号是12wshi5000华尔街峡谷nuc12i…