1、相关性分析

协方差:Cov(X,Y)=E(XY)-E(X)E(Y) 或 cov(X, Y) = E(X-EX)(Y-EY),表示两个变量总体误差的期望,范围在负无穷到正无穷。协方差为0时,两者独立。协方差绝对值越大,两者对彼此的影响越大,反之越小

公式简单翻译一下是:如果有X,Y两个变量,每个时刻的“X值与其均值之差”乘以“Y值与其均值之差”得到一个乘积,再对这每时刻的乘积求和并求出均值(其实是求“期望”,但就不引申太多新概念了,简单认为就是求均值了)。

相关系数:(相关系数=协方差除以两个变量的标准差)的绝对值越大,相关性越强。衡量变量间的相关程度或密切程度,范围[-1,1],分正负相关,负相关意味着两个变量的增长趋势相反。相关系数也可以看成协方差:一种剔除了两个变量量纲影响、标准化后的特殊协方差,单纯反应两个变量每单位变化时的相似程度。标准差描述了变量在整体变化过程中偏离均值的幅度。协方差除以标准差,也就是把协方差中变量变化幅度对协方差的影响剔除掉,这样协方差也就标准化了,它反应的就是两个变量每单位变化时的情况。(当x或y的波动幅度变大的时候,协方差会变大,标准差也会变大。)(在描述X和Y在同一物理量纲之下有一定的作用,但同样的两个量采用不同的量纲使它们的协方差在数值上表现出很大的差异。因此统一单位,即消去x和y的单位,除以标准差,引入相关系数)

统计术语参考

### 相关系数矩阵
import pandas as pd
data=pd.read_csv('E:/test.csv')
print(data.corr())  ## 两两之间的相关性
print(data.corr()[u'G3'])  ##G3与其他的相关系数import numpy as np
import pandas as pd
data=pd.read_csv('E:/test.csv')
print(data.head())
correlation=np.corrcoef(data,rowvar=0) ##  0对列做分析,1对行做分析
## x=data.ix[:,:-1] #### 切分自变量,只讨论自变量间的相关性??
## correlation=np.corrcoef(x,rowvar=0)  ### np.cov() 协方差
print(correlation.round(2))  ## 保留2位小数
## 输出相关矩阵,也是对称矩阵和 numpy 相比,pandas 对于有多组数据的协方差、相关系数的计算比 numpy 更为简便、清晰,我们可以指定计算具体的两组数据的协方差、相关系数,这样就不需要再分析结果的协方差矩阵了。见参考dfab = pd.DataFrame(ab.T, columns=['A', 'B'])
# A B 协方差
dfab.A.cov(dfab.B)
>> 150.95263157894738
# A B 相关系数
dfab.A.corr(dfab.B)

2、标准化

目的:处理不同规模和量纲的数据。使其缩放到相同的数据区间和范围,以减少规模、特征、分布差异等对模型的影响。

7个严格定义的基本单位是:长度(米)、质量(千克)、时间(秒)、电流(安培)、热力学温度(开尔文)、物质的量(摩尔)和发光强度(坎德拉),量纲即单位的组合。

1)Z-Score标准化:适合大多数类型的的数据,不适合稀疏数据(因为该方法是一种中心化方法,会改变原有数据的分布结构)。基于原始数据的均值和标准差,标准化后的数据是以0为均值,方差为1的正态分布。

x'=(x-mean)/std

2)归一化的Max-Min标准化:对原始数据进行线性变换,得到的数据全部落在[0,1]区间,很好的保持原有数据结构。

x'=(x-min)/(max-min)

3)MaxAbs(最大值绝对值标准化):用于稀疏数据,不会破坏原有数据分布结构的特点,得到的数据会落在一定区间[-1,1]。

x'=x/|max|,max为x所在列的最大的绝对值

import pandas as pd
import numpy as np
from sklearn import preprocessing
data=[[78,521,602,2865],[144,-600,-521,2245],[146,413,435,2571]]
df=pd.DataFrame(data)
## Z标准
zs=preprocessing.StandardScaler() ### 建立StandardScaler对象
df1=zs.fit_transform(data)
df1=np.round(df1,2)## 最大-最小标准化
mm=preprocessing.MinMaxScaler() ### 建立MinMaxScaler
df2=mm.fit_transform(data)
df2=np.round(df2,2)### 最大值绝对值标准化
mb=preprocessing.MaxAbsScaler() ### 建立MaxAbsScale
df3=mb.fit_transform(data)
df3=np.round(df3,2)
print(df,'\n\n',df1,'\n\n',df2,'\n\n',df3)

import pandas as pd
import numpy as np
data=[[78,521,602,2865],[144,-600,-521,2245],[146,413,435,2571]]
data=pd.DataFrame(data)
## Z标准
## 0表示列 1表示行
df1=(data - np.mean(data,axis=0))/ np.std(data,axis=0)
## df1=(data-data.mean(0))/data.std(0)   可能是pandas的统计量形式,结果不同
df1=np.round(df1,2)## 最大-最小标准化
df2=(data -data.min(0)) / (data.max(0) - data.min(0))
df2=np.round(df2,2)### 最大值绝对值标准化
df3=data/ abs(data).max(0)   ## 最大的绝对值
##df3=data/ abs(np.max(data,axis=0)) ## 最大值的绝对值
df3=np.round(df3,2)
print(data,'\n\n',df1,'\n\n',df2,'\n\n',df3,)
##print(data.std(0))
##print(np.std(data,axis=0))

两个结果数值一样,注意numpy和pandas的统计量有所差异

两种做法的结果形式也有所差异,向量一维,数组矩阵多维,数据框类似表格

Python数据的相关性和标准化相关推荐

  1. Python数据标准化处理

    Python数据标准化处理 归一化,Z-Socre法 import numpy as np import pandas as pd import copy import jenkspy #逆向指标 d ...

  2. Python数据标准化

    目录 一.数据标准化方式 1.实现中心化和正态分布的Z-Score 2.实现归一化的Max-Min 3.用于稀疏数据的MaxAbs 4.针对离群点的RobustScaler 二.Python针对以上几 ...

  3. 几组数据的相关性python_数据分析---用Python进行相关性分析(兼谈假设检验)

    一.相关关系和相关系数 世上除了因果关系,还有相关关系. 有一个叫"相关系数"的指标来量化两个事物之间的相关程度. 其中相关系数用"r"表示,取值范围介于-1和 ...

  4. Python 数据可视化:Stack Graph 堆叠图,标准化堆叠柱形图,标准化的同时还能反应数据量大小的堆叠图(放入自写库,一行代码搞定复杂细节绘图)

    本文已在公众号 " 数据分析与商业实践 " 首发.关注一下~,更多商业数据分析案例源码等你来撩.后台回复 "堆叠图" ,即可获取本文的案例示范与包含详细注释的源 ...

  5. Python数据相关性分析

    概述 在我们的工作中,会有一个这样的场景,有若干数据罗列在我们的面前,这组数据相互之间可能会存在一些联系,可能是此增彼涨,或者是负相关,也可能是没有关联,那么我们就需要一种能把这种关联性定量的工具来对 ...

  6. python:基金净值与龙头股收盘价 数据的相关性分析

    广发消费升级股票基金净值 与 贵州茅台收盘价 数据的相关性分析: diff_corr_2.py # coding: utf-8 import os, sys from datetime import ...

  7. python分类变量相关性分析_Python数据科学:相关分析

    目前手上有两本书,一本<利用Python进行数据分析>,一本<Python数据科学>.app 对于学习什么东西,都有它的「道」和「术」.「道」即原理,「术」即技巧.dom 经过 ...

  8. 用 Python 对数据进行相关性分析

    在进行数据分析时,我们所用到的数据往往都不是一维的,而这些数据在分析时难度就增加了不少,因为我们需要考虑维度之间的关系.而这些维度关系的分析就需要用一些方法来进行衡量,相关性分析就是其中一种.本文就用 ...

  9. 作业1:关于使用python中scikit-learn(sklearn)模块,实现鸢尾花(iris)相关数据操作(数据加载、标准化处理、构建聚类模型并训练、可视化、评价模型)

    操作题:利用鸢尾花数据实现数据加载.标准化处理.构建聚类模型并训练.聚类效果可视化展示及对模型进行评价 一.数据加载 from sklearn.datasets import load_iris fr ...

最新文章

  1. curl请求本地域名问题
  2. 4.0 多线程基础篇
  3. bios uefi legacy_重装系统时,如何判断启动方式Legacy/UEFI,你知道吗
  4. matlab里path,Matlab设置永久path
  5. Split的使用(C#)
  6. 机会难得 | 这家上市公司终于招人了
  7. Linux kali 安装 qq Tim
  8. 工业以太网与现场总线
  9. 快速输入对号框(框中加对号或者对勾)的方法
  10. 微博文摘——女人与ITIL
  11. SpringBoot引入Dubbo问题解析
  12. stm32h7b0替代h750程序导致单片机挂掉无法烧录程序问题
  13. python发送esc_使用win32prin将一行文本发送到Python中的ESC/POS打印机
  14. python 代码合并txt文件
  15. P3354 [IOI2005]Riv 河流
  16. Mac安装单机版K8S
  17. TROPOMI(哨兵5P)数据介绍及下载方法
  18. 免费SIP软交换云总机IPPBX
  19. 电子油门踏板/刹车踏板位置传感器
  20. 民间和官方借贷中分利与厘利是如何计算?

热门文章

  1. ES6计算字符串长度
  2. soapui怎么设置中文_小米手机怎么弄抖音中文数字时钟罗盘屏保 设置动态壁纸教程...
  3. 雷神911T-Book Pro 游戏本参数配置 雷神 911T-Book Pro 评测
  4. AirPods 2/Pro 使用方法
  5. 【软件工程】软工初印象——软件设计之灵魂
  6. logstash处理文件进度记录机制
  7. 新一代消息队列Pulsar-安装部署
  8. 【20220331】自动回复微信机器人——基于pyautogui,取消OCR功能,调用中文预训练模型API
  9. 袖珍计算器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  10. 打造抖音爆款视频的逻辑是什么?