金融风控实战——社交网络分析

社交网络分析

上节课有同学希望能讲一些设备指纹的内容,所以这节课我们先讲一下设备指纹,作为反欺诈图谱的基础。

设备指纹

可以把手机设备理解成一个人,像人一样有身份证号和名字(设备序列号等),没有化妆(篡改)、没有被假冒(设备账户被盗用、冒用)等,是用于唯一标识出该设备的设备特征或者独特的设备标识。

一般都是基于某些设备信息,通过一些设备指纹算法会将这些信息组合起来,通过特定的hash算法得到一个最后的ID值,作为该设备的唯一标识符。常见的元素有:

  • sim卡信息
  • wifi信息
  • 硬盘信息
  • 内存信息
  • 屏幕信息
  • 设备的传感器特征,比如麦克风、加速传感器、摄像头等信息
  • 浏览器本身的特征,包括UA,版本,操作系统信息等
  • 浏览器中插件的配置,主要是插件的类型与版本号等
  • 设备操作系统的特征,比如是否越狱等
  • 浏览器的Canvas特征,影响该特征的因素有GPU特性造成的渲染差异,屏幕的分辨率以及系统不同字体的设置等

主动式设备指纹技术需要在客户端上植入自己的Javascript或SDK代码,主动收集设备相关的特征,用以标识设备和用户。在特征的选取上,需要考虑特征的稳定性和准确度。理想的特征应该在一定的时间段内不会因为外界的条件变化、或是用户的操作行为而发生变化,同时在不同的设备上具有显著的差异。

最基础的反欺诈做法呢,就是收集一定的数据,定义一些规则,不过主要看经验。但是很多时候是很难单一发现问题的,比如是否同一个手机号映射多个姓名,同一个手机,映射多个申请订单,等等。

这种一方面采用大数据的手段,建立宽表,然后定义一些规则,判断是否欺诈,去过滤掉一些客群。但有时候又有很多误判,比如,同一个手机号映射多个人名我们无法判断哪个是真还是假,只能全部拦截。可是很多公司的获客成本都比较高,放掉损失很大,这时候就可以用到我们现在反欺诈的主要手段–知识图谱。

知识图谱

知识图谱(Knowledge Graph/Vault)又称为科学知识图谱,2012年由谷歌提出,如今已经成为人工智能领域的热门问题之一,吸引了来自学术界和工业界的广泛关注,在一系列实际应用中取得了较好的落地效果,产生了巨大的社会与经济效益,其中包括金融领域。

知识图谱基于二元关系的知识库,构成网状结构。基于图的数据结构,以图的方式存储知识并向用户返回经过加工和推理的知识。它由“节点”和“边”组成,节点表示现实世界中存在的“实体”,边表示实体与实体之间的“关系”,其基本组成单位是“实体-关系-实体”的三元组,实体之间通过关系相互联结。

主要应用场景:

  • 反欺诈
  • 风险预测
  • 催收
  • 精准营销
  • 智能搜索

举个例子来说明构建知识图谱的流程,此处我们采用个人信息(也可以是设备指纹,总之有可能是虚假的数据)进行一个场景构建。

1)通过对数据进行清理,抽取,构建知识图谱的节点,比如工作地址,姓名,身份证,GPS,工作地点,单位,IP,联系人手机号,等等。

2)比较好的方式是建立基础信息表,然后不断更新,这种方式比较好的原因是可以防止异常,可以保证数据最终一致性。这个就会根据不同情况,构建不同基础数据表,少则十几个,二十几个,多的可以成百上千。

3)基于清洗后的信息,进入图数据库,构建出整个知识图谱。

4)基于图算法进行相关的特征抽取或者通过网络结构进行负样本挖掘

import networkx as nx
import pandas as pd
import matplotlib.pyplot as plt
edge_list=pd.read_csv('./data/stack_network_links.csv')
edge_list.head()

在这里插入图片描述

G=nx.from_pandas_edgelist(edge_list,edge_attr='value' )plt.figure(figsize=(30,15))nx.draw(G,with_labels=True,edge_color='blue',node_color='grey',node_size=10,pos=nx.spring_layout(G,k=0.1,iterations=40))

在这里插入图片描述
特征抽取:

  • 不一致性检验
  • 静态分析
  • 动态分析
  • 关联特征提取

网络信息挖掘:

  • 社区发现

负样本生成:

  • 染色

不一致性检验

在团簇中,如果用户的信息与我们的正常理解有严重偏差,那么这种团簇很可疑;如两个用户拥有同个家庭wifi,但所填家庭地址相差甚远,显然与现实不符。这里需要大量的人工干预,因为我们不能通过欺诈标签做相关的统计分析,更多的要靠经验判断。当然如果标签得当,我们其实可以通过做相似性度量来进行筛选重要的关联特征,作为规则的。

关联特征提取

对网络特征的直接提取,提取出中心度或一度二度关联特征可供上层规则系统或风险评估模型使用。基本思想仍然是在网络中社交越广泛,越有可能是一个坏人。

反欺诈对于实时决策的需求很高,这些指标都需要实时提取。其中一些指标,比如二度关联度, 在一般的情况下计算复杂度是很高的。在动态图的情形下,一般会采取一些近似的算法并进行预计算。

静态分析

给定时间节点,去尝试发现图形结构的异常子图。

动态分析

分析结构网络|随着时间变化的趋势

失联模型

挖掘更多的潜在的可触达联系人。

社区发现

社区发现(Community Detection)算法用来发现网络中的社区结构,也可以看做是一种聚类算法。

染色

染色本质就是一种基于关联图谱的半监督学习方法,我们知道在反欺诈的场景下,一个典型的困境就是欺诈标注非常少,获得的代价非常高,而我们要做一些监督式的机器学习,却又非常依赖于标注。因此如果能用少量的欺诈标注样本产生出更多的标注,就能最大程度利用欺诈样本。这就是染色的初衷,欺诈标注会沿着网络里的边从一个节点传播到另一个节点。

染色从直觉上比较容易理解,我们经常说近朱者赤,近墨者黑。一个用户和坏用户有关联,其实很有可能他本身就是有问题的。这里放一个数据,根据分析得到,一个客户一旦出现在某个坏客户的通讯录中,就有70%的概率会变坏。

#基于sklearn标签传播算法示例
import numpy as np
import matplotlib.pyplot as plt
from sklearn.semi_supervised import label_propagation
from sklearn.datasets import make_circles# generate ring with inner box
n_samples = 200
X, y = make_circles(n_samples=n_samples, shuffle=False)
outer, inner = 0, 1
labels = np.full(n_samples, -1.)
labels[0] = outer
labels[-1] = inner
# Learn with LabelSpreading
label_spread = label_propagation.LabelSpreading(kernel='rbf', alpha=0.8)
label_spread.fit(X, labels)# Plot output labels
output_labels = label_spread.transduction_
plt.figure(figsize=(8.5, 4))
plt.subplot(1, 2, 1)
plt.scatter(X[labels == outer, 0], X[labels == outer, 1], color='navy',marker='s', lw=0, label="outer labeled", s=10)
plt.scatter(X[labels == inner, 0], X[labels == inner, 1], color='c',marker='s', lw=0, label='inner labeled', s=10)
plt.scatter(X[labels == -1, 0], X[labels == -1, 1], color='darkorange',marker='.', label='unlabeled')
plt.legend(scatterpoints=1, shadow=False, loc='upper right')
plt.title("Raw data (2 classes=outer and inner)")plt.subplot(1, 2, 2)
output_label_array = np.asarray(output_labels)
outer_numbers = np.where(output_label_array == outer)[0]
inner_numbers = np.where(output_label_array == inner)[0]
plt.scatter(X[outer_numbers, 0], X[outer_numbers, 1], color='navy',marker='s', lw=0, s=10, label="outer learned")
plt.scatter(X[inner_numbers, 0], X[inner_numbers, 1], color='c',marker='s', lw=0, s=10, label="inner learned")
plt.legend(scatterpoints=1, shadow=False, loc='upper right')
plt.title("Labels learned with Label Spreading (KNN)")plt.subplots_adjust(left=0.07, bottom=0.07, right=0.93, top=0.92)
plt.show()

在这里插入图片描述

#图谱中的标签传播算法
#生成一个连续连通图
G = nx.path_graph(5)
G.node[0]['label'] = 'A'
G.node[3]['label'] = 'B'
G.nodes(data=True)plt.figure(figsize=(20,10))nx.draw(G,with_labels=True,edge_color='blue',node_color='grey',node_size=10,pos=nx.spring_layout(G,k=0.1,iterations=40))

在这里插入图片描述

predicted = nx.node_classification.local_and_global_consistency(G)
predicted
#['A', 'B', 'B', 'B', 'B']

关键特征提取

#度
nx.degree(G)
#DegreeView({0: 1, 1: 2, 2: 2, 3: 2, 4: 1})
#度中心性 m/(n-1)
nx.degree_centrality(G)
#{0: 0.25, 1: 0.5, 2: 0.5, 3: 0.5, 4: 0.25}
nx.betweenness_centrality(G)
#{0: 0.0, 1: 0.5, 2: 0.6666666666666666, 3: 0.5, 4: 0.0}
nx.closeness_centrality(G)
#{0: 0.4,
# 1: 0.5714285714285714,
# 2: 0.6666666666666666,
# 3: 0.5714285714285714,
# 4: 0.4}
nx.katz_centrality(G)
#{0: 0.4204672617767119,
# 1: 0.4628997071494082,
# 2: 0.4667572021832897,
# 3: 0.4628997071494082,
# 4: 0.4204672617767119}
#连通子图
list(nx.connected_components(G))[0]
#{0, 1, 2, 3, 4}
# 取出网络的最大子图
Sub_G=G.subgraph(list(nx.connected_components(G))[0])
#计算节点的聚类系数
nx.clustering(Sub_G) 
#{0: 0, 1: 0, 2: 0, 3: 0, 4: 0}
#计算网络的聚类系数
nx.average_clustering(Sub_G) 
#0.0
#计算网络的平均路径
#只能在连通子图中求解
nx.average_shortest_path_length(Sub_G) 
#2.0

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

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

相关文章

风控数据测试概要

数据测试简介 简而言之,数据测试就是对数据的质量进行测试,查看该质量能不能被我方接受。在风控中,数据测试的主要目的是测试对方数据源是否可以较好地区分出我方申请用户的好坏,衡量质量的指标主要包括:Lift-Chart、A…

三分钟看懂大数据风控中用户行为数据的采集、分析及应用( 转 )

据统计,目前银行传统的风控模型对市场上70%的客户是有效的, 但是对另外30%的用户,其风控模型有效性将大打折扣。 大数据风控作为传统风控方式补充,主要利用行为数据来实施风险控制, 用户行为数据可以作为另外的30%客…

CAR-T药物|疗法适应症|市场销售-上市药品前景分析

对患有癌症的人来说,能够幸运地度过5年大关是一种成功,而能够成功地度过10年大关则是一种奇迹。Emily作为全球第一个接受CAR-T治疗成功的白血病儿童患者,至今已成功摆脱癌症11年之久。 ①CAR-T细胞治疗(Emily Whitehead治疗案例时…

股票数据分析查询接口,股票数据接口,沪深港股,股票api查询

一、接口介绍 查询历史数据的分析统计。本接口数据仅用于学习分析,不得用于对外展示!根据股票代码、日期获取股票历史数据及相关分析,返回日期、开盘价、收盘价、最高价、最低价、成交量、成交额、换手率、涨跌幅等,可绘制相应日…

微信AI助手

首先,感谢GitHub上的开源大佬!对微信AI助手项目我修改了少许部分,以实现在自己服务器上部署。这里是我的项目地址。 1、准备服务器 1.1 服务器密码及安全组规则修改 这里我是用的是腾讯云国内服务器,有条件的同学可以直接选择国…

Andrew Ng和OpenAI教你写prompt

课程地址: https://learn.deeplearning.ai/chatgpt-prompt-engb站搬运: https://www.bilibili.com/video/BV1No4y1t7Zn 教学人员:Lsa Fulford, Andrew NG LLM的两种样式 Base LLM:基于文本训练数据预测下一个词的概率&#xff0…

Android之输入银行卡号判断属于哪个银行

一&#xff1a;效果图&#xff1a; 二&#xff1a;实现步骤&#xff1a; 1.xml布局实现&#xff0c;两个edittext就行了 <LinearLayoutandroid:id"id/lin_yhkh"android:layout_width"fill_parent"android:layout_height"48dp"android:layou…

[项目管理-6]:软硬件项目管理 - 项目沟通管理(渠道、方法)

作者主页(文火冰糖的硅基工坊)&#xff1a;文火冰糖&#xff08;王文兵&#xff09;的博客_文火冰糖的硅基工坊_CSDN博客 本文网址&#xff1a;[项目管理-6]&#xff1a;软硬件项目管理 - 项目沟通管理 &#xff08;沟通渠道&#xff09;_文火冰糖的硅基工坊的博客-CSDN博客 目…

一键定制个性化语音,微软的AI语音落地实践

近日&#xff0c;微软与周迅AI语音红丹丹公益项目发起人鹿音苑文化传播公司、以及来自微软及各界的150名余志愿者&#xff0c;将创作的首批人工智能有声内容&#xff0c;包括鲁迅、老舍、萧红、朱自清等作家的一系列经典作品、红丹丹文化期刊&#xff0c;正式捐赠给北京市红丹丹…

Python 深度学习AI - 声音克隆、声音模仿、模拟特朗普声音唱《See You Again》,Real-Time-Voice-Cloning项目的安装与使用

Python 深度学习AI - 声音克隆、声音模拟 第一章&#xff1a;环境准备与安装① Real-Time-Voice-Cloning 项目源码下载② requirments 必要库安装③ TensorFlow 安装④ PyTorch 安装⑤ FFmpeg 下载环境变量配置⑥ 下载训练包第二章&#xff1a;效果测试① 命令行合成音频测试&a…

微软小冰的服务器在哪,微软小冰解锁三大小米入口

原标题&#xff1a;微软小冰解锁三大小米入口 微软小冰与小米小爱加深合作&#xff0c;解锁更多小米入口。具体内容请关注今天的小熊微科技【每日必读】栏目。 微软小冰解锁三大小米入口 好闺蜜&#xff0c;就是要形影不离。9月4日&#xff0c;微软小冰宣布解锁更多小米入口&am…

关于微软小冰

今天在微博上看到微软小冰的一篇博文&#xff0c;原文如下&#xff1a; 小冰是什么&#xff1f;参见百科&#xff1a; 微软Bing搜索中国团队2014年5月29日发布一款智能聊天机器人&#xff0c;并取名“微软小冰”。添加这个机器人的微信账号为好友之后&#xff0c;便可以与这个…

【小沐学NLP】Python实现聊天机器人(ALICE)

&#x1f37a;NLP开发系列相关文章编写如下&#x1f37a;&#xff1a;1&#x1f388;【小沐学NLP】Python实现词云图&#x1f388;2&#x1f388;【小沐学NLP】Python实现图片文字识别&#x1f388;3&#x1f388;【小沐学NLP】Python实现中文、英文分词&#x1f388;4&#x1…

微软小冰 | 接入微信公众号平台初体验

文章目录 智能回复&#xff08;聊天&#xff09;基础设置行业知识自主学习智能知识库需求识别引擎什么是需求识别引擎智能知识库与需求识别引擎区别 技能插件语音翻译功能介绍体验 拍照翻译功能介绍体验 测关系功能介绍体验 拼颜值功能介绍体验 人工客服推荐阅读 微软小冰人工智…

沈向洋回归,从微软独立的小冰要弯道超车了

文 | 静静 定西 出品 | 网易科技《态℃》栏目组 一条消息&#xff0c;让沈向洋在八个月后再次“刷屏”。 微软今日宣布&#xff0c;将人工智能小冰业务分拆为独立公司运营&#xff0c;并委任沈向洋为新公司董事长&#xff0c;李笛为首席执行官。 大佬明星产品&#xff0c;会带来…

基于ZelinAI的周报小助手

ZelinAI是一家领先的人工智能公司&#xff0c;专注于创新的AI解决方案。ZelinAI团队由科学家、工程师和领域专家组成&#xff0c;拥有丰富的经验和专业知识。提供自然语言处理、计算机视觉、数据分析和智能助理等领域的解决方案&#xff0c;帮助客户实现业务增长和效率提升。在…

微信小程序bindtap与catchtap的区别

1、什么是事件 (1) 事件是视图层到逻辑层的通讯方式。 (2) 事件可以将用户的行为反馈到逻辑层进行处理。 (3) 事件可以绑定在组件上&#xff0c;当达到触发事件&#xff0c;就会执行逻辑层中对应的事件处理函数。 (4) 事件对象可以携带额外信息&#xff0c;如 id,dataset,touch…

国内镜像版4.0上线啦

chatGPT国内中文镜像官方原版在线免费体验A conversational AI system that listens, learns, and challengeshttps://chatx.taiyangyukeji.com

基于ChatGPT API的PC端软件开发过程遇到的问题的分析

如果喜欢本文章&#xff0c;记得收藏哦&#xff01; 关注我&#xff0c;一起学Java。 一、基于ChatGPT API的PC端软件开发过程遇到的问题的分析 最近这个OpenAI公司推出的GPT-4.0模型真是太火了。当然由于OpenAI目前还没有正式全面对外开放GPT-4.0 API&#xff0c;所以本次使用…

网站链接被微信屏蔽拦截了怎么办?VJump帮你解除屏蔽

出现这种情的原因呢&#xff0c;我相信大家也去了解了很多&#xff0c;但是对于商家来说&#xff0c;我们要避免出现这种情况&#xff0c;或出现了要立马解决。了解原因再去想解决办法是技术的事情。一天没解决&#xff0c;就多一天的损失。原因大同小异&#xff0c;无非是域名…