摘要:前面介绍了如何利用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 自定义图表,人人都可以做回归分析
来源:峻熙教育