哲学告诉我们:世界是一个普遍联系的有机整体,现象之间客观上存在着某种有机联系,一种现象的发展变化,必然受与之关联的其他现象发展变化的制约与影响,在统计学中,这种依存关系可以分为相关关系和回归函数关系两大类,本次分享,jacky将跟您分享如何用python做相关关系,并以真实金融案例为依托,深入浅出,探讨相关分析在实际工作中应用。

基础铺垫

  • 相关系数(correlation coefficient)

    • 相关系数是变量间关联程度的最基本测度之一,如果我们想知道两个变量之间的相关性,那么我们就可以计算相关系数,进行判定。
  • 相关系数基本特征

    • 方向

      • 正相关:两个变量变化方向相同

      • 负相关:两个变量变化方向相反

    • 量级(magnitude)

      • 低度相关:0 ≤ |r|< 0.3

      • 中度相关:0.3 ≤ |r|< 0.8

      • 高度相关:0.8 ≤ |r|< 1

  • 散点图

    • 在进行相关分析之前,通常会绘制散点图来观察变量之间的相关性,如果这些数据在二维坐标轴中构成的数据点分布在一条直线上的周围,那么就说明变量间存在线性相关关系,如下图所示:

如何用Python计算相关系数

计算公式

r=∑(ZXZY)N

r = \frac{\sum(Z_X Z_Y)}{N}

  • r:相关系数

    {r:相关系数}

  • ZX:变量X的z分数

    {Z_X:变量X的z分数}

  • ZY:变量Y的z分数

    {Z_Y:变量Y的z分数}

  • N:X和Y取值的配对个数

    {N:X和Y取值的配对个数}

金融场景案例实操

我们知道影响金融产品销量的因素很多,作为用户来讲,最直接的参考指标一定是产品的利率,金融机构为了吸引更多的用户能够持有或购买某项金融产品时,往往会推出加息活动,那么加息活动这个变量与实际销量之间是否存在相关关系?——下面jacky与您一同探讨与解决这个问题:

1.手工写代码计算相关系数

  • 根据相关系数的计算公式,我们首先要计算出每个向量的z分数

    • z分数的计算公式:每个值减去向量的均值再除以标准差 ZX=(X-XMean)/XSD
#---author:朱元禄---
import numpy
X = [52,19,7,33,2]
Y = [162,61,22,100,6]#均值
XMean = numpy.mean(X)
YMean = numpy.mean(Y)#标准差
XSD = numpy.std(X)
YSD = numpy.std(Y)#z分数
ZX = (X-XMean)/XSD
ZY = (Y-YMean)/YSD

  • 根据上面相关系数的计算公司,我们套公式,手工计算一下
r=2.64+0.03+0.73+0.3+1.295=0.9997

r = \frac{2.64+0.03+0.73+0.3+1.29}{5}=0.9997

  • 也可以在python内直接计算:
#相关系数
r = numpy.sum(ZX*ZY)/(len(X))

2.使用numpy的corrcoef方法计算

numpy.corrcoef(X,Y)

  • 我们可以看到用corrcoef计算的值和我们手工计算的值是一样的,这里计算得到的是一个对称矩阵,对角线的位置都是1,代表向量和本身完全自相关,1行2列和2行1列的值一样,因为第一个向量和第二个向量的相关系数等于第二个向量和第一个向量的相关系数,所以为对称矩阵

3.使用pandas.DataFrame的corr方法计算

import pandas
data = pandas.DataFrame({
'X':X,
'Y':Y
})
data.corr()

更深入的探讨:数据分析的陷阱-安斯库姆四重奏

相关系数是理解两个向量是否相关的非常好用的指标,但是在实际工作中,我们不能过分依赖相关系数,为什么这么说呢?因为统计指标是有局限性的。

1.Anscombe’s quartet

  • 统计学里大名鼎鼎的Anscombe’s quartet是什么?(jacky有时真搞不懂统计学一些术语的翻译,quartet怎就翻译成了“四重奏”,既然得到了统计大佬们的公认,我也不好多说了)
  • 先看下下面四个散点图,这四幅图表述的数据特征差异有对大,在散点图赏是不是一目了然?

  • 下面我们来计算下它们的统计特性,竟然惊人的一样
性质 数值
X的平均数 9 (数据分析部落)
X的方差 11 (公众号:shujudata)
Y的平均数 7.5
Y的方差 4.12
X与Y之间的相关系数 0.816
线性回归线 y=3.00+0.500x

2.jacky解读

首先作为晚辈,要对统计学大师的学术成果表示尊敬与尊重。

但是,在时间工作中,Anscombe’s quartet的数据分析陷阱,作为一个合格的数据科学从业者,都是会规避的,首先我们做数据清理的时候,就规避了离群值对统计的影响,并且,随着机器学习,深入学习的发展,用方差,平均数来描述数据是最基本的,这些数据描述的维度是远远不够的。

数据科学的探索,永不止境,任何科学理论都可能被推翻。作为体制外的研究者,服务好我们的公司和客户,让数据真正的发挥商业价值,才是最重要的。在巨人的肩膀上,是你我的机会,更是这个时代留给我们最好的礼物!

Python相关分析—一个金融场景的案例实操相关推荐

  1. 数据模型同学看过来|代码案例实操来袭

    去年年底,央行开出反洗钱罚单,多家银行合计被罚1040万元. 当时,中国人民银行石家庄中心支行披露的反洗钱行政处罚信息公示表显示,因涉及未按照规定履行客户身份识别义务等,中行.邮储.浦发三家银行以及阳 ...

  2. 【李刚-21天通关Python-27】之 案例实操:函数装饰器应用

    [李刚-21天通关Python-27]之 案例实操:函数装饰器应用 一.函数装饰器的广泛应用 @staticmethod 和 @classmethod 的本质就是函数装饰器 staticmethod ...

  3. Spark转换算子大全以及案例实操

    1.RDD 转换算子 RDD转换算子实际上就是换了名称的RDD方法 RDD 根据数据处理方式的不同将算子整体上分为 Value 类型.双 Value 类型和 Key-Value 类型 算子:Opera ...

  4. 神策分析 1.16 版本上线场景库,实操方法论融入产品,全方位赋能多角色应用...

    神策数据的产品创新均力求无缝贴合使用者的真实应用场景,有效解决使用者刚需,神策分析 1.16 版本上线,使产品实现了从"功能"向产品个性化.场景化.人性化的智能应用深化升级,从数据 ...

  5. python实操训练300题_如何练习python?有这五个游戏,实操经验就已经够了

    原标题:如何练习python?有这五个游戏,实操经验就已经够了 现在学习python的人越来越多了,但仅仅只是学习理论怎么够呢,如何练习python?已经是python初学者比较要学会的技巧了! 其实 ...

  6. 新硬盘挂载-fdisk+mount案例实操

    新硬盘挂载-fdisk+mount案例实操 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 现在很多服务器都支持热插拔了,当有新的硬盘插入到服务器上我们需要将其分区,格式化,然后挂载 ...

  7. 自定义OutputFormat案例实操

    自定义OutputFormat案例实操 文章目录 1)需求 2)需求分析 3)编程实现 1.创建Mapper类 2.创建Reducer类 3.创建OutputFormat类 4.创建RecordWri ...

  8. MapReduce入门(一)—— MapReduce概述 + WordCount案例实操

    MapReduce入门(一)-- MapReduce概述 文章目录 MapReduce入门(一)-- MapReduce概述 1.1 MapReduce 定义 1.2 MapReduce 优缺点 1. ...

  9. Azkaban配置Work Flow案例实操

    Work Flow案例实操 目录 Work Flow案例实操 1. Yarm语法简介 2. HelloWorld案例 3. JavaProcess案例 4. 作业依赖案例 5. 自动失败重试案例 6. ...

  10. 航空专场 | 无人机设计仿真流程讲解与案例实操

    一.CFD在无人机上的应用 1.静.动气动系数计算以上介绍的无人机的流动状态一般为中低雷诺数,不可压缩流动.这些计算一般用S-A模型或者KW-SST模型进行计算,能够获得不错的工程精度.静.动气动力系 ...

最新文章

  1. JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)...
  2. 写python的c扩展简介
  3. [云炬python3玩转机器学习笔记] 3-1 Jupyter Notebook
  4. ITK:使用FFT与输入图像的掩码图像进行归一化相关
  5. mysql 压缩备份_备份压缩mysql 数据库
  6. 【Vue2.0】— 组件的自定义事件(十八)
  7. java代码块是什么_Java代码块
  8. 免费下载谷歌maps软件_Android Google Maps当前位置,夜间模式功能
  9. 视图控制器的View创建方式
  10. gdb在cygwin下的安装
  11. Underscore骨骼
  12. WINDOWS7都谢幕了,微软为何不出个补丁包?
  13. composer 与php autoload,命名空间
  14. 写字机器人制作教程 midt-bot
  15. 小程序源码:炫酷恶趣制作神器-多玩法安装简单
  16. Qt5--学习笔记-+openCV2-客户端、服务端回环视频显示
  17. 墨客-投票系统程序设计缺陷分析-大飞
  18. 苹果手机html吊起拍照,苹果手机照相技巧
  19. python filter和map的区别_js中filter和map的区别
  20. 非controller层调用service2种

热门文章

  1. 不想996的程序员不是好老板(上)
  2. linux shadow文件*,Linux /etc/shadow文件详解
  3. 国内最好的B端设计资源,都在这里了
  4. 296 最佳的碰头地点
  5. 注册表怎么用计算机管理打开,如何打开注册表,详细教您如何打开电脑注册表管理器...
  6. quartus ii
  7. word页眉页脚页码设置详解
  8. elasticsearch 支持中英文搜索和混合搜索
  9. 给Ubuntu配置静态IP地址
  10. 51单片机—LED小灯的点亮及其流水灯程序