(数据分析方法)长期趋势分析

目录

一、定义

二、目的

三、方法

1、移动平均法

(1)、简单移动平均法

(2)、加权移动平均法

(3)、指数平滑法

2、最小二乘法

3、线性回归

1、数据预处理

2、观察数据分布建立假设模型

3、定义损失函数

4、批量梯度下降

5、优化

4、LSTM 时序分析

5、特征工程


一、定义

长期趋势是指在相当长的时期内,社会现象表现为持续不断地向上增长或向下降低的趋势。表现为向上发展趋势的,如工农业产品的产量、商品流转额等。表现为向下发展趋势的如成本不断降低等。还有若干数列在相当长的时期内并无明显升降趋势,可称之谓水平趋势。在一个长时间的动态致列中,往往存在着受不同因家影响的几种变动,如受某种根本性原因所决定的长期变动趋势和一年内季节因家影响的季节变动,以及其他变动。对动态数列进行统计分析的一项重要任务,就是要分别测定这些变动。

二、目的

在统计分析中,研究长期趋势的主要目的是:

  1. 测定社会现象向上成长或向下降低的趋势,确定其发展方向和发展速度。这对正确认识客观事物发展的规律性,对于指导国民经济发展和企业的生产、经营活动具有重要意义;

  2. 测定长期趋势.有助于进行经济预测。

三、方法

时间序列的数值变化往往交杂四种变动形态,让数值变化在二维坐 标上的变动显得异常杂乱无序,无规律可循。长期趋势对数值变化的影 响是持续的,过程中可能会有小波动,但是从长期总体来看,趋势稳 定,而其他三种波动形式从长期来看是有升有降,波动对称。长期趋势 分析的方法有很多,下面介绍两种最常用的方法:移动平均法和最小二 乘法,其中最小二乘法也被称为回归方程法。

1、移动平均法

移动平均法的实质是通过对时间序列数值进行移动平均,将原来杂 乱无序的时间序列进行修匀,从而消除带有波动对称性质的季节变动、 循环变动和不规则变动对时间序列数值产生的影响。移动平均法又可以 分为简单移动平均、加权移动平均和指数平滑三种形式。

(1)、简单移动平均法

简单移动平均的基本过程如下:首先,确定进行移动平均的项数 k,即每次计算平均值时所包含的时间序列的数值个数;其次,从时间 序列的第一个数值开始,每计算一次平均值向后移动一项;最后,将计 算出来的移动平均值与时间对应排列,编制成一个新的时间序列。观测 新时间序列的数值变化情况,可以得到原始时间序列的长期趋势情况。

生活案例:使用移动平均法预测玩具公司的销售量 表4-21是利用某玩具公司近10年销售数据制作的三项简单移动平均表。

从表4-21可以看出,该公司销售量的时间序列从整体上说是稳步提 升的,但在个别年份也出现销售量比上一年下降的情况,例如2014年和 2016年,这很可能是由于公司不可控的外界经济环境等因素造成的结 果。为了消除这些不可控因素对销售量的影响,反映公司的真实运营水 平,可以采用移动平均法分析公司的长期销售趋势。从表4-21可知,移 动平均后得到的新时间序列的数值没有上下起伏波动的情况,反映该公 司10年来销售量持续增长的趋势。

一般来说,移动平均项越多,修匀的作用就越大,曲线就越平滑,反之作用越小,得到的曲线平滑度较差。如果数列中有自然周期,就该以周期的长度或者倍数作为移动平均项数,如果没有的话,一般使用奇数为好。如果采用偶数项移动平均,则新计算出来的时序平均数无和原动态数列一一对应,还需要进行一次二项移动平均,用以调整趋势值,保持和原数列对应。

(2)、加权移动平均法

简单移动平均在求取平均值时,原始时间序列中每个指标数值的权 重都相同,表示每个原始时间序列数值对新时间序列数值的影响程度是 一致的,然而,现实却并不是如此简单,经常出现影响程度不同的情 况。例如,某些国际传统大公司在过去异常风光,但随着互联网行业的 发展,公司的运营逐渐举步维艰。此时,如果继续用简单移动平均法预 测来年的运营情况,那就可能得到误导性的结果,因为早期的数据已经 不能很好地反映公司目前的运营情况了。加权移动平均法可以解决不同 时期指标数值对新时间序列数值影响程度不同的问题,因为加权移动平 均法可以为每个原始时间序列的指标数值赋予不同的权重,从而使不同 数值对新时间序列数值有不同的影响。

生活案例:使用加权移动平均法预测玩具公司的销售量 继续使用玩具公司的销售数据做加权移动平均。这里采用的是三项 加权移动平均法,因为在大多数情况下,越近的销售数据拥有越大的权 重,而越远的销售数据的权重应该越低,所以我们设定第三年销售数值 的权数为第一年销售数值权重的3倍,第二年的数值权重为第一年的2 倍,计算结果如表4-22所示。

应用上述两种移动平均法进行时间序列趋势分析时,需要注意以下 几点。

  1. 移动平均法只适用于具有线性长期趋势的时间序列。移动平均 的作用就是消除周期变动、循环变动和不规则变动的数值影响,这些变 动属于有升有降的变动类型。然而,如果根本原因引起的长期趋势就是 有升有降,那么移动平均也将消除根本原因形成的长期趋势,所以移动平均法只适用于具有线性长期趋势的时间序列。

  2. 利用移动平均法进行长期趋势分析时要有足够多的数据,否则 不能如实反映研究对象固有的长期变化趋势。足够多的数据是进行长期 趋势分析的前提条件。

得到新的时间序列后,可以用回归分析计算新的时间序列方程,再利用回归方程对未来进行预测。新时间序列是消除其他变动的、 能够很好反映长期趋势的数值。所以,利用新的回归序列得到的回归方 程能够很好地预测根本原因引起的数值变化。

(3)、指数平滑法

指数平滑法是加权移动平均的一种特殊形式。加权移动平均法为每 项时间序列数值都设置了相应的权重,而指数平滑法则只需设置一个权 重(平滑系数)即可,其他数值的权重可以根据公式自动推算出来。指 数平滑的数学模型为:

比如,第5期的预测值:

生活案例:使用指数平滑法预测玩具公司的销售量 继续以玩具公司的销售数据为例介绍指数平滑法的计算过程。设定 平滑系数α=0.7,即较近的数值权重较大,计算结果如表4-24所示。

指数平滑法的计算中,关键是α的取值大小,但α的取值又容易受主观影响,因此合理确定α的取值方法十分重要,一般来说,如果数据波动较大,α值应取大一些,可以增加近期数据对预测结果的影响。如果数据波动平稳,α值应取小一些。理论界一般认为有以下方法可供选择:

经验判断法。这种方法主要依赖于时间序列的发展趋势和预测者的经验做出判断。

1、当时间序列呈现较稳定的水平趋势时,应选较小的α值,一般可在0.05~0.20之间取值;

2、当时间序列有波动,但长期趋势变化不大时,可选稍大的α值,常在0.1~0.4之间取值;

3、当时间序列波动很大,长期趋势变化幅度较大,呈现明显且迅速的上升或下降趋势时,宜选择较大的α值,如可在0.6~0.8间选值,以使预测模型灵敏度高些,能迅速跟上数据的变化;

4、当时间序列数据是上升(或下降)的发展趋势类型,α应取较大的值,在0.6~1之间。

试算法。根据具体时间序列情况,参照经验判断法,来大致确定额定的取值范围,然后取几个α值进行试算,比较不同α值下的预测标准误差,选取预测标准误差最小的α。

在实际应用中预测者应结合对预测对象的变化规律做出定性判断且计算预测误差,并要考虑到预测灵敏度和预测精度是相互矛盾的,必须给予二者一定的考虑,采用折中的α值。

2、最小二乘法

在时间序列分析中,利用最小二乘法确定指 标数值(因变量)关于时间(自变量)变化的曲线是时间序列分析的重 要手段,称为回归方程法。前面提到移动平均法只适用于线性的长期趋 势分析,即指标数值从长期看,表现为持续上升、平稳或下降趋势,对 于表现为非线性的长期趋势,移动平均法就无能为力了,这决定了移动 平均法的适用范围不广。回归方程法则不同,因为回归模型千变万化, 既有常用的线性回归模型,也有常用的非线性回归模型,最重要的是, 能够根据实际的数据情况,在已有模型的基础上建立新的回归模型(数 据建模),模拟实际数据变化的趋势,这也决定了回归方程法的应用前 景。

回归方程法既可以用于时间序列的线性长期趋势分析,也可以用于非线性长期趋势分析。线性长期趋势分析的过程与前面介绍的一元线性 回归分析的过程相同。区别在于一元线性回归分析的自变量与因变量可 以是任意属性的数据,而线性长期趋势分析的自变量必定是时间变量。 线性长期趋势分析之所以能够消除其他三种变动(季节变动、循环变动 和不规则变动)的影响,展现根本原因引起的长期变化趋势,在于其利 用了最小二乘法,得到估计误差最小的线性回归方程。由于现行长期趋 势分析与一元线性回归分析的过程相同,这里就不再赘述。

非线性长期趋势分析与线性长期趋势相比,研究对象在根本原因的 作用下,指标数值随时间变化表现出非线性趋势的情况更为普遍,同 时,非线性的表现形式也更为复杂多样。在过去几十年里,数据分析者 建立了很多时间序列预测模型,对线性长期趋势的现象具有很好的分析 效果,但是由于社会经济系统的复杂性,非线性趋势预测逐渐成为预测 领域的研究热点。例如,股价波动的长期趋势就是典型的非线性趋势, 本质原因包括金融市场的正反馈机制、投资者的异质性与相互影响是引 发市场复杂行为的重要途径;非线性趋势分析是股价波动的重要分析手 段。在现实生活中,还有大量现象的长期变化趋势表现为非线性趋势, 常用的非线性模型有二次曲线、三次曲线、复合曲线、增长曲线、指数 曲线、对数曲线、S曲线、幂曲线、逆函数和逻辑函数等。

回归方程法进行长期趋势分析有三个基本步骤。

  1. 利用散点图,初步判断时间序列的长期趋势。

  2. 执行曲线回归分析。

  3. 根据选择的曲线函数以及计算得到的回归系数,写出最终的回 归方程。

下面我们以指数曲线为例说明利用回归方程法进行长期趋势分析的 过程。 指数曲线函数的一般形式为:

为了方便计算,指数曲线可以转换为对数直线形式:

用最小二乘法估计参数a和b(根据预计和真实数据之间的距离求a和b的偏导函数,使其为0),得到下面的方程组:

解方程组,可得回归参数a和b的对数值。为了简化计算过程,可以 将时间序列的中点作为零点(∑x=0),简化后的方程组为:

解方程组,得到下面的结论:

根据回归参数a和b的对数值得到回归参数a和b的值,最终获得指数 回归方程。

生活案例:使用回归方程法预测创业公司的销售额

在“大众创业,万众创新”的号召下,越来越多的年轻人在毕业后选 择自主创业。小王在毕业后选择和同寝室的五个好朋友一起创业。他们立足于自己熟悉的大学城区域从事快餐生产、销售及配送服务,同时结 合自身所学的软件专业,实现了线上和线下的立体销售模式。在短短的 9 个月时间里,月销售额快速上升(数据如表 4-26 所示)。虽然目前的 设备和人力还能够满足顾客的需求,但是团队还是有扩大生产规模的打 算。为了规避投资风险,小王打算对未来的销售额发展趋势做出预测, 以此判断是否投资以及投资的额度。

案例分析:如果经营模式正确,切合市场需要,公司成立初期一般 为快速发展时期,这是由经营模式等根本原因决定的,因此适合使用长 期趋势分析方法得到回归方程并对未来趋势进行预测。

首先,制作时间和月销售额的散点图,观察散点图分布形态,如图 4-13所示。

从散点图及线性趋势线的拟合情况来看,两者的拟合结果不是很 好,估计误差比较大。从第三个点到第五个点有一个从增速减慢到加快 的趋势,可以尝试用指数曲线进行拟合。 其次,计算指数函数系数得到指数回归方程,如表4-27所示。

将上述结果代入回归系数的计算公式中:

最终的指数回归方程为:

加入拟合曲线的散点图(见图4-14)。

回归方程的判定系数如下:

结合散点图和判定系数可知,得到的指数回归方程与销售额的拟合 效果很好。可以利用该指数回归方程预测销售额。

3、线性回归

1、数据预处理

我们对连续数值的特征做标准化(standardization):设该特征在整个数据集上的均值为 𝜇μ,标准差为 𝜎σ。那么,我们可以将该特征的每个值先减去 𝜇μ 再除以 𝜎σ得到标准化后的每个特征值。对于缺失的特征值,我们将其替换成该特征的均值。

接下来将离散数值转成指示特征。举个例子,假设特征 MSZoning 里面有两个不同的离散值 RL 和 RM,那么这一步转换将去掉 MSZoning 特征,并新加两个特征 MSZoning_RL 和 MSZoning_RM,其值为 0 或 1。如果一个样本原来在 MSZoning 里的值为 RL,那么有 MSZoning_RL=1 且 MSZoning_RM=0。

2、观察数据分布建立假设模型

h𝜃(𝑥) = 𝜃0 + 𝜃1𝑥1 + 𝜃2𝑥2+. . . +𝜃𝑛𝑥𝑛

3、定义损失函数

4、批量梯度下降

如此循环直到收敛,得到最终权重参数,并且用这组参数去预测未来

5、优化

  1. 根据数据集的大小,合理选择梯度下降算法,batch-gradient-descent, stochastic-gradient-descent, mini-batch-stochastic

  2. 采用一些梯度下降优化算法,Adam, Adagrad, momentum, rmsprop等

4、LSTM 时序分析

5、特征工程

特征工程是将原始数据转化为特征,更好表示预测模型处理的实际问题,提升对于未知数据的准确性。它是用目标问题所在的特定领域知识或者自动化的方法来生成、提取、删减或者组合变化得到特征。 

数据特征会直接影响你使用的预测模型和实现的预测结果。准备和选择的特征越好,则实现的结果越好。

影响预测结果好坏的因素:模型的选择、可用的数据、特征的提取。

优质的特征往往描述了数据的固有结构。

大多数模型都可以通过数据中良好的结构很好的学习,即使不是最优的模型,优质的特征也可以得到不错的效果。优质特征的灵活性可以让你使用简单的模型运算的更快,更容易理解,更容易维护。

优质的特征可以在使用不是最优的模型参数的情况下得到不错的预测结果,这样你就不必费力去选择最适合的模型和最优的参数了。

参考:

  1. 《人人都会数据分析——从生活实例学统计》 一书作者谢运恩、李安富,电子工业出版社2017年12月出版

  2. 《统计学原理与应用》一书作者迟艳芹,清华大学出版社2005年9月出版

  3. "机器学习中,有哪些特征选择的工程方法" 一 知乎作者城东 机器学习中,有哪些特征选择的工程方法? - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/671164.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式事务了解吗?你们是如何解决分布式事务问题的?(文末有福利)

目录 一、面试官心理分析 二、面试题剖析 1.XA 方案(两阶段提交方案) 2.TCC 方案 3.Saga方案 4.本地消息表 5.可靠消息最终一致性方案 6.最大努力通知方案 7.你们公司是如何处理分布式事务的? 福利放送: 一、面试官心理分析 只要聊…

cmake进阶:文件操作之读文件

一. 简介 cmake 提供了 file() 命令可对文件进行一系列操作,譬如读写文件、删除文件、文件重命名、拷贝文件、创建目录等等。 接下来 学习这个功能强大的 file() 命令。 前一篇文章学习了 CMakeLists.txt语法中写文件操作。文章如下: cmake进阶&…

[极客大挑战 2019]PHP

1.通过目录扫描找到它的备份文件,这里的备份文件是它的源码。 2.源码当中涉及到的关键点就是魔术函数以及序列化与反序列化。 我们提交的select参数会被进行反序列化,我们要构造符合输出flag条件的序列化数据。 但是,这里要注意的就是我们提…

【数据结构与算法】之五道链表进阶面试题详解!

目录 1、链表的回文结构 2、相交链表 3、随机链表的复制 4、环形链表 5、环形链表(||) 6、完结散花 个人主页:秋风起,再归来~ 数据结构与算法 个人格言:悟已往之不谏,知…

本地运行AI大模型简单示例

一、引言 大模型LLM英文全称是Large Language Model,是指包含超大规模参数(通常在十亿个以上)的神经网络模型。2022年11月底,人工智能对话聊天机器人ChatGPT一经推出,人们利用ChatGPT这样的大模型帮助解决很多事情&am…

ubuntu中的docker记录(3)——如何安装nvidia-docker以更好地支持GPU加速计算应用程序的运行

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、nvidia-docker2的安装1. 安装docker2. 安装nvidia-docker2(1) 添加密钥(2) 更新软件列表(3) 安装nvidia-docker2(4) 测试nvidia-docker2 二、可能的报错及解…

springboot版本升级,及解决springsecurity漏洞问题

背景: 项目中要解决 Spring Security RegexRequestMatcher 认证绕过漏洞(CVE-2022-22978) 漏洞问题,并且需要将项目的版本整体升级到boot版本2.1.7,升级改造过程非常的痛苦,一方面对整个框架的代码不是很熟…

【云原生】Pod 的生命周期(一)

【云原生】Pod 的生命周期(一)【云原生】Pod 的生命周期(二) Pod 的生命周期(一) 1.Pod 生命期2.Pod 阶段3.容器状态3.1 Waiting (等待)3.2 Running(运行中)3…

《第一行代码》第二版学习笔记(8)——网络技术

文章目录 一、Http1、HttpURLConnection2、OKHttp 二、解析JSON格式数据1、使用JSONObject2、使用GSON解析JSON数据 一、Http 1、HttpURLConnection public void run() {HttpURLConnection connection null;BufferedReader reader null;try {URL url new URL("http://…

LangChain框架学习总结

目录 一、简介 二、概念 三、组件具体介绍 3.1 Models 3.1.1 LLMs 3.1.2 Chat Models 3.1.3 Text Embedding Modesl 3.1.4 总结 3.2 Prompts 3.2.1 LLM Prompt Template 3.2.1.1 自定义PromptTemplate 3.2.1.2 partial PromptTemplate 3.2.1.3 序列化PromptTemplat…

24.5.5(离散化+树状数组,线段树)

星期一: dp题单 背包 第四题 混可乐 cf传送门 思路:条件可演化为每种可乐值为 ai-n,选最少的可乐使总和为0(具体可看官方题解 到这会发现背包并不适合了,其实这是道bfs伪装的背包…

Unity3D DOTween

简单介绍一下 DOTween 插件的使用。 导入插件 先到 Asset Store 获取 DOTween 插件,然后在 Package Manager 的 My Assets 中搜索,下载并导入插件。 导入后,会自动弹出一个窗口,提示需要先对插件进行配置。 点击上图中的按钮&am…