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

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怎么求整数_python求整数

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 求解方法:1.整数求余2.重复进行,整数除2再求余,直到除数为03.拼接余数4. ...

  2. python编程求导数_Python求导数的方法

    本文实例讲述了Python求导数的方法.分享给大家供大家参考.具体实现方法如下: def func(coeff): sum='' for key in coeff: sum=sum+'+'+str(k ...

  3. python 相关系数_python如何计算相关系数与协方差

    一起学习,一起成长! 前言 相关系数与协方差都是表示两个变量之间的关系. 相关系数是研究变量之间的线性相关程度的量.而相关系数又被细分为简单相关系数.复相关系数.典型相关系数. 协方差用于衡量两个变量 ...

  4. python求最小公倍数_python求最大公约数和最小公倍数的简单方法

    python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...

  5. python多项式求导_Python求离散序列导数的示例

    有一组4096长度的数据,需要找到一阶导数从正到负的点,和三阶导数从负到正的点,截取了一小段. 394.0 388.0 389.0 388.0 388.0 392.0 393.0 395.0 395. ...

  6. python 封闭图形面积_Python求阴影部分面积

    原标题:Python求阴影部分面积 一.前言说明 今天看到微信群里一道六年级数学题,如下图,求阴影部分面积 Python学习资料或者需要代码.视频加Python学习群:516107834 看起来似乎并 ...

  7. 用python求兀_python求π

    <像计算机科学家一样思考Python(第2版)>--2.5 操作顺序 本节书摘来自异步社区<像计算机科学家一样思考Python(第2版)>一书中的第2章,第2.5节,作者[美] ...

  8. python列表如何求增长率_python求平均值

    叶湘伦:[文字篇]如何系统地自学 Python?​zhuanlan.zhihu.com python求平均值 首先我们先来了解一下计算平均数的IPO模式. 输入:待输入计算平均数的数. 处理:平均数算 ...

  9. python求积分_python 求定积分和不定积分示例

    求f(x) = sin(x)/x 的不定积分和负无穷到正无穷的定积分 sin(x)/x 的不定积分是信号函数sig ,负无穷到正无穷的定积分为pi import math import numpy a ...

  10. python离散求导数_Python求离散序列导数的示例

    有一组4096长度的数据,需要找到一阶导数从正到负的点,和三阶导数从负到正的点,截取了一小段. 394.0 388.0 389.0 388.0 388.0 392.0 393.0 395.0 395. ...

最新文章

  1. 线性回归之正则化线性模型
  2. spring配置datasource三种方式 数据库连接
  3. 浏览器history操作实现一些功能
  4. html5 white space,CSS white-space 属性
  5. uva 11925——Generating Permutations
  6. Html做文章查看上一篇下一篇功能,SDCMS文章添加上一篇、下一篇
  7. Windows MinGW cmake 安装编译Opencv 3.4.3 C++开发环境
  8. android 媒体库扫描,如何扫描出Android系统媒体库中视频文件
  9. 这个问题,正在郁闷中,网上找了好久,也只见问不见答!
  10. 操作系统笔记(王道考研) 第一章:计算机系统概述
  11. [Altium Designer 2020 硬件设计]PCB封装库创建及3D模型添加
  12. python打开360浏览器_Selenium安装与360浏览器使用
  13. KVM vCPU创建过程
  14. 手机app显示服务器端异常502,修复 HTTP 502 和 HTTP 503 错误 - Azure App Service | Microsoft Docs...
  15. VC 模拟鼠标和键盘输入
  16. python缩小图片_python如何缩小图像
  17. DSPE-PEG7-NHS ester分子式:C63H1117N2O20P琥珀酰亚胺PEG连接剂
  18. 智能手机操作系统大全-未完待续
  19. function Function函数
  20. 计算机专业英语时间跨度,这是我见过的最变态的英语考试,没有之一

热门文章

  1. Latex排版图片样式
  2. 如何将word中两栏的A3纸横向排列文档转成标准A4文档
  3. 中国石油大学《马克思主义基本原理》第三阶段在线作业
  4. 42道计算机网络面试高频题+答案,面试官喜欢的答案都在这里
  5. 如何在 HTML 中将表格居中
  6. 谷歌浏览器怎么开启硬件加速模式 硬件加速模式开启方法简述
  7. Cesium中的地球坐标系转换:岁差章动计算(XYs)
  8. html转换opml,asp.net下URL网址重写成.html格式、RSS、OPML的知识总结
  9. 3点画矩形的lisp_AutoCAD LISP矩形窗格绘制
  10. LeetCode 到最近的人的最大距离