楼主: 时光永痕
1886 0

[数据挖掘新闻] 预测线性模型的局限性 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)八级

6%

威望
0
论坛币
26 个
通用积分
57.2238
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34180 点
帖子
2732
精华
0
在线时间
321 小时
注册时间
2020-7-21
最后登录
2024-8-1

楼主
时光永痕 学生认证  发表于 2022-5-7 16:26:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在这篇文章中,我将演示如何使用非线性模型进行时间序列分析,并与线性模型进行对比。我将使用(模拟的)噪声和非线性时间序列的销售数据,使用多元线性回归和小型神经网络来拟合训练数据,然后预测 90 天。我在 R 中实现了所有这些,尽管它可以在许多编码环境中完成。(具体来说,我在 Windows 10 的 RStudio 1.1.183 中使用了 R 3.4.2)。


值得注意的是,文献和贸易媒体中关于神经网络的大部分内容都涉及分类问题。分类意味着给定一组输入有有限数量的正确答案。在图像识别中,神经网络很好地服务于图像识别,分类将包括狗/非狗。这是一个简单的示例,此类方法可以预测大量类别,例如使用机器视觉读取邮件上的地址并自动分类以进行投递。在这篇文章中,我正在探索产生连续输出而不是有限数量的离散输出的模型。神经网络等方法非常适用于连续预测。

预测线性模型的局限性

另一点需要注意的是,有许多经验方法可用于时间序列分析。例如,ARIMA(自回归综合移动平均)和相关方法使用时间滞后数据的组合来预测未来。通常这些方法用于相对短期的预测。在这篇文章中,我想在模型中使用商业知识和数据来预测未来的销售。我的观点是,随着时间的推移,此类模型更有可能表现良好,并且可以通过添加或删除被认为新重要或不重要的因素来适应业务变化。

使用 lm() 函数可在基础 R 中使用线性回归方法。对于神经网络,我使用了由卡尔斯鲁厄大学的 Martin Riedmiller 和 Heinrich Braun 出版的 RPROP 算法。RPROP 是神经网络建模的一种有用变体,在某些形式下,它会自动找到合适的学习率。  

出于我的目的,我主要使用算法的 rprop+ 版本,由 Stefan Fritsch 和 Frauke Guenther 以及贡献者 Marc Suling 和 Sebastian M. Mueller 很好地实现。该实现可作为库和源代码使用。rprop+ 似乎很有弹性,因为它很容易收敛而无需大量的超参数调整。这对我的观点很重要,即非线性建模的实现不一定比线性模型更难。

这些数据是销售数据的模拟时间序列,在季度和较小的时期内出现峰值,以及长期变化。每天大约有 3 ¼ 年的数据,我想测试使用前 3 年作为训练数据的潜力,然后预测未来 90 天。商业案例是相信有多种因素会影响销售,一些是我们业务内部的,一些是外部的。我们有一组 8 个因素,其中一个是过去的销售额,其余是市场因素(如 GDP、经济活动等)和内部数据(如销售渠道、销售激励计划、新产品介绍 (NPI) , ETC。)。过去的销售以一年为阶段使用,通过注意到有年度商业周期来得出。(笔记:有许多更严格的方法来确定相位;我将在另一篇文章中解决这个问题。)这些因素在下文中被标记为 a、c、f、g、h、i、j 和 k。销售值标记为 Y。然后,对于每个模型,提供 8 个因素的 1210 个每日值,加上实际销售结果,并构建尽可能拟合历史数据的模型。

线性回归

使用 R 中的 lm() 函数,我将线性模型拟合到数据中。线性意味着每个因素都乘以一个系数(由拟合过程确定),然后将它们简单地加在一起以估计最终的销售额。方程如下所示:

Y = C1*a + C2*c + C3*f + C4*g + C5*h + C6*I + C7*j + C8*k + C0

其中,如前所述,Y 是销售额。请注意,C0 是一个常数值,也由回归建模确定。一旦我有了这样的模型,就可以通过简单地将因子的一个实例乘以系数并求和来预测销售额来预测销售额。为了预测未来的销售,需要因子的值。如果这些因素与销售相比没有时间滞后,则需要对 GDP 或未来 NPI 计划进行预测。根据具体情况,所有因素都可能是时间滞后值,并且可以根据已知数据预测未来的销售额。在某些情况下,需要对某些因素进行预测。这些细节对于这里的评估并不重要。

神经网络测试

作为第一步,我将使用一个简单的神经网络,它有 8 个输入节点(每个因素一个)加上“偏差”节点(偏差节点的动机是了解单个单元的行为,也称为感知器。包含偏差允许单个感知器模拟整个范围的逻辑运算符(如 AND、OR、XOR 等),因此通常包含在网络架构中)。这 9 个节点被馈送到 3 个节点的单个隐藏层,这些节点与偏置节点一起被馈送到输出节点。

神经网络表示可以(至少)通过两种方式对非线性行为进行建模。首先,给定层的每个节点都连接到下一层的每个节点。这些连接在馈入下一个节点之前乘以权重,其中权重在建模过程中确定。这些交叉连接可以模拟线性模型不能模拟的因素之间的相互作用。此外,典型的神经网络节点使用非线性函数来确定节点输入的节点输出。这些函数通常称为激活函数,是有机神经元行为的另一个参考。常见的激活函数是 sigmoid 或逻辑函数。

      相关帖子DA内容精选
  • 大厂数据分析面试指南!来自亚马逊、谷歌、微软、头条、美团的面试问题!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:线性模型 局限性

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 05:47