相关系数和协方差
2016-11-11 23:32
267 查看
from pandas import Sereis, DataFrame import pandas.io.data as web all_data = {} for ticker in ['AAPL','IBM','MSFT','GOOG']: all_data[ticker] = web.get_data_yahoo(ticker,'1/1/2000','1/1/2010') price = DataFrame({tic:data['Adj Close'] for tic,data in all_data.iteritems()}) volume = DataFrame({tic:data['Volume'] for tic,data in all_data.iteritems()}) data = price.pct_change() #data.tail() data.MSFT.corr(data.IBM) #Series中的corr方法用于计算两个Series中重叠的、非NA的、按索引对齐的值得相关系数。与此类似,cov用于计算协方差。 data['GOOG'].corr(data['IBM']) data.MSFT.cov(data.IBM) #DataFrame的corr和cov方法将以DataFrame的形式返回完整的相关系数或协方差矩阵: data.corr() data.cov() #利用DataFrame的corrwith方法,可以计算其列或行跟另一个Series或DataFrame之间的相关系数,传入一个Series将会返回一个相关系数值Series(针对各列进行计算) data.corrwith(data.IBM) #传入一个DataFrame则会计算按列名配对的相关系数。 data.corrwith(volume) data.corrwith(volume,axis=1) #传入axis=1可按行进行计算 #无论如何,在计算相关系数之前,所有的数据项都会按标签对齐。 #如果是计算Series与DataFrame的相关系数则可以使用df.corrwith(serr)
一.协方差
只表示线性相关的方向,取值正无穷到负无穷。也就是说,协方差为正值,说明一个变量变大另一个变量也变大;取负值说明一个变量变大另一个变量变小,取0说明两个变量没有相关关系。
注意:协方差的绝对值不反映线性相关的程度(其绝对值与变量的取值范围有关系)。
二.相关系数
不仅表示线性相关的方向,还表示线性相关的程度,取值[-1,1]。也就是说,相关系数为正值,说明一个变量变大另一个变量也变大;取负值说明一个变量变大另一个变量变小,取0说明两个变量没有相关关系。同时,相关系数的绝对值越接近1,线性关系越显著。
通常情况下,当相关系数的绝对值大于2/sqrt(N),N为样本点的数量时,我们认为线性关系是存在的。
三.协方差与相关系数的关系
协方差的公式为相关系数的公式为
,其中Sx,Sy分别表示x和y的标准差。
由两者的相关关系,可以看出为什么相关系数比协方差多阐述了线性相关的程度:
原因在于协方差和大小和x,y的取值范围紧密相关,举个例子,x,y都取值[-1000,1000]或都取值[-0.001,0.001],这两者的协方差肯定呈现量级般的差异,但是都除以标准差后,相当于在同样的尺度上衡量问题,所以相关系数是有意义的,反映了线性相关的程度。
备注:其实也不一定必须得除以标准差,只要除的值等够度量数据的波动范围就可以了,标准差只是一种通俗惯例的选择。
参考:https://www.zhihu.com/question/20852004
相关文章推荐
- 概率统计:数学期望、方差、协方差、相关系数、矩
- 2017.05.08回顾 协方差 相关系数
- 期望、方差、协方差及相关系数的基本运算
- 机器学习之数学基础——期望、方差、协方差、相关系数、矩、协方差矩阵
- 概率统计----均值,方差,协方差,相关系数,协方差矩阵
- 如何通俗理解“协方差”和“相关系数”
- 机器学习的数学基础(一)—— 期望、方差、协方差与相关系数
- 概率论与数理统计15--协方差与相关系数
- 通俗解释 方差,标准差,协方差以及相关系数
- 期望、方差、协方差及相关系数的基本运算
- 相关系数,互相关函数,协方差,卷积
- 算法--偏差,方差,标准差,协方差,相关系数及相关理解
- 统计知识补充:方差,协方差,相关系数。
- 机器学习 | 一:协方差和相关系数
- 协方差、相关系数---通俗解释
- [梳理]协方差、方差、相关系数
- 3分钟tips:协方差和相关系数的异同
- [转]方差、协方差与相关系数
- 概率论11 协方差与相关系数
- 协方差与相关系数 numpy中cov与corrcoef的使用