相关性分析(PowerBI、Excel)
off999 2025-04-26 20:25 56 浏览 0 评论
昨天介绍了相关性分析的原理、流程和常用的皮尔逊相关系数和斯皮尔曼相关系数,具体可以参考《数据分析-相关性分析》。昨天是使用R语言来进行案例演示的,今天使用常用的Excel和PowerBI来实现,后面再写一篇Python的就完整了。
【Excel相关性分析】
首先还是25个样本数据,理论上是要进行正态性检验的,但是Excel本身没有直接的正态性检验工具,但你可以使用第三方插件或外部统计软件,如R语言或Python,来进行正态性检验,具体的可以参考另外使用R和Python的内容。
首先是皮尔逊相关系数,这也是Excel里面默认的相关性计算方式。数据还是昨天的广告费用投入和销售额之间的相关性,按照流程,第一步先绘制散点图来观察两个变量之间是否具有相关性↓
从图形来看,广告费用投入和销售额之间有明显的正相关关系,接下来跳过正态性检验,直接在Excel里面计算相关性,使用CORREL函数就行了,我们的数据在B列和C列,公式里面就两列参数,如下↓
=CORREL(B2:B26,C2:C26)结果是0.9444,具有很强的正相关性。
在Excel里面,除了使用公式计算,还可以使用数据分析工具里面的相关性计算,结果也是一样的↓
这种使用数据分析工具可以多列同时进行计算,并且结果会以下三角矩阵的形式展示,还是挺方便的。
接下来是斯皮尔曼相关系数,在Excel里面没有直接计算的方式,需要先把需要计算的两列分别计算排名,然后对排名使用CORREL函数,结果就是斯皮尔曼相关系数。我们使用的数据是工作年份与工作满意度之间的相关性分析,数据如下↓
按照流程,首先画散点图看一下整体的趋势↓
可以看到大概是成负相关,然后计算两列的排名,使用rank函数↓
=RANK.AVG(B2,$B$2:$B$26,1)
=RANK.AVG(C2,$C$2:$C$26,1)最后对最后两列排名进行相关性计算,结果是-0.7513。如果直接使用皮尔森相关系数,结果是-0.7726,还是有一定的差异。
【PowerBI相关性分析】
PowerBI比Excel还要惨,连相关性计算函数都没有了。但是好在它灵活,我们可以根据相关系数的公式,自己来写相关系数的计算公式。
首先还是简单一点的皮尔森相关系数,它的计算公式如下↓
于是我们可以先计算X和Y列的均值,然后相减,相乘,开方,相除结果就出来了,数据还是我们最上面的数据,在PowerBI里面的DAX自定义公式如下↓
Pearson =
VAR MeanX = AVERAGE(Pearson[广告费用])
VAR MeanY = AVERAGE(Pearson[销售额])
VAR SumProduct = SUMX('Pearson', (Pearson[广告费用] - MeanX) * (Pearson[销售额] - MeanY))
VAR StdDevX = SQRT(SUMX('Pearson', POWER('Pearson'[广告费用] - MeanX, 2)))
VAR StdDevY = SQRT(SUMX('Pearson', POWER(Pearson[销售额] - MeanY, 2)))
RETURN
IF(StdDevX * StdDevY = 0, BLANK(), SumProduct / (StdDevX * StdDevY))结果和我们在Excel里面是一样的,然后在绘制一个散点图就完整了↓
接下来是在PowerBI里面求斯皮尔曼相关系数,还是和Excel里面的逻辑一样,先计算两列的排序,然后对排序进行相关性计算,排序的DAX如下↓
年份排名 =
RANKX(
ALL(Spearman),
'Spearman'[工作年份],,
ASC,
Skip
)
评分排名 =
RANKX(
ALL(Spearman),
'Spearman'[满意度评分],,
ASC,
Skip
)计算斯皮尔曼相关系数↓
Spearman =
VAR avg_year = AVERAGE(Spearman[年份排名])
VAR avg_score = AVERAGE(Spearman[评分排名])
VAR Numerator =
SUMX('Spearman',
('Spearman'[年份排名] - avg_year) * ('Spearman'[评分排名] - avg_score)
)
VAR Denominator =
SQRT(
SUMX('Spearman',
('Spearman'[年份排名] - avg_year) * ('Spearman'[年份排名] - avg_year)
) *
SUMX('Spearman',
('Spearman'[评分排名] - avg_score) * ('Spearman'[评分排名] - avg_score)
)
)
RETURN Numerator / Denominator结果也是正确的。
如果在PowerBI里面只是要可视化展示相关系数,可以直接加载第三方的可视化工具。里面不仅可以展示相关性,还可以展示一元线性回归的系数和R方值,还是挺好用的↓
End
相关推荐
- 电脑没音量是什么原因(电脑没音量是什么原因造成的)
-
电脑突然没有声音可能是由于以下原因:1.音量设置被关闭或静音;2.音频驱动程序出现问题或需要更新;3.音频设备连接问题,例如音频插头没有插好或者有问题;4.操作系统的声音设置出现问题。解决方法包括检查...
- 电脑蓝屏u盘装系统教程(电脑蓝屏系统u盘怎么装系统)
-
dell电脑蓝屏用U盘重装系统方法,1在需要重装的电脑上插入启动U盘,开机并不断按下U盘启动快捷键。2在进入系统启动菜单中选择带有USB字样的选项并回车。3进入系统引导选项界面,选择Windows1...
- 系统之家官网纯净版(系统之家首页)
-
我现在用的就是系统之家的win7,以前用的是系统之家纯净版的xp,纯净版的好处就是没有预装的软件,缺点就是有些东西要自己装,包括有些软件必须的东西。装个游戏又要装这个又要装那个的很麻烦,我现在都是安装...
- 声卡正常但是麦克风没有声音
-
1、检查声卡、连接线,以及音箱等设备是否连接正常;运行杀毒软件进行杀毒;2、右击“我的电脑”----“属性”---“硬件”----“设备管理器”,打开“声音、视频和游戏控制器”有无问题,即看前面有没有...
- coreldraw教程自学(coreldraw零基础教学视频)
-
1、CDR是矢量软件,国内印刷业和部分设计用的较多;2、基础入门操作:A、看你用在具体的哪个细分行业,如印刷排版方面、户外室内喷绘方面、图形设计方面、字体设计等等……输出的要求不一样,其他基本一样...
- cad2010序列号和密钥激活码免费
-
回答如下:不可以,CAD2010序列号和密钥是两个不同的概念。序列号是一个唯一的标识符,用于识别软件产品的副本。而密钥是一个加密字符串,用于验证软件副本的合法性。在安装CAD2010时,需要输入正确的...
- 笔记本电脑联想好还是惠普好
-
惠普和联想为全球名列前茅的电脑品牌,其中惠普为美国品牌,联想为中国品牌。联想作为一个后起之秀,当年通过收购thankpad品牌,走向全球。电脑中又分出多种风格的子品牌,有的注重游戏性能,有的注重轻薄商...
- 如何安装路由器步骤(安装路由器操作步骤)
-
路由器安装设置共分两个步骤,依次是”路由器与光猫“串联,“宽带账号写入路由器”即可,方法如下:?步骤一首先将路由器与光猫串联,用网线一端连接至“光猫”的LAN端口,另一端连接至“路由器”的WAN端口“...
- 86位系统是不是32位(86位和32位)
-
众所周知,同众多主打影音娱乐的系统不同,Windows从工业生产到金融消费、从个人应用到企业环境,应用领域极其广泛。以工业生产为例,嵌入式设备只需满足生产中特定的任务,并不追求过剩性能,故而现有绝大多...
- msdn官网下载系统u盘(msdn下载后要怎么做u盘启动盘)
-
1.打开MSDN网站并搜索您需要下载的系统。2.找到并单击“下载”按钮。3.如果系统有多个版本,请选择您需要的版本。4.选择“保存到磁盘”并单击“确定”按钮。5.将U盘插入计算机,并打开文件...
- 如何快速重装电脑系统(怎样快捷重装系统)
-
十年前的老电脑win7和XP还是可以一战的,那么接下来一起看看十年前的老电脑重装系统方法吧!如何选择win7还是XP系统:1、WindowsXP要求的最低配置为64MB内存,而硬盘剩余空间只需...
- 快用苹果助手官方下载iphone用
-
原因:1、可能是因为网络不稳定等情况导致下载的文件损坏缺失的情况,您可以尝试删除后重新下载安装;2、因设备可用空间不足而导致的安装失败:请检查您的手机空间是否充足,手机空间不足,也会导致软件下载安装失...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
使用 python-fire 快速构建 CLI_如何搭建python项目架构
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
