从零开始带你了解商业数据分析模型——线性回归模型实践演练

简介: 1. 如何在Altair KnowledgeStudio平台应用线性回归 1.1 为什么选择Altair KnowledgeStudio平台 绝大多数的数据分析项目都是遵照着CRISP-DM的行业标准流程 (详情可见:https://zhuanlan.zhihu.com/p/107757240)。

1. 如何在Altair KnowledgeStudio平台应用线性回归

1.1 为什么选择Altair KnowledgeStudio平台

绝大多数的数据分析项目都是遵照着CRISP-DM的行业标准流程 (详情可见:https://zhuanlan.zhihu.com/p/107757240)。
市面上常见的开源或商业数据分析软件大多需要从业人员掌握一定编程知识,且需要大量时间来编写代码并调试。这里需要强调的就是Altair KnowledgeStudio的强大之一在于无需编码,一切的操作都可以通过拖拽完成。下面我会用一个例子来展示如果使用Altair KnowledgeStudio来完成线性回归的建模操作。
这个例子从导入数据到最终模型预测大概需要10-15分钟的时间。操作简便,节约时间成本。 我们会用到的数据是一个有关鱼生长长度的数据集,其中包含了每条鱼的编号(index),年龄(age),生长水温(temp)和最终它的生长长度(length)。我们的目的是去研究鱼的长度与年龄和水温是否存在线性关系,以及存在怎样的的线性关系。

1.2 Altair KnowledgeStudio的线性回归

1.2.1 数据导入

数据在本地以Excel的格式存在,我们在Connect栏选择Excel Import 节点,并双击点开。

选择本地数据的所在路径,并为引入目标数据集命名。选择软件自动识别数据是否包含字节名称。设置好之后请点击next

选择需要导入的字节。在这里,我们知道鱼的编码与鱼的长度是无关的,因此我们可以将这一列数据排除。

点击Next,我们可以进一步确认每一个字节的数据类型,并且这里我们提供了预览该数据集的功能。

点击运行,我们就会看见一个绿色的,名为 fish的数据集自动生成了。

1.2.2 查看数据

双击fish数据集,我们可以看见在页面的最下方有很多不同的选项卡。它们涵盖了Altair KnowledgeStudio数据画像功能的重要部分。

比如说,在overview report 选项卡中,,点击calculate all,可计算出常见的统计指标。% of Missing Values可以选择每个字节的缺失值比例。如下图所示,三个字节均没有缺失值。

又比如,correlations选项卡中,可计算三个变量之间的相关系数,可以看一下age、temp与length的相关程度。便于后续选择模型。

如果您想了解更多选项卡的功能展示,请直接联系作者以获取更多资料。

1.2.3 异常值检验

因为线性回归模型对异常值极度敏感,极大异常值或极小异常值均会对模型造成不可预知的影响。检测数据是否存在异常值是建立每个线性回归模型的必须操作。
在Altair KnowledgeStudio中,我们可以通过Outlier Detector节点完成此操作。在Profile栏中拖出Outlier Detector, 并单机选中fish连线到Outlier Detector。

双击该功能节点,我们可以看见目标数据和设定结果数据名。这里大家可以看见,我们提供了多种计算距离的方法。根据不同的数据类型,和大家都这些检验方法的熟悉程度,大家可以自行选择不同算法。这里为了演示,我们接受默认算法。

点击下一步,选择我们需要检测的字节。

选好变量后,如果点击Next 再点击Run。同样的,这里会自动生成一个结果数据集。点开它,我们会发现,该数据中不存在异常值。

1.2.4 数据分箱

做预测分析时,我们通常会将数据集分成训练集和测试集。我们会用训练集来生成我们的模型结果,随后再用测试集来检测我们模型结果的好坏。
这里,我们可以通过Manipulate栏中的 Partition节点 将原数据集随机抽取70%的样本作为训练集,30%的样本作为测试集。
将fish数据集与partition相连,双击点开,点击add。可先添加训练集,完成后再次点击add,添加测试集。完成后点击run。会出现两个数据集。

分箱结果会如下图所示。

1.2.5 拟合线性回归模型

我们基于训练集拟合线性回归模型。在models栏中选择linear regression。将fish_train数据集与该模型相连。

并双击Linear Regression模型节点

在dependent variable中选择我们的被解释变量。红框的部分可以进行重要变量的选择,按照解释变量对被解释变量的影响程度进行选择,可以将对被解释变量影响不显著的变量剔除。而且用逐步选择也可一定程度上缓解多重共线。在independent variable中将解释变量选入,这里可以选择是否一定包含该变量。若没有,则会根据变量重要性选择。点击run。双击点开linear regression,可查看回归报告。
在output to view中选择currently selected sequence,可看模型最终拟合情况。读者也可在该栏中选择其他选项来看一下单变量的结果。
最终结果如下图

该表可以看出模型的拟合情况,其中Generalized R^2=0.855,F值为82.845,认为模型拟合程度较好,被解释变量的85.5%都可由这两个解释变量来解释。

这一张表是方差分析的表,同样可以看出结果还是不错的。

Independent Variable Statistics中表示的是解释变量的情况,其中Model Parameter表示的是其回归系数,后面是对变量是否显著进行的检验。其中P值均小于0.05,我们认为年龄和温度对鱼的长度是有显著影响的。

多重共线性检验:

Variance Inflation Factors是方差膨胀因子(VIF),VIF越大,显示共线性越严重。经验判断方法表明:当0这里年龄和温度的VIF均小于10,认为该模型不存在多重共线性。
最终模型结果为:

length=3472.564+28.135age-94.399temp

1.2.6 交叉验证

由于我们训练集只有41条数据。建模数据量的严重不足会出现模型过拟合问题。过拟合指的是被创建出来的模型,仅仅在训练数据中变现良好,如果用在未知数据上,结果可能会很差。
这个时候我们可以通过交叉验证看是否存在过拟合现象。交叉验证可以理解为:我们将原始数据复制成多个重复的样本,随后针对每一个样本做出分箱操作,建模并验证模型准确性。通过这个步骤,我们可以让原始数据里面的每个记录都有机会作为建立模型的数据,与此同时,我们可以让每个记录都有机会作为验证模型的数据。

在Evaluate模块中选择Cross Validation,将fish_train数据集和linear regression模型一起连过去,会发现该选项变蓝。双击点开。

这里K-Fold validation指的是我们准备复制多少次重复的样本,实施多少次类似的操作。这里我们选择默认值五次。随后点击Next。

这张表可以修改各字节的名字。这里我们选择不修改。点击Run

做完上述步骤后会出现一个html的report。双击点开。

从下面的结果图中,我们可以看到这五次验证的似然估计的均方误差(MSE)。发现每一次的MSE差别很大,说明之前模型拟合的不好,可能出现了过拟合现象。接下来我们可能需要重新回到数据本身和模型本身,去调整参数,去更正数据再次建立别的预测模型。

1.2.7 模型部署

假设我们已经找到了适合的模型,我们想要将模型结果落地,以供业务使用。Altair KnowledgeStudio主要提供了两种不同方案。

第一种是将模型的结果生成不同的代码。这些代码可以轻松的轻松的嵌入企业自身的IT系统中实现二次开发。我们可以从Action 模块中选择 Generate Code节点。
根据模型不同,企业自身的IT环境不同,我们可以最多从以下的代码中进行选择,常见的有Java,Python,SQL, PMML等。

第二种是,我们可以将新的数据导入到Altair KnowledgeStudio平台中,并利用建立好的模型进行新数据打分。同样的,我们可以从Action 模块中选择 Scoring节点。

在结果数据集中,我们可以找到对每一个记录的模型预测值,以及相应的预测原因。

2. 写在后面

目前暂定下一篇会写逻辑回归模型,如果大家对数据分析或者模型感兴趣,关于数据分析这一块大家还对什么内容感兴趣,欢迎在文后留言与我交流,也欢迎大家提出意见和建议。

相关文章
|
机器学习/深度学习 数据采集 数据挖掘
实战派教学:掌握Scikit-learn,轻松实现数据分析与机器学习模型优化!
【10月更文挑战第4天】Scikit-learn凭借高效、易用及全面性成为数据科学领域的首选工具,简化了数据预处理、模型训练与评估流程,并提供丰富算法库。本文通过实战教学,详细介绍Scikit-learn的基础入门、数据预处理、模型选择与训练、评估及调优等关键步骤,助你快速掌握并优化数据分析与机器学习模型。从环境搭建到参数调优,每一步都配有示例代码,便于理解和实践。
537 2
|
机器学习/深度学习 人工智能 自然语言处理
如何构建企业级数据智能体:Data Agent 开发实践
本篇将介绍DMS的一款数据分析智能体(Data Agent for Analytics )产品的技术思考和实践。Data Agent for Analytics 定位为一款企业级数据分析智能体, 基于Agentic AI 技术,帮助用户查数据、做分析、生成报告、深入洞察。
|
机器学习/深度学习 人工智能 自然语言处理
构建企业级数据分析助手:Data Agent 开发实践
本篇将介绍DMS的一款数据分析智能体(Data Agent for Analytics )产品的技术思考和实践。Data Agent for Analytics 定位为一款企业级数据分析智能体, 基于Agentic AI 技术,帮助用户查数据、做分析、生成报告、深入洞察。由于不同产品的演进路径,背景都不一样,所以只介绍最核心的部分,来深入剖析如何构建企业级数据分析助手:能力边界定义,技术内核,企业级能力。希望既能作为Data Agent for Analytics产品的技术核心介绍,也能作为读者的开发实践的参考。
2418 3
构建企业级数据分析助手:Data Agent 开发实践
|
10月前
|
供应链 监控 搜索推荐
35页PPT|零售行业自助数据分析方法论:指标体系构建平台集成、会员与商品精细化运营实践
在零售行业环境剧变的背景下,传统“人找货”模式正被“货找人”取代。消费者需求日益个性化,购买路径多元化,企业亟需构建统一的指标体系,借助BI平台实现数据驱动的精细化运营。本文从指标体系构建、平台集成到会员与商品运营实践,系统梳理零售经营分析的方法论,助力企业实现敏捷决策与业务闭环。
35页PPT|零售行业自助数据分析方法论:指标体系构建平台集成、会员与商品精细化运营实践
|
SQL 存储 缓存
基于 StarRocks + Iceberg,TRM Labs 构建 PB 级数据分析平台实践
从 BigQuery 到开放数据湖,区块链情报公司 TRM Labs 的数据平台演进实践
|
10月前
|
机器学习/深度学习 算法 数据挖掘
【数据分析】基于matlab私家车充电模型(含私家车日行驶距离概率密度及累加函数,电动汽车出发时间(或者称开始充电的时间)概率)(Matlab代码实现)
【数据分析】基于matlab私家车充电模型(含私家车日行驶距离概率密度及累加函数,电动汽车出发时间(或者称开始充电的时间)概率)(Matlab代码实现)
242 0
|
机器学习/深度学习 传感器 数据采集
基于机器学习的数据分析:PLC采集的生产数据预测设备故障模型
本文介绍如何利用Python和Scikit-learn构建基于PLC数据的设备故障预测模型。通过实时采集温度、振动、电流等参数,进行数据预处理和特征提取,选择合适的机器学习模型(如随机森林、XGBoost),并优化模型性能。文章还分享了边缘计算部署方案及常见问题排查,强调模型预测应结合定期维护,确保系统稳定运行。
1387 0
|
DataWorks 数据挖掘 大数据
方案实践测评 | DataWorks集成Hologres构建一站式高性能的OLAP数据分析
DataWorks在任务开发便捷性、任务运行速度、产品使用门槛等方面都表现出色。在数据处理场景方面仍有改进和扩展的空间,通过引入更多的智能技术、扩展数据源支持、优化任务调度和可视化功能以及提升团队协作效率,DataWorks将能够为企业提供更全面、更高效的数据处理解决方案。
|
运维 数据挖掘 网络安全
场景实践 | 基于Flink+Hologres搭建GitHub实时数据分析
基于Flink和Hologres构建的实时数仓方案在数据开发运维体验、成本与收益等方面均表现出色。同时,该产品还具有与其他产品联动组合的可能性,能够为企业提供更全面、更智能的数据处理和分析解决方案。
|
SQL 分布式计算 数据挖掘
加速数据分析:阿里云Hologres在实时数仓中的应用实践
【10月更文挑战第9天】随着大数据技术的发展,企业对于数据处理和分析的需求日益增长。特别是在面对海量数据时,如何快速、准确地进行数据查询和分析成为了关键问题。阿里云Hologres作为一个高性能的实时交互式分析服务,为解决这些问题提供了强大的支持。本文将深入探讨Hologres的特点及其在实时数仓中的应用,并通过具体的代码示例来展示其实际应用。
879 0