前几天写了一篇直接在PowerBI里面使用度量值做一元回归的内容,虽然灵活性很高,但是实际中对一个结果影响的因素是很多的,还是使用多元回归的场景更多。而且我们借助统计分析包不仅可以计算出回归参数,还可以看看一些衡量模型的重要指标,比如R2/调整的R2,还可以通过置信区间的设置来求出预测区间。

我们这次的案例是有四个影响GMV值得因素,UV访客数、推广费用的投入、整体商品降价水平(优惠力度)和客服的服务评分,通过计算这四个因素的具体影响值来求出预测GMV,本次使用的是在PowerBI数据集的基础上调用R script来实现,下次再来用Python实现。数据和模型会放在最后供下载学习使用,数据如下↓

下面开始实现,首先在PowerQuery里面加载数据,加载的数据和我们原始数据内容一样,当然如果是订单明细数据,只需要进行一下按日期Group by就行了。

这就是我们需要处理的数据样式,就是表格,在R语言里面叫做数据框,然后我们需要在PowerQuery里面调用R语言脚本,在Transform菜单下面最后一列↓

点击后就会出现R语言脚本的编辑器,这里就不介绍R语言如何实现多元线性回归模型的了,我记得之前R语言的集合里面有详细介绍《R语言_018回归》,有兴趣的可以翻去看看。主要就是使用lm拟合多个参数,然后我们这里再把拟合的结果求出来就行了,代码也很简单,如下↓
fit <- lm(gmv ~ uv + promotion_exp + price_diff + service_score,
data=dataset)
df<- data.frame(coef(fit))
names(df)[names(df)=="coef.fit."] <- "coefficients"
df['variables'] <- row.names(df)
再多说一句,不管是调用R语言还是Python,不管PowerQuery里面当前的流程是怎么命名的,在脚本编辑器里面的数据集都是用dataset命名的。最后运行结果如下↓