掌握这个DAX函数,Power BI相关性分析其实很简单

360影视 日韩动漫 2025-06-04 04:33 3

摘要:前面介绍了如何利用PowerBI进行相关性分析,如果你还没有看过这篇文章,请先点击下面的链接查看:

前面介绍了如何利用PowerBI进行相关性分析,如果你还没有看过这篇文章,请先点击下面的链接查看:

有专门的DAX函数,Power BI如何进行相关性分析?

在这篇文章是用的常规DAX函数来计算的相关系数,里面说到没有专门的DAX函数,其实不太准确,还是有个函数可以直接计算相关系数的。

这个函数就是LINESTX,它是2023年推出的,关于它的基本用法,前面介绍回归分析时已经介绍过:Power BI如何搞定回归分析?原来还有这个强大的DAX函数

LINESTX返回的表,是按最小二乘法进行回归分析的各种信息,除了斜率和截距,还包括其他指标,具体来说,这个表包含有以下统计信息:

SlopeN :斜率,每个自变量一个

Intercept:截距

StandardErrorSlopeN:斜率标准误差,每个自变量一个

StandardErrorIntercept:截距标准误差

CoefficientOfDetermination:决定系数

StandardError:标准误差

FStatistic:F统计量

DegreesOfFreedom:自由度

RegressionSumOfSquares:回归平方和

ResidualSumOfSquares:残差平方和

如果有统计学背景,对这些指标应该都不陌生,如果没有相关背景,也不用刻意去记,需要用到的时候去搜索一下相关知识了解即可。

其中CoefficientOfDetermination,也就是决定系数,就是我们之前计算的相关系数(Correlation Coefficient)的平方,只需要从LINESTX返回的表中提取这个指标,开平方根,就可以得到相关系数。

仍以前面文章中的数据为例,LINESTX返回的表如下:

这里面就是最小二乘法回归分析的各种统计指标,其中CoefficientOfDetermination的值为0.7651,它就是相关系数的平方,我们可以直接写度量值提取决定系数并进行开方,来得到相关系数:

相关系数 =

SQRT(

SELECTCOLUMNS(

LINESTX('表','表'[利润额],'表'[营销费用]),

"决定系数",[CoefficientOfDetermination]

)

)

这个度量值的逻辑与前面我们介绍回归分析时,计算斜率和截距的思路一样,只是多了个开方运算,这里不再重复介绍。它的计算结果与之前用常规DAX函数的结果完全一致:

不过如果相关系数是负数,按上面的写法,结果就不正确了;以下面这个数据为例,来说明它为什么会计算错误,以及如果修正。

利用前面介绍的常规函数法以及快速度量值法,可以很容易计算出营销费用和利润额的相关系数是-0.9415,但是如果用前面的LINESTX函数法,计算结果却是0.9415:

数字是相同的,但是却为正数,负相关变成了正相关,这是怎么回事呢?

上面的逻辑是对决定系数开平方根来计算相关系数,其实平方根是有正负两个结果的,我们只取了正数值,没有取负数值。

那么既然有正负两个结果,如何知道相关系数应该取正数还是负数呢?

这里就要用到LINESTX计算结果中另一个指标了,斜率。

如果斜率为正数,就是正相关,相关系数取决定系数平方根的正值;如果斜率是负数,就是负相关,相关系数取决定系数平方根的负值;

相关系数 =

SQRT(

SELECTCOLUMNS(

LINESTX('表','表'[利润额],'表'[营销费用]),

"决定系数",[CoefficientOfDetermination]

)

)

*

SIGN(

SELECTCOLUMNS(

"斜率",[slope1]

)

)

关于斜率的计算,前面我们介绍回归分析的时候也已经介绍过,也是利用LINESTX计算出斜率,然后通过SIGN函数来获取斜率的正负符号(正数返回1,负数返回-1),再乘以决定系数的平方根,就可以精准的计算出相关系数了。

至此,关于PowerBI计算相关系数的各种方法都已分享,如果你还想学习PowerBI回归分析,请参考这些文章:

Power BI如何搞定简单线性回归分析?

用Power BI做多元线性回归分析,只需这一个函数!

利用这个Power BI 自定义图表,人人都可以做回归分析

来源:峻熙教育

相关推荐