Python3 计算相关系数
# -*- coding: utf-8 -*-
"""
Created on Mon Jan 8 19:36:48 2018 @author: markli
""" import numpy as np;
import math; '''
计算矩阵A的相关系数矩阵
'''
def Correlation(A):
#得到A的形状 m 是行数 n 是列数
m,n = A.shape;
#存放每一列的均值
means = [];
#存放每一列的方差
var = [];
for i in range(n):
me = np.mean(A[:,i]);
means.append(me);
temp = A[:,i] - me;
#计算方差,除以m-1 与np.corrcoef有误差,除以m则基本没有误差
v = np.sum([p**2 for p in temp]) / m ;
var.append(v); #存放相关系数
r = np.ones((n,n));
#离差矩阵
deviation = A - np.atleast_2d(means); for i in range(n):
for j in range(n):
cov = np.dot(np.atleast_2d(deviation[:,i]),np.atleast_2d(deviation[:,j]).T)/ (m);
va = math.sqrt(var[i] * var[j]);
r[i,j] = cov / va;
if(i==j):
r[i,j]=1; return r;
#coeffs = np.ployfit(X,Y,degree) #得到一组回归方程的系数 X为一维,Y一般为一维,最多二维 degree指定自变量的次数
#np.ploy1d(coeffs) 产生一个多项式 多项式次数由高到低
A = np.random.random((10,3));
r1 = Correlation(A);
r2 = np.corrcoef(A,rowvar=False);
print(r1);
print('numpy 计算值:');
print(r2);
Python3 计算相关系数的更多相关文章
- python数据相关性分析 (计算相关系数)
#-*- coding: utf-8 -*- #餐饮销量数据相关性分析 计算相关系数 from __future__ import print_function import pandas as pd ...
- 【原创】开源Math.NET基础数学类库使用(11)C#计算相关系数
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...
- 开源Math.NET基础数学类库使用(11)C#计算相关系数
阅读目录 前言 1.Math.NET计算相关系数的类 2.Correlation的实现 3.使用案例 4.资源 本博客所有文章分类的总目录:[总目录]本博客博文总目录-实 ...
- python pandas 计算相关系数
pandas 中df 对象自带相关性计算方法corr() , 可以用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数.Kendall Tau相关系数和spearman秩相 ...
- Excel—利用散点图计算相关系数
1.建立数组 2.创建散点图. 3.添加趋势线. 4.设立为线性函数,勾选显示公式.显示R^2值,R即为相关系数. 5. 备注:此外也可以使用=CORREL()函数对相关系数进行求值.其结果是一致的.
- Python3 计算城市距离
利用上一篇得到的城市经纬度算城市距离 import requests from math import radians, cos, sin, asin, sqrt def geocode(addres ...
- python3 计算文件夹中所有py文件里面代码行数,注释行数,空行数
import os,re #代码所在位置 FILE_PATH = './' def analyze_code(codefilesource): ''' 打开一个py文件统计其中的代码行数,包括空格和注 ...
- Spark Mllib里的如何对单个数据集用斯皮尔曼计算相关系数
不多说,直接上干货! import org.apache.spark.mllib.stat.Statistics 具体,见 Spark Mllib机器学习实战的第4章 Mllib基本数据类型和Mlli ...
- Spark Mllib里的如何对两组数据用斯皮尔曼计算相关系数
不多说,直接上干货! import org.apache.spark.mllib.stat.Statistics 具体,见 Spark Mllib机器学习实战的第4章 Mllib基本数据类型和Mlli ...
随机推荐
- MVC、MVP和MVVM浅谈
MVC是最经典的开发模式之一,最早是后台那边来的,后台前端的复杂度也上来了,MVC的开发模式也带进前端了. MVC: MVC有两个很明显的问题: 1.m层和v层直接打交道,导致这两层耦合度高 2.因为 ...
- html5 canvas在线文本第二步设置(字体边框)等我全部写完,我会写在页面底部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [转载]JavaScript 的轻框架开发
http://www.open-open.com/news/view/1d64fed 为什么我们不用 Angular, Ember 或者 Backbone! Muut 是一个特殊的论坛平台,它也有着巨 ...
- 网页中创建音频、视频和Flash等多媒体:object元素
<object>元素:它主要用于定义网页中的多媒体,比如音频.视频.Java applets.PDF.ActiveX和Flash.Object标签是成对出现的,在object标签内可以使用 ...
- THINKPHP中使用swoole
首先,运行swoole服务端程序要在命令行模式下运行php文件,所以thinkphp要设置成命令行模式运行,在入口文件中增加一个配置即可: define(‘MODE_NAME’,‘cli’); 然后运 ...
- CSS-3 渐变的使用
CSS3 渐变(gradients)可以让您在两个或多个指定的颜色之间显示平稳的过渡. 以前,您必须使用图像来实现这些效果.但是,通过使用 CSS3 渐变(gradients),您可以减少下载的事件和 ...
- java CountDownLatch的使用
CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行.使用一个计数器进行实现.计数器初始值为线程的数量.当每一个线程完成自己任务后,计数器的值就会减一.当计数器的值 ...
- 机器学习&深度学习视频资料汇总
第一部分 基础语言 pandax视频教程 链接: https://pan.baidu.com/s/1pLqavVX 密码: fath python入门到精通 链接: https://pan.b ...
- java中final、finally、finalized使用方法
首先需要明白 final和finally是关键字,finalize是一个方法. 1. final关键字 final可以修饰类.方法.变量, 修饰类表示类不可以被继承 修饰方法表示此方法不可以被重写( ...
- lucene修改索引——(六)
原理: 修改的原理是先删除,后增加一个,这也是常用的一种修改的方式. 删除的文档的id不会被新增加的文档占用,类似于mysql的自增,当删除一个id=2时,以后id=2就是空着的,不会上来一个把2给占 ...