谷歌PageRank图算法在金融客户营销中的应用

  • 一、PageRank算法原理介绍
  • 二、PageRank 算法代码实现
  • 三、PageRank算法在金融中的应用
  • 万物皆有源—PageRank算法起源

提及PageRank算法,还得从搜索界的老大哥google说起。PageRank,顾名思义网页排名,是一种根据网页之间相互的超链接计算的技术,这个算法的发明者之一是谷歌的CEO拉里·佩奇(Larry Page),所以又称Larry Page。

PageRank算法最早是为了解决海量网页的分类与排名,早期的搜索引擎采用分类目录的方法,即通过人工进行网页分类并整理出高质量的网站。当时的 Yahoo以及国内的hao123使用的就是这种方法。随着网页越来越多,人工分类已经不现实了,谷歌的两位创始人借鉴了学术界评判学术论文重要性的通用方法, 那就是看论文的引用次数,由此想到网页的重要性也可以根据这种方法来评价,于是PageRank的核心思想就诞生了。

PageRank算法属于常用的图算法中的一种,图分析是基于图的方法来分析连接的数据。比如我们日常使用导航来规划最短路径就运用了图分析、防止欺诈,预测流感的传播,社交网络的分析。下图是一张社交网络图,其中点的大小反应了对应节点在网络中的影响力,点越大说明影响力越大,处于社交网络比较中心的位置。

一、PageRank算法原理介绍

PageRank对网页排名的算法,曾是Google发家致富的法宝。PageRank算法计算每一个网页的PageRank值,然后根据这个值的大小对网页的重要性进行排序。它的思想是模拟一个悠闲的上网者,上网者首先随机选择一个网页打开,然后在这个网页上呆了几分钟后,跳转到该网页所指向的链接,这样无所事事、漫无目的地在网页上跳来跳去,PageRank就是估计这个悠闲的上网者分布在各个网页上的概率。

PageRank的核心思想:

  • 如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是PageRank值会相对较高;
  • 如果一个PageRank值很高的网页链接到一个其他的网页,那么被链接到的网页的PageRank值会相应地因此而提高。


PageRank算法简单来说分为两步:

  1. 给每个算子一个PR值(下面用PR值指代PageRank值)。
  2. 通过(投票)算法不断迭代,直至达到平稳分布后终止。
    接下来举个PageRank算法简单的例子,展示一下它的基本思想。以下图的网络为例计算其中各节点的PR值,找到最有价值的节点。


介绍两个概念:
出链:是指链接出去的链接;入链:是指链接进来的链接
比如图中 A 有 2 个入链,3 个出链。
一个节点的PR值 = 所有入链集合的节点的加权PR值之和,公式为:


其中,u为待评估节点,Bu​为页面 u入链的集合,v为集合Bu​中的元素,L(v)是节点v的出链数量。

PR值计算的步骤如下:

  1. 节点A 有三个出链,故当用户访问 A 时,就有跳转到 B、C 、D 的可能性,跳转概率均为 1/3。
  2. 节点B 有两个出链,跳转概率均为 1/2。
  3. 一般用跳转概率矩阵M表示各节点的跳转概率,令n表示节点数,则M是一个n*n的方阵。节点j的一个出链连接到节点i,k为其跳转概率,则M[i][j]= k。由此可以得到 A、B、C、D 这四个节点的跳转概率矩阵M,如下:
  4. 假设 A、B、C、D的初始影响力均相同,得到他们的影响力矩阵:
  5. 进行第一次节点跳转之后,各节点的影响力w1变为:
  6. 重复上一步的跳转过程,直到第n次迭代后 wn影响力不再发生变化,即 wn ≈ Mwn时,wn 影响力矩阵最终收敛到(0.3333,0.2222,0.2222,0.2222),这就是A、B、C、D四个节点最终的影响力。

根据最终结果可以发现节点A的权重最大,也就是PR值更高,价值最大,而 B、C、D的 PR 值相等。

上文中我们模拟了一个简化的PageRank的计算过程,实际情况会更复杂,要满足最终可以收敛,需要保证图是强连通的,即从任意网页可以到达其他任意网页。可能会导致不满足强连通的两个问题:

  1. 等级泄露(Rank Leak):如果一个网页没有出链,就像是一个黑洞一样,吸收了其他网页的影响力而不释放,最终会导致其他网页的 PR 值为 0。
  2. 等级沉没(Rank Sink):如果一个网页只有出链,没有入链,计算的过程迭代下来,会导致这个网页的PR值为0。

为了解决这两个问题拉里·佩奇提出了 PageRank 的随机浏览模型。他假设用户并不都是按照跳转链接的方式来上网,还有一种可能是不论当前处于哪个页面,都有概率访问到其他任意的页面,比如说用户就是要直接输入网址访问其他页面,虽然这个概率比较小。他将PR值的计算公式优化为:

其中,N 为节点总数,d为阻尼因子,代表了用户按照跳转链接来上网的概率,通常可以取一个固定值 0.85。

二、PageRank 算法代码实现

Python中的复杂网络分析库networkx支持创建简单无向图、有向图和多重图;内置了许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富,简单易用。其中就内置了PageRank 算法的函数,下面以上节中举得例子简单展示使用networkx库实现PageRank 算法的代码。

  1. 导入所需库
  2. 定义出上节举例用的有向图
  3. 计算该有向图各节点的pr值

    输出结果:
  4. 绘制有向图图像

    输出结果:

三、PageRank算法在金融中的应用

PageRank在金融领域中,主要应用于客户营销的场景,对于有出链和入链的网络关系,就可以运用PageRank算法计算样本的pr值,对分析目前的影响力、价值进行排序。

在常见的银行零售业务中,运用PageRank算法可以评估客户的交易网络价值。通过行内个人客户互相转账的交易记录,可以获得行内客户的交易网络,以客户作为节点,转账行为为边,就可以构造出对应的图网络,如第二节中的例子,从中找到影响力高的客户。

当然也可以考虑增加转账金额或转账次数等为边的权重,来构造图网络。得到交易网络图后可以找出与其他客户关联性强的客户,并应用PageRank算法对交易网络的客户打分,以量化客户与其他行内客户的关联度,并挑选出营销价值高的客户,制定相应的营销计划。

另外,也可将PageRank算法得到的客户得分作为一个变量加入其它营销相关的模型中,可能会提高模型的表现。

以之前做过的分析为例进行介绍。数据周期为20180101-20181031,去除重复数据、助农POS渠道交易记录、客户自己转给自己、冲正等数据,保留交易记录90.95万条,涉及客户33.28万。

首先,使用无向网络且不设置边权重,计算得到的pr值如下图,可以发现此时pr_value值分布极不均衡,大多集中在较小值,值大的客户很少。该数据分布作为客户的交易网络价值得分显然不合理,需要进一步优化。

尝试使用有向网络,对主动交易行为设置较高的权重,同时加入交易金额为边权重,此例中权重的计算公式为:

得到的pr_value值分布如下图,可以发现此时pr_value值分布较之前更为离散,归一化后得分为0比例从29.8%下降至0.02%。


最后,比较两种情况下的pr_value值分布,如下图所示。分析结果发现加权后得分大于0的客户增多,这说明关联节点多的客户不一定交易次数和金额就多,所以加入边权重更有助于全面的分析客户在交易网络中的地位。


得到pr_value值后,可作为客户全生命周期价值评分的一部分,衡量客户过去以及未来的贡献度。其中pr_value得分高的客户,说明该客户与其他多个客户关系密切,其关系圈有较大的开发潜力,可重点经营MGM老带新;也可对关联客户较多但交易金额偏低的客户进行营销,因为他们处于网络的中心点但产生的交易金额却较少,成功营销可能会产生乘数效应,比单个营销效率更高;另一方面,计算出的pr_value值也可以作为一个特征加入其它营销类模型中,有助于提升模型精度。

作者: 青见

版权归作者所有,任何形式转载请联系作者。
it_hr@zybank.com.cn

谷歌PageRank图算法在金融客户营销中的应用相关推荐

  1. 日益谨慎的谷歌AI,会在自我限制中越走越慢吗?

    来源:wired 为了防止技术被滥用,谷歌对新推出的人脸识别服务进行了限制,但这种限制有时候反而会让竞争对手抢得市场先机. 谷歌之所以成为今天的谷歌,是因为它不断创造先进的新技术,并将这些技术向所有人 ...

  2. 分布式数据库在金融应用场景中的探索与实践

    分布式数据库在金融应用场景中的探索与实践 刘雷, 郭志军, 马海欣, 赵琼, 胡卉芪, 蔡鹏, 杜洪涛, 周傲英, 李战怀 交通银行软件开发中心,上海 201201 华东师范大学数据科学与工程学院,上 ...

  3. 银行数字化转型导师坚鹏:数字化转型背景下的银行对公客户营销

    数字化转型背景下的银行对公客户营销 课程背景: 数字化转型背景下,很多银行存在以下问题: Ø 不清楚如何搭建金融场景? Ø 不知道如何挖掘客户需求? Ø 不知道如何开展数字化营销? 课程特色: Ø 有 ...

  4. 【沃顿商学院学习笔记】商业分析——Customer Analytics:05 营销中的新兴数据集:营销科学的未来 EMERGING DATA SETS IN MARKETING

    商业进阶--营销科学的未来 本章主要从当今营销领域的五大分析应用领域:数据Data.探索数据Data Explorer.预测模型Predictive Model.优化Optimization和决策De ...

  5. 刘东明老师中国邮政储蓄银行互联网金融网络营销培训

    2013年随着利率市场化和存贷差越来越小,银行的竞争越来越激烈,如何拓展新的客户,成为挑战电子商务平台的企业及各家银行看重的阵地,中国邮政储蓄银行特别邀请清华.北大网络营销授课专家刘东明老师讲授金融互 ...

  6. 算法男自述:很有料很枯燥,机器学习在营销中的应用

    友盟+数据技术系列 数据能够打通,对于消费者的理解加深,这是革命性的变化.数据的进化促使传播和传播载体之间解耦.现在,营销是基于人而不是基于传播位置.更重要的是智能,数据让机器有持续学习的机会,通过学 ...

  7. 华胜天成为中国邮储银行搭建金融客户管理系统

    众所周知,金融业是典型的高级服务业,在这一行业中,客户始终是最重要和最宝贵的资源,如何有效管理客户信息并准确把握客户需求,成为当下众多银行面临的新课题.近期,由国内领先的IT综合服务提供商华胜天成(上 ...

  8. 图算法在斗鱼反作弊中的实践

    导读:斗鱼作为个人直播平台,长期以来除了普遍存在的灰黑产,虚假流量也是流量风控的重灾区.本文将介绍图算法在斗鱼反作弊中的业务实践,主要内容包括: 斗鱼流量风控业务场景 斗鱼图算法体系 图算法风控建模 ...

  9. 浅谈机器学习在市场营销中的应用

    https://www.toutiao.com/a6641920612455416334/ 2019-01-02 23:24:11 原创: Frank 机器学习blog 2017-02-26 目前,在 ...

最新文章

  1. http://blog.sina.com.cn/s/blog_7b9d64af0101cjci.html
  2. 如何查看numpy库数组的:类型、数据类型、尺寸、形状、维度? (type、dtype、size、shape、ndim)
  3. linux 内核将两个设备相关联,linux用户空间和内核空间交换数据
  4. 用华为HMS core的秘钥库文件不存在或者已经存在的解决方案
  5. Cloud for Customer手机应用上传图片禁止从本地相册选择图片的核心代码
  6. How to use SAP CRM price determination in Quotation scenario
  7. Copy-on-Iterate java 代码风格
  8. linux配置防火墙,开启端口
  9. 开挂了!女生用写字机器人刷作业 因写太快被识破 这能怪孩子吗?
  10. 记录并练习Markdown的基本语法
  11. *第四周*数据结构实践项目一【创建单链表】
  12. Android8.0适配问题java.lang.IllegalStateException: Only fullscreen opaque activities can request orie…
  13. 【渝粤教育】国家开放大学2018年秋季 1326T社区护理学(本) 参考试题
  14. CentOS7下的软件安装方法及策略详解
  15. 力扣:编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。
  16. F1 Delta Time 大奖赛每日挑战赛开启
  17. 人脸识别技术及实现思路
  18. oauth2-authorization-server;oauth2-resource-server;oauth2-client
  19. 你视人家为人脉,人家视你为韭菜
  20. 带有示例的Python date weekday()方法

热门文章

  1. 【R语言】package ‘xxx‘ is not available for this version of R
  2. 大数据技术中的伦理问题
  3. C#.多线程 (一)多线程(异步模式)与单线程(同步模式)的应用与区别 举例
  4. java发送ipmsg,[导入]用Java向IPMSG发送消息(转)
  5. AIX切换Shell
  6. CentOS安装部署FFmpeg
  7. Raptor的简介和安装
  8. this.$refs获取不到dom的问题——恒生寻常问道实习记录
  9. 【论文笔记】FaceNet--Google的人脸识别
  10. 电脑回收站清空的文件怎么恢复呢?