零代码+回归直线斜率,分析数据波动

文/王孟晓 邹居宸 冯宏伟

编辑/麦壁瑜

背景介绍

  1. 什么是数据波动

在生产生活过程中,我们经常会遇到同一件事情随着时间这一变量的变动而发生改变,以销量为例,某店铺连续的四个月销售额分别为89.39万,84.42万,82.78万,84.44万。

从这组数据可以得出什么样的结论呢?该店铺销量不稳定,但是只得到一个“不稳定”的结论显然是不够有说服力的。接下来我们来探讨如何量化这种不稳定的波动,从而得到更有效的信息。

  1. 线性回归

在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。

线性回归是回归分析中第一种经过严格研究并在实际应用中广泛使用的类型。这是因为线性依赖于其未知参数的模型比非线性依赖于其未知参数的模型更容易拟合,而且产生的估计的统计特性也更容易确定。

一条趋势线代表着时间序列数据的长期走势。它告诉我们一组特定数据(如GDP、石油价格和股票价格)是否在一段时期内增长或下降。虽然我们可以用肉眼观察数据点在坐标系的位置大体画出趋势线,更恰当的方法是利用线性回归计算出趋势线的位置和斜率。

接下来我们从斜率入手,看一看零代码如何实现线性回归的计算。

系统实现

回归直线斜率的计算公式

基于线性回归的定义,此处x为该销售额对应的月份,y为销售额。我们需要在明道中运算的基本内容有:每月销售额的平均值、月份的平均值、每月销售额减平均值、月份减月份的平均值。

拆解运算过程,使用公式和汇总字段

根据上述计算公式,我们需要设计好能进行计算的系统架构。我们将月销量存在每月销量表单当中,对于数据的分析采用另一张分析表来计算,将月销量表和数据分析表建立双向关联,首先运用汇总字段求出销量总额的平均值和月份的平均值两项。

图.利用汇总字段计算平均值

随后利用他表字段(存储数据)将平均值同步回月销量表当中。

图.他表字段存储数据

在月销量表中用公式字段计算出分子上的两项数值减去平均值,再利用一个公式字段求出两个结果的乘积。

图.运用公式得到分子乘积

这样就得到了分子上的数值,接下来要做的是求和。这个时候再次在数据分析表上运用汇总字段,对月销量表中的分子乘积进行求和。

图.计算分子的最终结果

分母同理,在月销量表上用公式字段计算月份数值减去平均值后的平方值,之后在数据分析表上使用汇总字段,这样又得到了分母的最终值。

图.计算分母的最终结果

接下来只要再用一个公式让分子/分母,我们就得到了这组数据对应的线性回归直线斜率。

图.最终计算出线性回归的斜率
解除局限,使用代码块直接运算

拆解步骤由于汇总字段的限制,面对数据量较大的情况可能无法处理,并且配置较为复杂,所以我们此处提供一种进阶方式供极客使用。获取到各月的销量封装到数组,之后将数组输入到接下来的这个代码块当中,代码块会自动计算出该组数据的斜率。

var score=JSON.parse(input.score);
var arrlen=score.length;

var sumX=0;
var sumY=0;
var averageX=0;
var averageY=0;
for (var i=0;i<arrlen;i++)
{
  sumX=sumX+i+1;
  sumY=sumY+score[i];
}
averageX=sumX/arrlen;
averageY=sumY/arrlen;

var sigmaX=0;
var sigmaY=0;

for (var i=0;i<arrlen;i++)
{
 var n=(i+1-averageX)*(score[i]-averageY);
 sigmaX=sigmaX+n;
 
 var m=(i+1-averageX)**2;
 sigmaY=sigmaY+m;
}

var slope=sigmaX/sigmaY;
output = {X:averageX,Y:averageY,sigmaX:sigmaX,sigmaY:sigmaY,slope:slope};

总结与思考

斜率的计算只是线性回归分析的第一步,但也是非常重要的一步,之后对于回归线的构建,数据的分析都离不来这最初的一步。

利用斜率和标准差的组合,可以计算出波动值,波动比例,变异系数等数据波动的量化值,也可以计算出数据走向趋势的预测值。通过这些明确的数值可以分析出企业最近的运行状况,及时发现数据中隐含的价值与风险。

图.一组通过明道云控件运算分析出的数据

零代码从诞生之初起就被质疑无法实现复杂的场景,但是笔者认为大部分的复杂场景都可以被拆解为几个场景的组合。看似无法下手的斜率计算在经过拆解之后可以清晰的梳理成分步的运算过程,利用基本组件的拼装实现。

此外,零代码和代码在明道云上实现了殊途同归,我们也为开发者提供高效的代码处理模式,真正让开发工具和能力得到了充分的利用。

关于明道云

明道云是一个创新的超级应用平台,可以帮助用户零代码构建企业应用,用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据。明道云还具备超自动化引擎,可以全面自动化复杂和重复的业务流程。运用明道云的集成中心与完整的API对接能力,用户可以轻松地将明道云与外部系统集成。除此之外,明道云超级应用平台还具备很高的可组合性,国际化支持,并支持云原生架构,实现了多云部署能力。通过插件架构,明道云正在逐步建立起繁荣的实施与开发生态。

明道云可以帮助企业大大节省软件费用、降低定制开发的成本和时间,拥有一个极度灵活和易用的数字化平台,是企业数字化建设的重要工具。目前已有上百万用户使用,付费企业超过4000家,包括可口可乐、复星集团、中国移动、中国联通、中国电信、中铁集团、北京地铁、佛山铁路、华夏银行、民生银行、迪卡侬、艾默生电气、泰科电子、四川航空、东方证券、万豪酒店、洲际酒店等知名客户。

2021年5月,明道云获得海纳亚洲近亿元投资。公司目前有超过130名员工,产品研发团队过半,总部位于上海漕河泾开发区,在北京、广州、深圳、成都、郑州、武汉、西安和宁波设有分支机构。公司为高新技术企业,上海市专新特精认定企业。