做网站后台数据库建设,公司网站经常打不开,视觉设计方案,万网阿里云域名查询源宝导读#xff1a;本文将讲解在大数据分析领域的线性回归统计计算方法#xff0c;以及如何将非线性转化为线性回归的原理#xff0c;同时介绍了两种的回归统计库的使用和对比#xff0c;最后介绍线性回归在DMP产品的应用实践。一、背景回归统计#xff0c;是数据分析常用… 源宝导读本文将讲解在大数据分析领域的线性回归统计计算方法以及如何将非线性转化为线性回归的原理同时介绍了两种的回归统计库的使用和对比最后介绍线性回归在DMP产品的应用实践。一、背景 回归统计是数据分析常用的方式可以通过对散点图的线性或非线性拟合得到一条可以解释散点趋势的曲线函数通过该函数可以对数据进行预测同时可以采用相关指标刻画该函数的回归的效果具有一定的现实指导意义。 一般的线性规划得到的是一条直线而基本的几种非线性回归则是通过转化为线性回归的方式来进行本篇通过讲解线性回归的计算方法以及如何将非线性转化为线性回归说明其原理同时介绍了两种的回归统计库的使用和对比最后通过实例演示了实现效果。本篇在 DMP 平台上实现了包含该功能的散点图组件。二、接到需求地点办公室。时间某个清晨。人物某产品经理小明久经考验的前端攻城狮。事件又又接到产品提出的奇怪需求——之前搞了PS现在 EXCEL 有的功能我们也要上作为大数据产品趋势线这种东西必须有啊移动平均除外其他的都得搞定。看到这个需求小明表示还是淡定吧…如下图所示三、需求分解图形由散点和趋势线构成均可按照 echarts 等图形库直接绘制控制面板使用一般的UI 控件均可实现关键在于线性、指数、对数、多项式和乘幂趋势线的算法实现。 搞清楚这几种回归分析算法的原理即搞定了这个需求。四、线性回归4.1、什么是回归 高中的数学课本知识告诉我们从一组样本数据出发确定变量之间的数学关系式对这些关系式的可信度进行各种统计检验并从影响某一特定变量的诸多变量中找出哪些变量的影响显著哪些不显著利用所求的关系式根据一个或几个变量的取值来预测或控制另一个特定变量的取值并给出这种预测或控制的精确程度。 以上便是回归的一般用法。4.2、回归的意义客观事物是相互联系的过去研究的大多数是因果关系但实际上更多存在的是一种非因果关系相关关系当一个或几个相互联系的变量取一定的数值时与之相对应的另一变量的值虽然不确定但它仍按某种规律在一定的范围内变化。变量间的这种相互关系称为具有不确定性的相关关系。回归分析是寻找相关关系中非确定性关系的某种确定性。4.3、回归的种类 按形式分类线性相关直线相关当相关关系的一个变量变动时另一个变量也相应地发生均等的变动。非线性相关曲线相关当相关关系的一个变量变动时另一个变量也相应地发生不均等的变动。 可以看到我们要实现的除了直线趋势线外其他的指数、对数、多项式和乘幂趋势线都是非线性相关。4.4、如何实现线性回归4.4.1、线性回归算法 最小二乘是最常用的实现线性回归的方法可以通过其找到因变量 y 与自变量 x 之间的函数关系yf(x)。 对于散点图可以将点的横坐标看做自变量 x 将纵坐标看做因变量 y 然后使用最小二乘法找到自变量和因变量之间的函数关系由这个函数关系可以确定一条直线这就是拟合出来的直线趋势线。4.4.2、几何意义 最小二乘法的直观上的理解是在二维平面上找到一条直线使得每个点到直线的竖直距离之和最小。也就是说一般最小二乘优化的是竖直距离即纵坐标 y 的误差。4.4.3、公式求解设线性回归方程为先求出变量 x 的平均值即再求出变量 y 的平均值即求出变量 x 的系数即 5. 求出常数即即可得到回归方程4.4.4、回归方程评价 主要有两个指标方差 ∂² 和 相关指数 R²。一般我们可以用相关指数 R² 来刻画回归的效果。R² 越趋向于 1则说明回归方程拟合的越好越趋向 0则说明拟合的越差。4.5、通过线性方法实现非线性回归 主要的思想是通过适当的变量代换把幂函数、指数函数、对数函数等采用适当的变量代换把问题转化为线性回归问题使其得到解决。如对指数回归 的求解方式如下1.在的两边取常用对数得到2.令则得到 即转化为线性方程按照线性方程进行求解可得到 a 和 b 的值带入公式可得到系数 C₁ 和 C₂从而得到指数回归五、regression-js及echarts-stat简介 实现回归统计在各个平台和语言都有不同的实现对于前端而言有两个现成的库可以直接使用就是regression-js 和 echarts-stat。5.1、regression-js官方介绍 regression-js 是一个JavaScript模块其中包含用于简单数据分析的线性最小二乘拟合方法的集合。 基本可以看作我们上面讲解内容的一个实现版本包含的内容也恰好覆盖其API如下Result 其求解的结果集直接提供了 相关指数 R² 并且提供了一个 predict 函数可以直接通过输入 x 获得预测值。5.2、echarts-stat官方介绍 ecStat是ECharts 的统计和数据挖掘工具。你可以把它当作一个工具库直接用来分析数据你也可以将其与 ECharts 结合使用用ECharts 可视化数据分析的结果。同时支持 Node 和浏览器中使用。ecStat 提供的 api 较多包含以下内容·直方图·聚类·回归·基本统计方法回归是 ecStat 提供的一类 api同 regression-js 提供的功能基本一致 与 regression-js 相比少了幂函数同时求解集也没有提供相关指数 R² 和 predict 预测函数。 比较适合仅需要图形渲染的场景对于预测和评价需要使用其提供的基本统计方法自行定义。六、实现演示 采用 regression-js 进行实现回归算法用 echarts 作图形渲染在 DMP 平台上制作了一个组件实现了线性、指数、对数、多项式和乘幂趋势线以及其 R² 和趋势预测如下图所示 具体可以在 DMP 测试环境使用设计器-更多-趋势线散点图DEMO 查看效果。(动图趋势线2.gif) 同时也在 echarts 社区的 gallery 制作了 regression-js 和 ecStat 的对比演示demo感兴趣的同学可以查看https://gallery.echartsjs.com/editor.html?cxV2Muphtnlv5。------ END ------作者简介王同学 研发工程师目前负责云创DMP数据分析平台的设计与开发工作。也许您还想看云客大数据架构实践云客大数据管理保障体系TypeScriptvue使用与迁移经验总结Web页面适配移动端方案研究前端异步对象的原理与使用方法