python 自相关系数,python求相关性系数

  python 自相关系数,python求相关性系数

  Qarcher:python怎么计算相关系数、偏相关系数?zhuanlan.zhihu.com

  进口熊猫作为螺纹中径

  将数组作为铭牌导入

  从科学计算导入统计

  进口统计

  导入数学

  将matplotlib.pyplot作为血小板计数导入

  将海生的作为社交网站(Social Network Site的缩写)导入

  x1=np.random.rand(10)

  x2=np.random.rand(10)

  x3=np.random.rand(10)

  打印(x1)

  打印(x2)

  打印(x3)

  # 方法1:通过熊猫计算

  df=pd .DataFrame([x1,x2,x3],index=[a , b , c]).T

  # 计算相关系数矩阵

  corr=df.corr()

  # 计算两列之间的相关系数

  r_ab=df.a.corr(df.b)

  r_ac=df.a.corr(df.c)

  r_bc=df.b.corr(df.c)

  # 计算偏方差

  r _ ab _ c=(r _ ab-r _ AC * r _ BC)/(((1-r _ AC * * 2)* * 1/2)*((1-r _ BC * * 2)* * 1/2))

  # 方法2:通过数组计算

  lst=[x1,x2,x3]

  # 生成相关系数矩阵

  res=np.corrcoef(lst)

  # 提取相关系数方式2

  label=[a , b , c]

  corr=dict()

  对于范围内的行(res.shape[0]):

  对于范围内的列(分辨率形状[1]):

  corr[r_{}{} .格式(标签[行],标签[列])]=RES[行][列]

  r_ab=corr[r_ab]

  r_ac=corr[r_ac]

  r_bc=corr[r_bc]

  r _ ab _ c=(r _ ab-r _ AC * r _ BC)/(((1-r _ AC * * 2)* * 1/2)*((1-r _ BC * * 2)* * 1/2))

  打印(r_ab_c)

  # 方法3:通过科学计算计算

  从科学计算导入统计

  r_ab=stats.pearsonr(x1,x2)[0]

  r_ac=stats.pearsonr(x1,x3)[0]

  r_bc=stats.pearsonr(x2,x3)[0]

  r _ ab _ c=(r _ a b-r _ AC * r _ BC)/(((1-r _ AC * * 2)* * 0.5)*((1-r _ BC * * 2)* * 0.5))

  打印( ab_c的一阶偏相关系数为:,r_ab_c)

  # 方法4:自己写公式

  def calc_corr(a,b):

  a_avg=sum(a)/len(a)

  b_avg=sum(b)/len(b)

  # 计算分子,协方差————按照协方差公式,本来要除以n的,由于在相关系数中上下同时约去了n,于是可以不除以n

  cov _ ab=sum([(x-a _ avg)*(y-b _ avg)for x,y in zip(a,b)])

  # 计算分母,方差乘积————方差本来也要除以n,在相关系数中上下同时约去了n,于是可以不除以n

  sq=数学。sqrt(sum([(x-a _ avg)* * 2 for x in a])* sum([(x-b _ avg)* * 2 for x in b]))

  校正系数=cov_ab /平方

  返回修正因子

  r_ab=calc_corr(x1,x2)

  r_ac=calc_corr(x1,x3)

  r_bc=calc_corr(x2,x3)

  r _ ab _ c=(r _ ab-r _ AC * r _ BC)/(((1-r _ AC * * 2)* * 1/2)*((1-r _ BC * * 2)* * 1/2))

  打印( ab_c的一阶偏相关系数为:,r_ab_c)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: