两组序列数据,求两者的线性相关系数。

1:使用numpy

import random

import numpy as np

a = [random.randint(0, 10) for t in range(20)]

b = [random.randint(0, 10) for t in range(20)]

# 先构造一个矩阵

ab = np.array([a, b])

# 计算协方差矩阵

print(np.cov(ab))

print(np.corrcoef(ab))

2:使用pandas

import pandas as pd

# 使用 pandas 计算协方差、相关系数

# 使用 DataFrame 作为数据结构,为方便计算,我们会将 ab 矩阵转置

dfab = pd.DataFrame(ab.T, columns=['A', 'B'])

# A B 协方差

print(dfab.A.cov(dfab.B))

# A B 相关系数

print(dfab.A.corr(dfab.B))

3:使用原生函数

import random

import math

a = [random.randint(0, 10) for t in range(20)]

b = [random.randint(0, 10) for t in range(20)]

#计算平均值

def mean(x):

return sum(x) / len(x)

# 计算每一项数据与均值的差

def de_mean(x):

x_bar = mean(x)

return [x_i - x_bar for x_i in x]

# 辅助计算函数 dot product 、sum_of_squares

def dot(v, w):

return sum(v_i * w_i for v_i, w_i in zip(v, w))

def sum_of_squares(v):

return dot(v, v)

# 方差

def variance(x):

n = len(x)

deviations = de_mean(x)

return sum_of_squares(deviations) / (n - 1)

# 标准差

def standard_deviation(x):

return math.sqrt(variance(x))

# 协方差

def covariance(x, y):

n = len(x)

return dot(de_mean(x), de_mean(y)) / (n -1)

# 相关系数

def correlation(x, y):

stdev_x = standard_deviation(x)

stdev_y = standard_deviation(y)

if stdev_x > 0 and stdev_y > 0:

return covariance(x, y) / stdev_x / stdev_y

else:

return 0

print(a)

print(b)

print(standard_deviation(a))

print(standard_deviation(b))

print(correlation(a,b))

4:使用R,spss,excel

python 相关系数函数会产生无穷大吗_python 求相关系数相关推荐

  1. python找出10000以内的质数_python求10000以内的质数_10000以内的质数

    展开全部 [ P1- P10] 2 3 5 7 11 13 17 19 23 29 [ P11- P20] 31 37 41 43 47 53 59 61 67 71 [ P21- P30] 73 7 ...

  2. python中math计算平方根的函数_Python求算数平方根和约数的方法汇总

    一.求算术平方根 a= x=int(raw_input('Enter a number:')) if x >= : while a*a < x: a = a + if a*a != x: ...

  3. python怎么输入一个数字并调用_Python求输入一个整数,然后输出这个整数的所有数字:个位数字在前,高位数字在后,中间使用空格字符连接...

    附件程序enumeratenumber.py使用数字整除的方式实现了该功能,使用字符串实现该功能的代码没有完成.请仔细阅读代码之后,写出完整代码.[附加]enumeratenumber.py实现的输出 ...

  4. python下载包管理器_Python包管理整理:setuptool管理python相关的包

    setuptool管理python相关的包 一.介绍 setuptool管理python相关的包的工具.这些包是zip格式发布,但是后缀一般都是.egg setuptool能解决python包的依赖关 ...

  5. 共享一PYTHON 相关应用领域的介绍资料

    无意思 搜索到[PYTHON 相关应用领域的介绍资料]资料列表 ,感觉非常好,这里共享: http://woodpecker4org.b0.upaiyun.com/pyconcn/pycon2012c ...

  6. 【爆肝更新】Python基础教程:第五章_Python函数

    原创:公众号 数据说话 [爆肝更新]Python基础教程:第五章_Python函数 函数介绍 学习目标: 快速体验一下函数的使用 了解函数的作用. 函数:是组织好的,可重复使用的,用来实现特定功能的代 ...

  7. python用selenium爬取网页数据_Python项目实战:使用selenium爬取拉勾网数据

    " 一切不经过项目验证的代码都是耍流氓,今天我们就通过一个简单的招聘网站的数据归档进行当前热门岗位的大数据分析,最后以wordcloud进行显示.本文为数据爬取篇." 项目准备: ...

  8. boost::parameter::python相关的测试程序

    boost::parameter::python相关的测试程序 实现功能 C++实现代码 实现功能 boost::parameter::python相关的测试程序 C++实现代码 #include & ...

  9. python读取大文件的某行_Python按行读取文件的实现方法【小文件和大文件读取】...

    本文实例讲述了Python按行读取文件的实现方法.分享给大家供大家参考,具体如下: 小文件: #coding=utf-8 #author: walker #date: 2013-12-30 #func ...

最新文章

  1. tomcat自启动问题 jsvc的 使用
  2. Ubuntu中Samba的安装配置和使用[图文]
  3. loadrunner使用流程_LoadRunner关联函数
  4. nefu 1029 字符串
  5. ANSI编码和Unicode编码的不同
  6. NeurIPS 2021 | 港中文周博磊组:基于实例判别的数据高效生成模型
  7. python管道安装包_Python 炫技操作:安装包的八种方法
  8. Kuma 1.0 GA发布,70多项新功能和改进
  9. eSIM技术必将取代SIM卡 一文读懂eSIM技术优势!
  10. exp参数feedback_Oracle数据库逻辑增量备份恢复之exp/imp参数inctype
  11. 排序算法之五 快速排序(C++版本)
  12. 181110每日一句
  13. B/S、C/S架构与视频对话技术
  14. 【经验分享】嵌入式C语言开发如何有效地排查内存泄露的疑难问题?
  15. 羊哥推荐的Java后端开发书籍
  16. 移动硬盘linux系统安装win7系统,超简单的移动硬盘安装系统win7教程
  17. mysql连接超时的原因_数据库提示连接超时是什么原因?
  18. 【java】微信支付生成签名的过程
  19. 印度紧盯中国,计划在东海岸建新海军基地
  20. Handler.obtainMessage()的认识和理解

热门文章

  1. Spring-自定义类实现AOP(八)
  2. 如何使用 Convert.exe 将分区转换为 NTFS 文件系统
  3. 面向连接的传输TCP(一)
  4. 16.1117 NOIP 模拟赛
  5. saltstack学习篇
  6. deepsooncms在Ubuntu 14.04上部署教程
  7. ILP32和LP64数据模型
  8. php chinese word
  9. 买无线路由还是买无线AP?
  10. Flutter TextField 设置默认值和光标位置