当前位置:网站首页>相关系数计算,热力图绘制,代码实现
相关系数计算,热力图绘制,代码实现
2022-08-09 10:28:00 【白十月】
三大相关系数correlation coefficient
1. 皮尔森相关性系数,person
两个变量(X, Y)的皮尔森相关性系数(ρX,Y)等于它们之间的协方差cov(X,Y)除以它们各自标准差的乘积(σX, σY)。
公式的分母是变量的标准差,**这就意味着计算皮尔森相关性系数时,变量的标准差不能为0(分母不能为0),**也就是说你的两个变量中任何一个的值不能都是相同的。如果没有变化,用皮尔森相关系数是没办法算出这个变量与另一个变量之间是不是有相关性的。
皮尔森系数对数据的要求比较高,
1.实验数据通常假设是成对的来自正态分布的总体,因为我们在求皮尔森相关性系数之后,还会用t检验等方法进行皮尔森相关性系数检验,t检验是基于数据呈正态分布的
2.皮尔森相关性系数受异常值的影响比较大,
2.斯皮尔曼相关性系数,spearman
斯皮尔曼相关性系数,通常也叫斯皮尔曼秩相关系数。“秩”,可以理解成就是一种顺序或者排序,那么它就是根据原始数据的排序位置进行求解,这种表征形式就没有了求皮尔森相关性系数时那些限制。
计算公式:
首先对两个变量(X, Y)的数据进行排序,然后记下排序以后的位置(X’, Y’),(X’, Y’)的值就称为秩次,di表示秩次差,n表示数据的个数。
- 简单理解为计算原数据在新排序中所处的排列位置的差值,
- 不会出现皮尔森相关系数中分母为0而无法计算的情况,
- 由于异常值的秩次不会有明显的变化,所以对斯皮尔曼相关系数的影响也比较小
3.肯德尔相关性系数,kendall
也是一种秩相关系数,计算的对象是分类变量,
代码实现
DataFrame对象corr()方法的用法,该方法用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数、Kendall Tau相关系数和spearman秩相关)。
DataFrame.corr(method='pearson', min_periods=1)
参数说明: method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
- pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性数据便会有误差。
- kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据。
- spearman:非线性的,非正太分析的数据的相关系数
热力图绘制
seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt='.2g', annotkws=None, linewidths=0, linecolor='white', cbar=True, cbarkws=None, cbar_ax=None, square=False, ax=None, xticklabels=True, yticklabels=True, mask=None, **kwargs)
参数讲解:
data:矩阵数据集,可以使numpy的数组(array),如果是pandas的dataframe,则df的index/column信息会分别对应到heatmap的columns和rows
cmap,热力图颜色。cmap=“YlGnBu”:数字越大,颜色越深,cmap=“YlGnBu_r”:数字越大,颜色越浅
cbar : 是否画一个颜色条
cbar_kws : 颜色条的参数,关键字同 fig.colorbar,可以参考:matplotlib自定义colorbar颜色条-以及matplotlib中的内置色条。
(1)先用sns.set(font_scale)修改字体比例:
sns.set(font_scale=1.5)
(2)再用plt.rc对全图字体进行统一修改:
plt.rc(‘font’,family=‘Times New Roman’,size=12)
设置大小
plt.figure(figsize=(10,6))
多重共线性:
解决方法:
添加正则化,如果添加一个L1正则项,算法称为套索回归,如果添加一个L2正则化项,称为脊回归,
参考链接:
https://blog.csdn.net/t15600624671/article/details/77247822?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-77247822-blog-82533358.pc_relevant_multi_platform_whitelistv1&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-77247822-blog-82533358.pc_relevant_multi_platform_whitelistv1&utm_relevant_index=1
https://blog.csdn.net/ztf312/article/details/102474190
边栏推荐
猜你喜欢
The common problems in laptops, continuously updated
使用cpolar远程连接群晖NAS(创建临时链接)
【报错记录】解决华擎J3455-ITX不插显示器无法开机的问题
史上最小白之《Word2vec》详解
相伴成长,彼此成就 用友U9 cloud做好制造业数智化升级的同路人
Demand side power load forecasting (Matlab code implementation)
自启服务mock联调跨域问题
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
3D printed this DuPont cable management artifact, and the desktop is no longer messy
壁纸
随机推荐
面试官:MySQL 中 update 更新,数据与原数据相同时会执行吗?大部分人答不上来!
unix系统编程 第十五章 15.2管道
shell脚本实战(第2版)/人民邮电出版社 脚本2 验证输入:仅限字母和数字
通过Doc在MySQL数据库中建表
[Halcon&几何] 直线的垂线与延长线的计算
浅析JWT安全问题
mongodb学习笔记
收到人生第一笔五位数工资
函数组件和类组件和dva视图更新问题
关于页面初始化
xmms已经发布到v1.3了,好久没写博客了
京东物流与五菱将开发联名版定制产品
对话跨国消费品牌DPO:数据安全合规从何做起?8.11直播见!
【原创】VMware Workstation实现Openwrt软路由功能,非ESXI,内容非常详细!
多行省略和选择器
深度学习--生成对抗网络(Generative Adversarial Nets)
Redis cache update strategy actively
Received your first five-figure salary
VBA实战(11) - 工作表(Sheet) 操作汇总
Dialogue with the DPO of a multinational consumer brand: How to start with data security compliance?See you on 8.11 Live!