python求相关系数_python 求相关系数
两组序列数据,求两者的线性相关系数。
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 求相关系数相关推荐
- python怎么求整数_python求整数
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 求解方法:1.整数求余2.重复进行,整数除2再求余,直到除数为03.拼接余数4. ...
- python编程求导数_Python求导数的方法
本文实例讲述了Python求导数的方法.分享给大家供大家参考.具体实现方法如下: def func(coeff): sum='' for key in coeff: sum=sum+'+'+str(k ...
- python 相关系数_python如何计算相关系数与协方差
一起学习,一起成长! 前言 相关系数与协方差都是表示两个变量之间的关系. 相关系数是研究变量之间的线性相关程度的量.而相关系数又被细分为简单相关系数.复相关系数.典型相关系数. 协方差用于衡量两个变量 ...
- python求最小公倍数_python求最大公约数和最小公倍数的简单方法
python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...
- python多项式求导_Python求离散序列导数的示例
有一组4096长度的数据,需要找到一阶导数从正到负的点,和三阶导数从负到正的点,截取了一小段. 394.0 388.0 389.0 388.0 388.0 392.0 393.0 395.0 395. ...
- python 封闭图形面积_Python求阴影部分面积
原标题:Python求阴影部分面积 一.前言说明 今天看到微信群里一道六年级数学题,如下图,求阴影部分面积 Python学习资料或者需要代码.视频加Python学习群:516107834 看起来似乎并 ...
- 用python求兀_python求π
<像计算机科学家一样思考Python(第2版)>--2.5 操作顺序 本节书摘来自异步社区<像计算机科学家一样思考Python(第2版)>一书中的第2章,第2.5节,作者[美] ...
- python列表如何求增长率_python求平均值
叶湘伦:[文字篇]如何系统地自学 Python?zhuanlan.zhihu.com python求平均值 首先我们先来了解一下计算平均数的IPO模式. 输入:待输入计算平均数的数. 处理:平均数算 ...
- python求积分_python 求定积分和不定积分示例
求f(x) = sin(x)/x 的不定积分和负无穷到正无穷的定积分 sin(x)/x 的不定积分是信号函数sig ,负无穷到正无穷的定积分为pi import math import numpy a ...
- python离散求导数_Python求离散序列导数的示例
有一组4096长度的数据,需要找到一阶导数从正到负的点,和三阶导数从负到正的点,截取了一小段. 394.0 388.0 389.0 388.0 388.0 392.0 393.0 395.0 395. ...
最新文章
- 线性回归之正则化线性模型
- spring配置datasource三种方式 数据库连接
- 浏览器history操作实现一些功能
- html5 white space,CSS white-space 属性
- uva 11925——Generating Permutations
- Html做文章查看上一篇下一篇功能,SDCMS文章添加上一篇、下一篇
- Windows MinGW cmake 安装编译Opencv 3.4.3 C++开发环境
- android 媒体库扫描,如何扫描出Android系统媒体库中视频文件
- 这个问题,正在郁闷中,网上找了好久,也只见问不见答!
- 操作系统笔记(王道考研) 第一章:计算机系统概述
- [Altium Designer 2020 硬件设计]PCB封装库创建及3D模型添加
- python打开360浏览器_Selenium安装与360浏览器使用
- KVM vCPU创建过程
- 手机app显示服务器端异常502,修复 HTTP 502 和 HTTP 503 错误 - Azure App Service | Microsoft Docs...
- VC 模拟鼠标和键盘输入
- python缩小图片_python如何缩小图像
- DSPE-PEG7-NHS ester分子式:C63H1117N2O20P琥珀酰亚胺PEG连接剂
- 智能手机操作系统大全-未完待续
- function Function函数
- 计算机专业英语时间跨度,这是我见过的最变态的英语考试,没有之一
热门文章
- Latex排版图片样式
- 如何将word中两栏的A3纸横向排列文档转成标准A4文档
- 中国石油大学《马克思主义基本原理》第三阶段在线作业
- 42道计算机网络面试高频题+答案,面试官喜欢的答案都在这里
- 如何在 HTML 中将表格居中
- 谷歌浏览器怎么开启硬件加速模式 硬件加速模式开启方法简述
- Cesium中的地球坐标系转换:岁差章动计算(XYs)
- html转换opml,asp.net下URL网址重写成.html格式、RSS、OPML的知识总结
- 3点画矩形的lisp_AutoCAD LISP矩形窗格绘制
- LeetCode 到最近的人的最大距离