您现在的位置是: 首页> 学无止境> Python> Python
Python三种方法计算皮尔逊相关系数
1、皮尔逊相关系数
在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlation coefficient,简称 PPMCC或PCCs)。用于衡量两个变量X和Y之间的线性相关相关关系,值域在-1与1之间。
2、根据公式手写
import numpy as np
import pandas as pdfrom math import * def multipl(a,b): sumofab=0.0 for i in range(len(a)): temp=a[i]*b[i] sumofab+=temp return sumofab def cal_pccs(x,y): n=len(x) #求和 sum1=sum(x) sum2=sum(y) #求乘积之和 sumofxy=multipl(x,y) #求平方和 sumofx2 = sum([pow(i,2) for i in x]) sumofy2 = sum([pow(j,2) for j in y]) num=sumofxy-(float(sum1)*float(sum2)/n) #计算皮尔逊相关系数 den=sqrt((sumofx2-float(sum1**2)/n)*(sumofy2-float(sum2**2)/n)) return num/den pct_chg = pd.Series({'000001.SZ':-1.7391, '000002.SZ':0.6250,'000004.SZ':1.1378,'002600.SZ':0.0000,'000010.SZ':-1.0013}) vol = pd.Series({'000001.SZ':249326.31,'000002.SZ':338224.97,'000004.SZ':211876.00,'000010.SZ':222782.00,'002600.SZ':342096.76}) print(cal_pccs(pct_chg, vol))
3、talib的函数
import talib as ta
import pandas as pdpct_chg = pd.Series({'000001.SZ':-1.7391, '000002.SZ':0.6250,'000004.SZ':1.1378,'002600.SZ':0.0000,'000010.SZ':-1.0013}) vol = pd.Series({'000001.SZ':249326.31,'000002.SZ':338224.97,'000004.SZ':211876.00,'000010.SZ':222782.00,'002600.SZ':342096.76}) print(ta.CORREL(pct_chg,vol,5)[-1])
4、numpy的函数
import numpy as np
import pandas as pd
pct_chg = pd.Series({'000001.SZ':-1.7391, '000002.SZ':0.6250,'000004.SZ':1.1378,'002600.SZ':0.0000,'000010.SZ':-1.0013})
vol = pd.Series({'000001.SZ':249326.31,'000002.SZ':338224.97,'000004.SZ':211876.00,'000010.SZ':222782.00,'002600.SZ':342096.76})
pccs = np.corrcoef(pct_chg, vol)
print(pccs[0][1])
5、scipy的函数
import numpy as np
import pandas as pd
from scipy.stats import pearsonr
pct_chg = pd.Series({'000001.SZ':-1.7391, '000002.SZ':0.6250,'000004.SZ':1.1378,'002600.SZ':0.0000,'000010.SZ':-1.0013})
vol = pd.Series({'000001.SZ':249326.31,'000002.SZ':338224.97,'000004.SZ':211876.00,'000010.SZ':222782.00,'002600.SZ':342096.76})
pccs = pearsonr(pct_chg, vol)
print(pccs[0])
- END -
文章评论 共有 0 条评论
点击排行
Python三种方法计算皮尔逊相关系数本栏推荐
标签云
猜你喜欢
站点信息
- 建站时间:2018年10月24日
- 网站程序:fastadmin
- 文章统计:{$archivesCount}篇文章
- 标签管理:标签云
- 统计数据:百度统计
- 微信号:zwj982215226

打赏本站
- 如果你觉得本站很棒,可以通过扫码支付打赏哦!
- 微信扫码:你说多少就多少~

- 支付宝扫码:你说多少就多少~



发表评论 取消回复