版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
金融大数据分析项目一大数据与大数据金融认知目录01初识大数据02初识大数据金融03Python基础01初识大数据大数据的概念数据,本质上是对客观事物和客观现象的描述和统计,反映了客观世界的一些真实存在“巨大的数据量”大数据是指在一定时间范围内无法用传统数据库软件进行采集、存储、管理和分析的数据集或数据群,需要通过新的处理模式才能体现出的具有高效率、高价值、海量、多样化特点的信息资产大数据的来源社交媒体教育科研工业领域地理位置网络日志交通数据金融电商大型设备计算机技术的发展互联网的发展云计算技术的进步物联网、网络社交及智能终端的普及大数据的产生基础大数据的特征Volume(大体量)330-15th,欧洲所有手抄本书记约800册1439年印刷机发明,1453-1503的50年间,欧洲印刷的书籍就超过这个数目2013年,世界上存储的数据超过了1.2ZB,如果这些信息存储在光盘上,高度可以达到地球和月球之间距离的5倍全球每年产生的数据总量在2025年将达到175ZB,平均每天约产生491EB的数据大数据的特征产生原因:获取数据的能力大幅提高互联网的普及集成电路价格的降低1KB=1024B
1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB1EB=1024PB1ZB=1024EBVolume(大体量)大数据的特征Variety(多样性)账号姓名开户行余额00001张三北京市通州区支行10000大数据:网页,图片,音频,视频等半结构化和非结构化数据传统数据:二维表形式的文本类结构化数据大数据的特征Variety(多样性)相对于结构化数据,非结构化数据是指没有结构的数据,无法用数据库的二维逻辑结构来表现,无法进行结构化处理的数据,具体包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等。非结构化数据本质上是结构化数据之外的一切数据大数据的特征典型的人为生成的非结构化数据包括:•社交媒体:来自新浪微博、微信、QQ、Facebook等平台的数据。•网站:照片共享网站的数据。•移动数据:手机短信、位置轨迹等数据。•通信:聊天、即时消息、电话录音等数据。•媒体:MP3、数码照片、音频文件、视频文件。•业务应用程序:MicrosoftOffice文档等应用程序产生的数据。Variety(多样性)大数据的特征典型的机器生成的非结构化数据包括:•卫星图像:卫星监测到的天气数据、地形、军事活动等数据。•科学数据:石油和天然气勘探、空间勘探、地震图像、大气数据。•数字监控:监控设备产生的照片和视频数据。•传感器数据:交通、天气、海洋传感器采集产生的数据。Variety(多样性)大数据的特征半结构化数据是介于结构化数据和非结构化数据之间的数据,它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。相对于结构化数据“先有结构,再有数据”的特点,半结构化数据是先有数据,再有结构。半结构化数据通常表现为XML或HTML等形式。Variety(多样性)大数据的特征Velocity(时效性)在数据量特别大的情况下,也能做到数据的实时处理与分析。这也是大数据区别于传统数据挖掘最显著的特征。Veracity(准确性)保证处理结果具有一定的准确性大数据的特征Value(价值性)价值大价值密度低大数据的演化大数据的萌芽阶段(20世纪90年代-21世纪初)这个阶段的大数据主要是一种构想,其概念内涵逐渐丰富1997年第八届美国IEEE的会议论文集中首次使用了“大数据”的概念1998年《科学》刊登一篇名为“大数据的处理程序”的文章,明确使用了“BigData”一词大数据的演化大数据的发展阶段(21世纪初-2010年)21世纪初研究者已经开始关注大数据,论文中开始讨论大数据2003-2006年是大数据发展的突破阶段,Google发表了三篇重要论文,俗称“三架马车”:分布式系统GFS、大数据分布式计算框架MapReduce、NOSQL数据库系统BigTable;2006-2009年为大数据发展的成熟阶段,大数据技术并行运算与分布式系统基本形成2010年,智能手机日益广泛应用,移动数据量急剧增长大数据的演化大数据的兴盛阶段(2011年-至今)2012年《大数据时代》的宣传推广,大数据概念开始风靡全球2012年,奥巴马政府在白宫网站发布《大数据研究与发展倡议》,标志着大数据已经成为重要的时代特征2014年,“大数据”首次写入我国《政府工作报告》2015年,国务院正式印发《促进大数据发展行动纲要》,大数据从理论迈向实际应用大数据与传统数据的区别大数据传统数据产生方式自产生/采集人工采集存储方式高性能、高安全、高冗余的大数据存储系统传统数据库使用方式挖掘数据中的规律和知识从样本数据推断总体02初识大数据金融金融大数据VS大数据金融金融大数据从本质上来讲,金融大数据是应用于金融领域的一种大数据,属于大数据的一种行业应用分类。它包含了银行、保险公司、证券公司等金融机构、政府监管机关、机构和个人等各类经济主体在投资、融资、储蓄、理财、证券交易过程中的一切信息,这些信息的形式既可以是结构化数据、非结构化数据,也可以是半结构化数据。数据来源并不仅限于金融机构、金融市场和相关监管机构,它还包括各类跨行业大数据,如电商消费大数据、社交媒体大数据、公共事业部大数据等。金融中的大数据-经济数据指标国民经济总体指标国内生产总值(GDP)、社会消费品零售总额、固定资产投资进出口总额、工业增加值、采购经理人指数人口数、失业率、国际收支、财政收入和支出物价水平指标工业生产者出厂价格指数(PPI)、居民消费价格指数(CPI)、工业生产者购进价格指数(PPIRM)金融指标利率(存款利率、贷款利率、贴现率、同业拆借利率等)货币供应量指标(M0、M1、M2)社会融资规模、人民币存贷款余额、汇率、外汇储备金融中的大数据-金融行业特有指标证券业:指数市盈率、总市值、总成交额银行业:不良贷款率、拨备覆盖率、资本充足率保险业:保费收入、原保费收入、赔款及给付额、保险业资产总额大数据金融的产生背景技术革命与数据增长存储与计算技术的进步金融业的转型需求金融危机与监管压力消费者行为的变化基于这些背景因素,大数据金融不仅应运而生,而且迅速成为金融行业的创新前沿,为金融机构和消费者提供了更加智能、精准和高效的服务。大数据应用水平正在成为金融企业竞争力的核心要素。大数据金融的内涵大数据金融是指金融行业在其业务流程中,特别是在风险管理、资金配置、客户服务和投资决策等领域,采用大数据技术对大规模、多源、高频率的数据进行采集、存储、分析和解读,从而提炼出有价值的信息,进而辅助或自动化地做出决策的一种现代化金融活动。其核心是结合先进的数据处理与分析技术,从庞大的数据集中发现潜在的模式和关联,以提高金融服务的精度、效率和创新能力。网络化的呈现大量的金融产品和服务通过网络来展现,包括固定网络和移动网络01基于大数据的风险管理理念和工具基于数据挖掘的客户识别和分类将成为风险管理的主要手段,动态、实时的监测而非事后的回顾式评价将成为风险管理的常态性内容02信息不对称性大大降低金融产品和服务的消费者和提供者之间信息不对称程度大大降低03高效率性许多流程和动作都是在线上发起和完成,有些动作是自动实现的04产品的可控性、可受性风险可控、产品收益、流动性可接受05金融服务边界被扩展对于单个金融企业,可以扩大经营规模;金融从业人员个体服务对象会更多06普惠金融数字化服务对象和范围大大扩展,金融服务更接地气07大数据金融的特点大数据金融的层次大数据金融的架构重塑竞争格局的变化产业格局的变化监管体系的变化课堂练习请查找下列大数据公司的主要服务金融对象,以及服务内容,填入下表03Python基础Python与大数据金融为什么Python对金融如此有用?简单性和灵活性可以快速构建MVP工具和第三方库丰富多样非常适合金融行业的数据科学领域分析函数非常适合基于分析的职业为新兴的金融科技和加密需求提供工具Python与大数据金融Python在金融中的应用数据清洗和处理量化投资即时处理和流量控制风险管理金融工具开发数据科学和人工智能Python的起源Python的创始人为荷兰人吉多·范罗苏姆
(GuidovanRossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,于是有了Python.2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言Python的安装Python官网下载IDE:PyCharmAnacondaPython的运行命令行下的运行在线运行Python3在线工具|菜鸟工具()IDE内运行Python的基础语法—变量变量就是一种标识符,它是数据的名字。变量代表的数据不仅可以是数字,还可以是任意数据类型a=5,b=4.0,stu_name=‘张三’变量名命名规则:变量名只能包含字母、数字和下划线(_)变量名可以字母或下划线开头,但不能以数字开头;变量名不能包含空格,但可使用下划线来分隔其中的单词不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print,if,where等message_11_messagemessage1Python的基础语法—保留字符Python的基础语法—赋值语句变量=Value等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值必须在声明变量的同时,进行赋值Python的变量没有类型,变量的类型由赋值给变量的数据来决定对变量赋值时,即在内存中创建了对象可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量a=5b=4.0stu_name=‘张三’sum=a+bPython的基础语法—多个变量赋值Python支持同时为多个变量赋值。例如: a=b=c=1以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。也可以为多个对象指定多个变量。例如: a,b,c=1,2,"john"以上实例,两个整型对象1和2分别分配给变量a和b,字符串对象"john"分配给变量c。Python的基础语法—代码的缩进代码A代码B:
代码C
代码D代码EPython不像其他程序设计语言(如Java或者C言语)采取括号“{}”分隔代码块,而是采用代码缩进和冒号“:”区分代码之间的层次在Python中,对于类定义、函数定义、流程控制语句,以及异常处理语句等,行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,则表示一个代码块的结束Python的基础语法--多行语句Python语句中一般以新行作为语句的结束符。但是我们可以使用斜杠(\)将一行的语句分为多行显示,如下所示:total=item_one+\item_two+\item_threedays=['Monday','Tuesday','Wednesday','Thursday','Friday']语句中包含[],{}或()括号就不需要使用多行连接符。如下实例:Python的基础语法—注释python中单行注释采用#开头python中多行注释使用三个单引号
'''
或三个双引号
"""'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''
"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""#第一个注释print("Hello,Python!")#第二个注释Python的基础语法—运算符Python语言支持以下类型的运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符Python的基础语法—运算符—算数运算符运算符描述实例+加-两个对象相加a+b输出结果30-减-得到负数或是一个数减去另一个数a-b输出结果-10*乘-两个数相乘或是返回一个被重复若干次的字符串a*b输出结果200/除-x除以yb/a输出结果2%取模-返回除法的余数b%a输出结果0**幂-返回x的y次幂a**b为10的20次方,输出结果100000000000000000000a=10b=20Python的基础语法—运算符—比较运算符运算符描述实例==等于-比较对象是否相等(a==b)返回False。!=不等于-比较两个对象是否不相等(a!=b)返回True。>大于-返回x是否大于y(a>b)返回False。<小于-返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。(a<b)返回True。>=大于等于-返回x是否大于等于y。(a>=b)返回False。<=小于等于-返回x是否小于等于y。(a<=b)返回True。a=10b=20Python的基础语法—运算符—赋值运算符运算符描述实例=简单的赋值运算符c=a+b将a+b的运算结果赋值为c+=加法赋值运算符c+=a等效于c=c+a-=减法赋值运算符c-=a等效于c=c-a*=乘法赋值运算符c*=a等效于c=c*a/=除法赋值运算符c/=a等效于c=c/a%=取模赋值运算符c%=a等效于c=c%a**=幂赋值运算符c**=a等效于c=c**aPython的基础语法—运算符—逻辑运算符运算符逻辑表达式描述实例andxandy布尔"与"-如果x为False,xandy返回False,否则它返回y的计算值。(aandb)返回20。orxory布尔"或"-如果x是非0,它返回x的计算值,否则它返回y的计算值。(aorb)返回10。notnotx布尔"非"-如果x为True,返回False。如果x为False,它返回True。not(aandb)返回Falsea=10b=20Python的基础语法—运算符—成员运算符a=10b=20list=[1,2,3,4,5];运算符描述实例in如果在指定的序列中找到值返回True,否则返回False。x在y序列中,如果x在y序列中返回True。notin如果在指定的序列中没有找到值返回True,否则返回False。x不在y序列中,如果x不在y序列中返回True。Python的基础语法—运算符—身份运算符对于两个相同的列表对象,其身份通常是独立的,但是对于数值和字符串类型的对象,相同的值其身份通常也是相同的运算符描述实例isis是判断两个标识符是不是引用自一个对象xisy,类似
id(x)==id(y)
,如果引用的是同一个对象则返回True,否则返回Falseisnotisnot是判断两个标识符是不是引用自不同对象xisnoty
,类似
id(a)!=id(b)。如果引用的不是同一个对象则返回结果True,否则返回False。isVS==小结51初识大数据1初识大数据金融2Python基础3感谢聆听!金融大数据分析项目二金融大数据处理流程目录01Python数据分析工具02金融大数据采集03金融大数据处理流程金融大数据可视化0401Python数据分析工具Python中的标准库56Python3中的标准库是随Python解释器一起安装的,其中包含了很多的模块和包os模块sys
模块time模块datetime
模块math模块random模块urlib模块Python中的第三方库57PyPI·Python包索引:/Python中的第三方库58第三方库可以涵盖各种领域,包括但不限于:数据分析:numpy,pandas,scipy机器学习:scikit-learn,tensorflow文本处理:pdfminer,openpyxl,python-docx,beautifulsoup4网络爬虫:requests,scrapyWEB开发:django,pyramid数据可视化:matplotlib,mayavi游戏开发:pygame,panda3d数据挖掘与可视化中常见第三方库59扩展库说明NumPy提供复杂数组和矩阵运算的函数pandas提供直观的数据结构及强大的数据管理和数据处理功能matplotlib用户制图及其他二维数据可视化Seaborn基于matplotlib进行高级封装的可视化库scikit-learn提供分类、回归、聚类等机器学习工具statsmodels统计建模分析,包含经典的统计学、经济学算法第三方库的安装60安装方法特点使用pip命令在线安装比较方便,并且会自动解决上级依赖问题下载库的whl文件离线安装安装灵活,但是需要自行解决上级依赖问题通过IDE安装简单直接,需要已经安装好IDE(如Pycharm)下载编译好的文件一般是window系统才提供现成的可执行文件包第三方库的安装61pip安装工具D:\>pip-hUsage:pip<command>[options]Commands:installInstallpackages.downloadDownloadpackages.uninstallUninstallpackages.freezeOutputinstalledpackagesinrequirementsformat.listListinstalledpackages.showShowinformationaboutinstalledpackages.checkVerifyinstalledpackageshavecompatibledependencies.configManagelocalandglobalconfiguration.searchSearchPyPIforpackages.第三方库的安装62pip安装工具D:\>pipinstall<第三方库名>安装第三方库D:\>pipinstallpandasD:\>pipinstall–U<第三方库名>对已安装的第三方库进行更新D:\>pipinstall-Upandas第三方库的安装63pip安装工具D:\>pipuninstall<第三方库名>卸载指定第三方库D:\>pipuninstallpandasD:\>pipdownload<第三方库名>下载但不安装指定第三方库D:\>pipdownloadpandas第三方库的安装64pip安装工具D:\>piplist列出当前系统已经安装的第三方库第三方库的安装65pip安装工具D:\>pipshow<第三方库名>列出指定第三方库的详细信息第三方库的安装66集成安装通过集成IDE进行安装,如Anaconda文件安装/第三方库的导入67import
模块名称import
模块
as
别名import语句模块名称.函数/变量/类
别名.函数/变量/类
第三方库的导入682.from语句from模块名称import函数/变量/类
from模块名称*直接使用该函数/变量/类
把一个模块中的所有内容全都进行导入第三方库的导入69import
模块
as
别名第三方库的导入70importmathimportmathas
m
frommathimportpifrommathimport*print(math.pi)print(m.pi)print(pi)print(pi)print(ceil(pi))NumPy(NumericPython)71快速、高效的多维数组对象ndarray一组功能强大的数组处理函数线性代数操作、傅里叶变换以及随机数生成等的接口集成C或C++代码的接口NumPy(NumericPython)72#-*-coding:utf-8-*-#导入numpy库importnumpyasnp
data=[1,2,3,4,5]#利用array函数构建一个数组arr1=np.array(data)print('np.array(data):\n',arr1)#将数组进行输出#获取数组arr1的第4个元素(数组下标从0开始)print('arr1[3]:\n',arr1[3])
#获取数组arr1的第2到第4个元素(数字下标从0开始,[]区间为左闭右开)print('arr1[1:4]:\n',arr1[1:4])#利用arange(N)构建数组,从0-(N-1)的一个数组,默认元素逐步加1arr2=np.arange(5)print('np.arange(5):\n',arr2)Pandas73Python版的Excel一维数组对象Series二维数组对象DataFramePandas--Series数据结构74#导入pandas库importpandasaspddata=['a','b','c','d','e']#使用默认行索引构造一个seriesseri=pd.Series(data)print(seri)index=[1,2,3,4,5]#使用指定的行索引seri1=pd.Series(data,index)print(seri1)Pandas--DataFrame数据结构75行索引列索引importpandasaspd#导入pandas包#构建部分银行卡用户数据表格data=pd.DataFrame({'ID':[20013105,16052556,21100614,10121286,21060101],'年龄':[44,32,56,41,27],'性别':['男','男','男','女','女'],'家庭成员':[2,1,1,3,2],'学历':['研究生','本科','高中','研究生','本科'],'婚姻状况':['已婚','未婚','离异','未婚','已婚’]})print('data:\n',data)Pandas--DataFrame数据结构76#按行取表格中行索引为1至3的数据的第1行至第三行数据print('data.iloc[1:4]\n',data.iloc[1:4])
#返回ID、年龄两列的数据print('data[[\'ID\',\'年龄\']]\n',data[['ID','年龄']])#返回前3行数据,若head()括号中不指定行数,则默认为返回前5行print('data.head(3)\n',data.head(3))#将表格数据按照ID列的值进行排序data1=data.sort_values(by='ID')#输出上一行代码的排序结果print('data.sort_values(data,by=\'ID\')\n',data1)#也支持从EXCEL文件读取数据至dataframe对象中data=pd.read_excel('D:\data.xlsx')Matplotlib77importnumpyasnpimportmatplotlib.pyplotasplt#导入绘图包#定义X轴的坐标值x=np.array([0,10])#定义Y轴的坐标值y=np.array([0,100])#根据X、Y轴坐标值对,绘制线图plt.plot(x,y)#将图进行展示plt.show()Matplotlib78importnumpyasnpimportmatplotlib.pyplotasplt
y=np.array([2,5,8,4,10,15])#指定线图的颜色plt.plot(y,'r')plt.show()02金融大数据采集数据采集80数据采集又称为数据获取,为整个数据分析提供原始数据
大数据采集传统数据采集数据来源数据来源多种多样,数据量巨大来源较单一,数据量较少数据类型数据类型多样,如结构化数据、半结构数据、非结构化数据结构较单一,以结构化数据为主大数据采集与传统数据采集的区别数据采集包括传统的数据采集和大数据采集金融数据来源81
互联网开放数据
第三方数据金融机构业务数据金融行业数据来源渠道多种多样,主要可以分为以下几种:金融数据来源—互联网开放数据82互联网开放数据源通常都是针对某一个具体的行业或领域(如经济、卫生、地理、生物、社会等),从发布单位维度划分,有来自政府、企业、高校等开放数据源供大家查看下载
数据类别数据源世界各地的社会,环境和经济发展数据Gapminder中国历年及最新宏观经济数据国家统计局中国各项金融业务活动数据中国人民银行中国国际收支、外汇等数据国家外汇管理局市场概览、股票、期权和基金、债券等数据上海证券交易所国内金融市场数据东方财富网金融数据来源—互联网开放数据国家统计局国家各部门网站金融数据来源—互联网开放数据金融数据来源—互联网开放数据中国人民银行国家金融监督管理总局金融数据来源—互联网开放数据中国证券监督管理委员会金融数据来源—互联网开放数据金融数据来源—第三方数据市面上有很多的专业金融数据提供商,以金融数据库、数据包或者数据服务平台的方式为专业用户提供数据服务,用户在金融数据分析的应用程序中可以通过API接口访问这些免费或收费的金融数据(如股票信息、指数信息等)数据平台说明Wind(万得)Wind已经建成国内完整准确、以金融证券数据为核心的大型金融工程和财经数据仓库。Wind的数据内容涵盖股票、债券、基金、外汇、金融衍生品、大宗商品、宏观经济、财经新闻等领域;Wind通过对数据的及时更新来满足机构投资者的需求。CSMAR数据库CSMAR数据库(ChinaStockMarket&AccountingResearchDatabase)是一个经济金融领域的研究型精准数据库已涵盖因子研究、人物特征、绿色经济、股票、公司、海外、资讯、基金、债券、行业、经济、商品期货等19大系列,包含200+个数据库、4000+张表、6万+个字段。Bloomberg(彭博资讯)美国彭博资讯公司是全球最大的财经资讯公司,也是全球最大的金融信息服务供应商,为全球各地的公司、新闻机构、金融和法律专业人士提供实时行情、金融市场历史数据、价格、交易信息、新闻和通讯工具。TushareTushare大数据开放社区免费提供各类数据,助力行业和量化研究。拥有丰富的数据内容,如股票、基金、期货、数字货币等行情数据,公司财务、基金经理等基本面数据。提供Http,Python,R等语言的数据接口,方便获取实时数据。金融数据来源—金融机构业务数据金融机构在自身的业务经营过程中,收集和产生了大量的该行业的业务数据,包括金融机构用户的基本信息,用户在金融机构的交易等行为数据(如银行中的用户资金交易记录,信用数据等)。网络爬虫90网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成通过编程语言(如Python、Java等)来编写爬虫程序,模拟浏览器向网络服务器发送请求,获取相应内容后,对其进行解析,从中提取出需要的数据也可以借助于现成的商用数据采集软件(如八爪鱼、后羿采集器等)来获取特定网页上所需字段的数据采集软件采集网页数据91八爪鱼采集器后裔采集器采集软件采集网页数据--外汇牌价数据的抓取92
打开外汇牌价网站,复制网址2.将网址信息复制至采集软件3.在采集软件中设置采集条件4.检查数据预览,运行采集5.将结果导出至文件Python与网页数据采集93网页基本结构Python与网页数据采集94网页中表格数据的获取Python与网页数据采集95网页中表格数据的获取importpandasaspd#获取国家外汇管理局网站网址url="/AppStructured/hlw/RMBQuery.do"df=pd.read_html(url)[4]#爬取目标网站表格数据#查看美元和日元的外汇数据df1=df[['日期','美元','日元']]df1.set_index(['日期'])#将日期列作为表格的行索引print(df1)
日期
美元
日元
2023-07-26712.955.06292023-07-25714.065.08822023-07-24714.515.06702023-07-21714.565.13992023-07-20714.665.17242023-07-19714.865.16252023-07-18714.535.16872023-07-17713.265.14672023-07-14713.185.18002023-07-13715.275.1769Python与网页数据采集96网络爬虫抓取数据库名说明RequestsRequests库提供了GET和POST来发送HTTP请求,使代码易于理解和调试,但是不解析提取的HTML数据BeautifulSoup与解析器一起从HTML中解析提取数据,通常和Requests库一起使用;此外还提供包括检测页面编码,配置轻松lxml一个快速、强大的解析库,适用于HTML和XML文件Selenium适用于标准网络爬虫无法运行的动态网页数据的抓取,能够像任何浏览器一样通过运行JavaScript来呈现网页数据采集中的信息保护97网络数据的获取隐私保护03金融大数据处理流程大数据处理的一般流程数据采集系统日志采集网络数据采集其他数据采集数据预处理数据清洗数据集成数据变换数据归约数据存储分布式文件系统分布式数据库云存储数据挖掘分类分析关联分析聚类分析预测数据解释可视化技术人机交互技术数据清洗100数据清洗是高质量数据的一道保障,数据科学家80%时间都花费在清洗任务上数据清洗使得数据标准、干净、连续,为后续数据统计、数据挖掘做好准备GIGO高质量的数据应该具有下列特点:数据结构清晰数据完整数据格式规范数据合理数据唯一清洗方式:利用EXCEL软件利用编程语言提供的工具包(如Python中的NumPy、Pandas库等)012341张三30175cm60kg2李四35180cm140斤3张三301.75m60kg4NANANANA5王五-1160cm50kg6赵六2565kg012341张三30175cm60kg2李四35180cm140斤3张三301.75m60kg4NANANANA5王五-1160cm50kg6赵六25173cm65kg012341张三30175cm60kg2李四35180cm70kg3张三30175cm60kg4NANANANA5王五-1160cm50kg6赵六25173cm65kg012341张三30175cm60kg2李四35180cm70kg3张三30175cm60kg4NANANANA5王五30160cm50kg6赵六25173cm65kg序号姓名年龄身高体重1张三30175cm60kg2李四35180cm70kg3张三30175cm60kg4NANANANA5王五30160cm50kg6赵六25173cm65kg完整性全面性合法性唯一性数据清洗012341张三30175cm60kg2李四35180cm140斤3张三301.75m60kg4NANANANA5王五-1160cm50kg6赵六2565kg序号姓名年龄身高体重1张三30175cm60kg2李四35180cm70kg3王五30160cm50kg4赵六25173cm65kg数据清洗对数据的整体概况有个初步认知数据观测检测数据中的缺失值并做对应的处理(删除或填充)数据缺失处理处理数据中的重复值数据去重数据的规范化数据格式统一检测并处理数据集中的异常值数据异常处理数据清洗数据观测104在进行具体的数据处理之前,可以先进行数据观测,对数据有个整体认知,找到数据集中可能存在的“脏数据”或者需要做进一步处理的情况。Pandas中提供了info(),describe()等函数,使得能够方便查看数据的基本情况
函数名说明info()获取数据各列基本信息,包括总行数、总列数、列的名称,每列的非空数、列的数据类型等describe()获取数据各列的统计信息,包括总数、平均值、标准差、最小值、上(下)四分位数、中位数、最大值等数据观测105importpandasaspd#导入pandas库customers=pd.read_excel('D:\用户个人信息.xlsx')#读取EXCEL数据文件print(customers.info())数据总行数为10237,总列数为7<class'pandas.core.frame.DataFrame'>RangeIndex:10237entries,0to10236Datacolumns(total7columns):#ColumnNon-NullCountDtype----------------------------0ID10237non-nullint641年龄10113non-nullfloat642性别10237non-nullobject3家庭成员10237non-nullint644受教育程度8702non-nullobject5婚姻状态9483non-nullobject6收入9117non-nullobjectdtypes:float64(1),int64(2),object(4)memoryusage:560.0+KB数据观测106importpandasaspd#导入pandas库customers=pd.read_excel('D:\用户个人信息.xlsx')#读取EXCEL数据文件print(customers.describe())ID年龄家庭成员count1.023700e+0410113.00000010237.000000mean7.391445e+0846.3524182.346000std3.688047e+078.0730201.298332min7.080821e+08-6.0000000.00000025%7.130256e+0841.0000001.00000050%7.179206e+0846.0000002.00000075%7.731464e+0852.0000003.000000max8.283431e+0873.0000005.000000数据去重107数据的获取通常是从多处数据源汇总得到,数据重复的情况非常常见函数名说明duplicated()识别是否有数据重复drop_duplicates()删除重复值(全部删除、部分删除)数据去重108print(customers.duplicated())0False1False2False3False4False……10232False10233False10234False10235False10236FalseLength:10237,dtype:bool对表格中所有行依次判断是否有重复,如果结果为True,则表示该行和其他行存在重复;反之则认为没有重复从输出结果来看,该函数不适合行数较多的表格,不能很直观地观察是否存在重复值
参数说明subset需要进行重复比较的列集合。默认是对全部列进行比较keep返回重复值的标记方式,支持三种标记方式,默认为’first’first:所有重复记录行中,第一次出现的行标记为False,其余为Truelast:所有重复记录行中,最后一次出现的行标记为False,其余为Truefalse:所有重复记录行均标记为TrueDataFrame.duplicated(subset=None,keep='first')参数说明如下:数据去重109print("数据总行数为{},总列数为{}".format(customers.shape[0],customers.shape[1]))customers.drop_duplicates(inplace=True)print("数据去重后总行数为{},总列数为{}".format(customers.shape[0],customers.shape[1]))数据总行数为10237,总列数为7数据去重后总行数为10127,总列数为7参数说明subset需要进行重复比较的列集合。默认是对全部列进行比较keep如果数据集中有多条重复值,指定保留哪条记录。默认选项为’first’,即保留第一次出现的数据行。first:保留所有重复记录行中第一次出现的数据行,其余重复行均删除last:保留所有重复记录行中最后一次出现的数据行,其余重复行均删除false:所有重复记录行均删除inplace布尔值,默认为False。inplace=True表示直接在原来的表上删除重复项,而False表示生成一个副本DataFrame.drop_duplicates(subset=None,*,keep='first',inplace=False,ignore_index=False)部分常用参数说明如下:数据缺失处理110数据缺失是真实数据集中普遍存在的一种现象,主要包括记录的缺失和记录中某些字段的缺失,都有可能导致数据分析结果不准确。对缺失值的分析主要分两步进行:明确数据的缺失情况对缺失数据进行处理,例如直接删除、选择合适的值进行填充、不处理等。函数名说明isnull()查看单元格数据是否为空notnull()查看单元格数据是否不为空dropna()删除缺失值数据fillna()填充缺失值数据数据缺失处理111print(customers.isnull())print(customers.isnull().any())print(customers.isnull().all())print(customers.isnull().sum())数据缺失处理112customers.dropna(thresh=4
,inplace=True)customers.dropna(subset=['收入'],inplace=True)对于缺失数据的处理,通常有直接删除和选择合适的值进行填充两种方式1.直接删除数据缺失处理113customers['年龄'].fillna(customers['年龄'].median(),inplace=True)customers['受教育程度'].fillna('未知',inplace=True)customers['婚姻状态'].fillna('未知',inplace=True)对于缺失数据的处理,通常有直接删除和选择合适的值进行填充两种方式2.选择合适的值进行填充填充方法说明均值/中位数/众数等填充使用变量的均值/中位数/众数对缺失值进行填充回归填充用其他变量的值建立拟合模型,进行回归分析,预测缺失值。插值填充利用已知值建立插值函数,求得插值进行填充固定值填充使用一个特定的固定值进行填充数据格式统一114常见的格式不规范的情况有:不同的数据来源对同一事物描述的单位不一致同样的数据类型,但格式不一致数据格式不正确空白字符或者特殊字符大小写不规范………数据格式统一115(一) 数据格式查看print(customers['受教育程度'].unique())print(customers['性别'].value_counts())数据格式统一116(二) 数据格式规范处理customers['受教育程度'].replace('大学','本科生',inplace=True)customers['性别'].replace({'M':'男','F':'女'},inplace=True)
数据格式统一117(二) 数据格式规范处理customers['受教育程度’]=customers['受教育程度'].str.strip()customers['受教育程度'].replace('大学','本科生',inplace=True)customers['性别’]=customers['性别'].str.upper()customers['性别'].replace({'M':'男','F':'女'},inplace=True)
受教育程度:[‘高中'‘研究生''未受教育’‘未知''本科生''博士'‘大
学’]性别男4495女4184M220F100f7Name:count,dtype:int64数据异常处理118异常值通常是指样本中的个别值,其数值明显偏离其余的观测值。异常值也称为离群点,异常值的分析也称为离群点分析。在数据集中,异常值可能是需要被去掉或修改的噪声数据,也有可能是对数据分析而言含有重要有效信息的数据。统计分析ID年龄家庭成员count1.023700e+0410113.00000010237.000000mean7.391445e+0846.3524182.346000std3.688047e+078.0730201.298332min7.080821e+08-6.0000000.00000025%7.130256e+0841.0000001.00000050%7.179206e+0846.0000002.00000075%7.731464e+0852.0000003.000000max8.283431e+0873.0000005.000000customers['年龄'][customers['年龄']<0]=1
数据异常处理1192.四分位数分析ID年龄家庭成员count1.023700e+0410113.00000010237.000000mean7.391445e+0846.3524182.346000std3.688047e+078.0730201.298332min7.080821e+08-6.0000000.00000025%7.130256e+0841.0000001.00000050%7.179206e+0846.0000002.00000075%7.731464e+0852.0000003.000000max8.283431e+0873.0000005.000000四分位数也常被用来作为异常值的检测,所谓的四分位数方法是指:其中:QL:下四分位数,表示全部观察值中有四分之一的数据取值比它小;QU:称为上四分位数,表示全部观察值中有四分之一的数据取值比它大;IQR:四分位数间距,是上四分位数QU与下四分位数QL之差异常值<(QL-1.5IQR)或
异常值>(QU+1.5IQR)数据预处理其他步骤04金融大数据可视化数据可视化122数据可视化是一个面向用户的过程,将大数据挖掘及分析结果在显示终端以友好、形象、易于理解的形式呈现给用户数据可视化是指利用计算机图形学和图像处理技术,将数据转换为图形或图像进行显示的理论方法和技术运用数据可视化技术,可以将复杂的数据结果转换为静态或动态的图形,还可以通过交互手段动态地显示改变的结果。使得用户可以从不同维度观察数据,得到对数据更深入的理解和分析常见可视化图表类型123常见可视化图表类型124图表类型说明线图又称折线图,特点是反映事物随序列变化的趋势,用于比较同一维度上不同数据集的变化,适合于比较大的数据集柱图是一种以长方形的长度为变量来表达数值的统计图表,易于比较数据之间的差别,适用于数据量不大的数据集饼图以饼状的图形显示各数据项所占比例,反映部分与整体的关系。饼图适用于二维数据,可以简单直观的看到各组成部分的占比情况散点图数据以点的形式进行展示,以显示变量之间的相互关系。散点图用于判断数据之间的相关性,或者发现数据的分布规律雷达图又称为蜘蛛网图,是将多个维度的数据映射到起始于同一个圆心的坐标轴上,可以用于比较多条数据在多个维度上的取值漏斗图因其图表形状类似漏斗而得名,由多个梯形从上到下叠加而成。漏斗图适用于业务流程比较规范,周期长,环节多的流程分析树图以树形结构来展示层级数据的组织关系。通过树图可以直观的看到各层级指标间的关系词云图词云图是文本数据的图形化展示,可以用来展示大量的文本数据,每个词通过字体大小或者颜色来展示每个词的重要程度常见可视化工具125入门级可视化工具商业智能分析工具编程语言工具pyplot常用函数126函数名说明plot()用户绘制线图和散点图scatter()用于绘制散点图bar()用于绘制垂直和水平条形图hist()用于绘制直方图pie()用于绘制饼图show()用于绘制图像subplots()用于创建子图xlabel()/ylabel()设置X轴和Y轴的标签title()设置图表的标题127importnumpyasnpimportmatplotlib.pyplotasplt#引入pyplot包
#设置中文字体plt.rcParams['font.sans-serif']=['SimHei']
x=np.array([1,2,3,4,5])y1=x+1plt.plot(x,y1)
y2=x*2+1#设置y2线条的格式和颜色plt.plot(x,y2,linestyle='--',color='red',linewidth=3)
#设置X轴、Y轴的标题plt.xlabel('X值')plt.ylabel('Y值')
#进行图片展示plt.show()绘制线图绘制线图128importnumpyasnpimportmatplotlib.pyplotasplt#引入pyplot包
#设置中文字体plt.rcParams['font.sans-serif']=['SimHei']
x=np.array([1,2,3,4,5])y1=x+1plt.plot(x,y1)
y2=x*2+1#设置y2线条的格式和颜色plt.plot(x,y2,linestyle='--',color='red',linewidth=3)
#设置X轴、Y轴的标题plt.xlabel('X值')plt.ylabel('Y值')
#进行图片展示plt.show()linewidth:设置线的宽度,取值支持浮点数linestyle:设置线的类型,其取值有:
'solid'(默认)或‘-’(实线)
'dotted'或’:’(点虚线)‘dashed'或’—’(破折线)color:设置线条的颜色,其取值有:‘r’红色‘g’绿色‘b’蓝色‘y’黄色‘k’黑色绘制柱状图129importmatplotlib.pyplotaspltx=[1,2,3,4,5]y=[20,15,30,28,12]plt.title('柱状图')plt.bar(x,y)plt.show()bar()函数的语法格式如:matplotlib.pyplot.bar(x,height,width=0.8,bottom=None,*,align='center',data=None,**kwargs),常用参数包括:x:浮点型数组,柱形图的x轴数据height:浮点型数组,柱形图的高度width:浮点型数组,柱形图的宽度,默认为0.8bottom:浮点型数组,底座的y坐标,默认0align:柱形图与x坐标的对齐方式,其值有:'center'以x位置为中心,这是默认值
'edge',将柱形图的左边缘与x位置对齐**kwargs::其他参数绘制饼图130importmatplotlib.pyplotasplt#设置中文字体plt.rcParams['font.sans-serif']=['SimHei']#饼图各部分标签x=['高中','研究生','未知','本科生','博士','未受教育']#饼图各部分数据值y=[8,23,2,54,9,4]#设置各部分颜色colors=['green','red','blue','lightgreen','gold','skyblue']#绘制图形,autopct设置百分比显示格式plt.pie(y,labels=x,autopct='%1.1f%%',colors=colors)#设置标题plt.title('用户受教育程度占比分析')plt.show()小结131Python数据分析工具1金融大数据采集2金融大数据处理流程3金融大数据可视化4感谢聆听!金融大数据分析项目三大数据在银行业的应用目录01大数据在银行业的应用02大数据技术与银行客户关系管理03大数据技术与银行精准营销01大数据在银行业的应用数据规模庞大,种类齐全数据格式规范数据的准确性高数据特征提升银行业务效率降低银行决策风险完善银行多元化金融服务数据价值客户信息交易记录信贷数据市场数据第三方数据数据类型银行数据随着互联网的普及和发展,银行数据量呈现爆炸性增长,银行业面临海量数据处理挑战。海量数据处理挑战01客户对银行服务的需求不断升级,银行需要提供更个性化、更便捷的产品和服务。客户个性化需求02在科技驱动的金融创新环境下,传统银行业面临来自金融科技公司的激烈竞争,业务模式需要转型升级。传统金融转型03技术应用和发展背景通过分析细分群体特征,银行可以对不同客户群进行差异化的服务,推送个性化产品和服务,提高综合服务水平。客户细分客户关系在客户生命周期的不同阶段呈现不同的特征,在不同阶段所考虑的问题不同,应采取不同的策略。客户生命周期管理通过分析客户信息和行为,预测客户需求及偏好,银行能及时调整服务策略,提升客户满意度和忠诚度。客户需求及偏好预测客户关系管理通过收集和分析客户的交易数据和行为数据,了解客户的消费习惯和偏好,以提供更精准的金融服务。01客户行为分析根据客户的行为分析结果,银行可以定制化推荐符合个人需求的金融产品,提升客户满意度。02定制化产品推荐利用大数据技术对客户资料进行整合和关联性分析,银行可以发现客户潜在的交叉销售机会,优化销售效率,降低销售成本,提高营销成功率。03交叉营销精准营销利用大数据分析客户的消费习惯、信用记录,更准确地评估信贷风险。精准信贷评估运用大数据技术识别异常交易模式,帮助银行优化反欺诈策略,提高风险管理效率。反欺诈策略优化通过大数据实时监控市场动态和客户行为,及时发现潜在的金融风险并预警。实时监控预警风险评估与管理02大数据技术与银行客户关系管理客户关系管理客户关系管理是商业银行识别、筛选、获取、保持和增加客户的系统化方法,是基于数据分析技术所进行的客户管理活动,为银行的客户服务、销售活动等提供决策支持。定义通过有效的客户关系管理,银行能更好地理解客户需求,提供个性化服务,以提高客户满意度和忠诚度,从而提高客户价值。提升客户价值良好的客户关系管理有利于银行及时发现客户流失信号,采取挽留措施,降低客户流失率,保障银行业务的稳定发展。降低客户流失在收集和分析客户数据时,如何确保数据不被泄露,保护客户隐私成为一大挑战。客户数据安全01现代客户期待高度个性化的服务,银行需要深度理解客户需求和偏好,提供定制化金融产品。个性化需求02银行需在网点、移动应用、在线平台等多个渠道提供无缝对接的服务体验,这对CRM系统提出了高要求。多渠道一致性03现代银行的CRM挑战激活存量客户吸引新客户0103建立忠诚度计划,通过积分奖励、VIP服务等方式,鼓励客户长期合作,增强客户信任度和忠诚度,将已有客户转为忠实客户。通过推出创新产品和服务,采取有竞争力的营销拓客活动,吸引客户,并与客户建立互动联系。02建立定期的客户沟通机制,了解客户需求变化,及时解决客户问题,提升客户满意度。建立与客户的长期互信关系,使客户更愿意保持忠诚。保留老客户客户关系管理目标客户关系管理构成通过历史数据建模,预测客户流失,采取恰当的行动解决客户的诉求,与银行的促销手段相结合,对客户进行挽留。预测客户流失依据客户消费习惯、购买频率等数据,将客户划分为不同价值群体,从而准确制定业务策略,提供个性化服务。客户细分客户关系水平随时间而变化,在不同阶段呈现不同的特征,不同阶段所考虑的问题不同,应采取不同的策略。客户生命周期管理客户生命周期客户获取1客户提升2客户成熟3客户衰退4客户流失5不同阶段客户行为分析在关系成熟阶段,客户忠诚度提高,他们可能成为口碑传播者,影响其他潜在客户。随着对产品和服务理解的加深,客户会有更多具体需求,关注点转向满意度和价值实现。客户在产品或服务的初期阶段通常表现出好奇和试用行为,需要通过吸引和引导来建立关系。初期:探索与试用成长期:需求与满意度成熟期:忠诚度与推荐不同阶段客户行为分析客户终止接受企业提供的服务,需要分析客户流失原因,采取有针对性的营销策略挽回已流失的高价值客户。客户的业务交易量下降,客户满意度和忠诚度降低,甚至寻找新的关系伙伴。需要采取有效措施来延缓或逆转客户关系的衰退,从而保持客户的长期价值。衰退期:交易量下降流失期:客户关系终止大数据技术在客户生命周期管理中的应用14901对新进客户的主要特征及关键购买因素进行分析,从而发现潜在客户群并选择有效的营销渠道来获取潜在客户客户获取对流失客户的相关数据进行分析,找出客户流失的主要原因,进而采取有针对性的营销策略来挽回已流失客户。05客户流失分析和跟踪成熟客户的深度需求和忠诚程度,进而对客户进行交叉营销和个性化推荐,以提高客户的黏性。03客户成熟02分析业务使用情况和客户行为特征,发现客户潜在需求和客户价值提升障碍。适时地推出满足潜在需求的新产品以及适应各类客户群的个性化服务。客户提升监控客户账户状态的变化,发现客户流失驱动因素,对客户流失进行预测,采取有针对性的营销举措,最大限度地降低客户流失的可能性。04客户衰退客户细分客户细分也称客户分类,或客户群体划分,指企业根据客户的属性、特征等各种指标,依照一定的规则将客户分为具有相似需求或行为的多个类别。定义客户群体细分后能更准确地识别不同客户群体的独特需求,提供个性化服务。理解客户需求根据客户细分,银行能更有效地分配资源,提高营销策略和风险管理的针对性。优化资源配置商业银行的客户分类标准根据客户的年龄、职业、收入、地理位置等基本信息进行分类。客户属性依据客户的交易频率、额度和习惯偏好进行分类。客户行为通过分析客户的利润贡献、消费潜力,识别高价值客户和潜在价值客户。客户价值客户消费行为与偏好评估客户对风险的接受程度,帮助银行在推荐投资产品时做出更合适的选择。研究客户对不同类型金融产品的需求和偏好,如更倾向于投资还是储蓄,以定制个性化服务。分析客户的日常消费习惯,了解其消费模式,识别出节俭型、普通型和高消费型客户,为精准营销提供依据。消费习惯产品偏好风险承受能力大数据应用于银行客户细分153内部数据源:银行交易记录外部数据源:社
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市2025届高三第一次学业质量调研抽测生物学试题(含答案)
- 内江市2024-2025 学年度第一学期九年级期末测评物理试题(含答案)
- 东北三省卓越联盟.高三年级2025年1月第一次模拟检测 物理试卷(含答案)
- 2025年10KV线路施工安全风险评估与管控合同2篇
- 2025年度园林景观草坪除草与景观设计合同3篇
- 2025年度大型音乐节演出嘉宾签约合同3篇
- 福建省南平市岚谷中学2020-2021学年高二英语下学期期末试卷含解析
- 2024铁路轨道施工安全协议及质量保证3篇
- 2025年度地理信息系统开发项目信息保密协议范本3篇
- 2025年度出租车夜间运营服务合作协议范本3篇
- 2024年学院宣传工作总结(4篇)
- 福建省福州三牧中学2024-2025学年七年级上学期期中生物试题(无答案)
- 公司安全事故隐患内部举报、报告奖励制度
- 第19课《枣儿》课件+2023-2024学年统编版语文九年级下册
- 2024-2030年中国土壤修复行业十三五规划及发展前景展望报告
- 静脉治疗护理技术操作标准解读
- 2024统战工作总结
- 福建省泉州市2023-2024学年高一上学期期末质检英语试题(解析版)
- 苏教版(2024新版)七年级上册生物期末模拟试卷 3套(含答案)
- 《数字信号处理(第2版)》本科全套教学课件
- 高中生物人教版选择性必修一分章节分课时全册学案
评论
0/150
提交评论