龙空技术网

Power BI如何搞定回归分析?原来还有这个强大的DAX函数

PowerBI星球 158

前言:

而今看官们对“回归分析有几种方法”都比较着重,兄弟们都想要学习一些“回归分析有几种方法”的相关资讯。那么小编在网摘上收集了一些对于“回归分析有几种方法””的相关资讯,希望大家能喜欢,同学们快快来学习一下吧!

回归分析是统计分析中常用的分析方法,主要用于研究变量之间的关系,帮助我们深入挖掘数据背后的逻辑,并将这种关系用于预测或决策。

常用的回归分析有简单线性回归、多元线性回归和非线性回归等,在本文中,我们来看看如何利用 Power BI实现简单线性回归分析。

简单线性回归研究的是一个自变量 X 和一个因变量 Y之间的关系,其数学模型为:

在这个模型中,斜率和截距的最优解公式为:

仍以前面介绍相关性分析的数据为例,以营销费用为自变量,利润为因变量,通过线性回归分析来确定营销费用和利润之间的关系,并以此来预测利润。

通过上面的公式,我们依然可以通过常规的DAX函数来计算斜率和截距,度量值如下:

斜率 =

VAR avg_x=AVERAGE('表'[营销费用])

VAR avg_y=AVERAGE('表'[利润额])

RETURN

DIVIDE(

SUMX('表', ('表'[营销费用] -avg_x)*('表'[利润额]-avg_y)),

SUMX('表', POWER('表'[营销费用] -avg_x,2))

)

截距 = AVERAGE('表'[利润额])-[斜率]*AVERAGE('表'[营销费用])

结果分别为:

这样我们就得到了营销费用和利润之间的线性逻辑关系:

利润=1.9563*营销费用-19.09

通过这个公式,其他因素不变的情况下,当营销费用投入为100万时,预计利润可达到176.54万元。

也可以建立参数作为营销费用,来实现不同营销费用的利润动态预测分析。

以上是用常规DAX函数来进行的简单回归分析,其实对于线性回归分析,还有个专门的DAX函数来实现,它就是LINESTX。

LINESTX 是DAX中一个功能强大的统计函数,下面先看看 LINESTX 函数的功能和基本用法。

LINESTX 基本语法:

LINESTX(

Table, //用于执行回归分析的表

Expression_Y, //因变量表达式

Expression_X, //自变量表达式

)

其中自变量表达式可以有多个,用于多元线性回归分析。

它返回的是一个表,计算线性回归的回归系数,包括斜率和截距,以及其他相关统计信息。

以上面的数据为例来看看用LINESTX是怎么使用的。

可以利用这个函数新建表:

回归分析表 = LINESTX('表','表'[利润额],'表'[营销费用])

它返回的数据如下:

它返回只有一行的表,包括各种统计信息,其中前两列就是斜率和截距,从上表可以看出,它与我们前面用常规函数计算的结果一致。

LINESTX返回的是一张表,可以通过它先建好表,然后再提取相关列的信息作为度量值。其实也不用这么麻烦,不通过计算表,仅通过度量值也可以实现。

用LINESTX计算简单线性回归的斜率和截距度量值如下:

斜率 =

SELECTCOLUMNS(

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

"斜率",[slope1]

)

截距 =

SELECTCOLUMNS(

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

"截距",[Intercept]

)

这两个度量值的逻辑是从LINESTX生成的表里提取相关指标列,因为LINESTX生成的表只有一行,提取该表的某一列,形成的只有一行一列的表可作为值使用,所以这里用SELECTCOLUMNS函数来建立度量值并不会报错。

另外需要注意的是,LINESTX还不完善,它生成的表的列还不支持智能感知,所以在上面的公式中需要手动输入[slope1]、[Intercept],无法自动带出来。

手动输入后,会出现波浪线提醒,不过这个提醒可以忽略,回车确认是可以正常计算出结果的:

以上就是PowerBI进行线性回归分析的两种做法,推荐使用LINESTX函数,利用它能够快速计算线性回归模型的相关参数,它也适合多自变量的线性回归,以后再接着介绍。

对于更复杂更高级的回归分析类型,比如非线性回归分析,仅仅用DAX实现就比较困难了,建议通过R/Python,或者利用专门的统计工具去完成。

PowerBI星球的最新版内容合辑,值得你收藏学习:

「链接」

.

标签: #回归分析有几种方法