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

目录

一、定义

二、目的

三、方法

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.rhkb.cn/news/320445.html

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

相关文章

重写muduo之EPollPoller

1、EPollPoller.h EPollPoller的主要实现:作为poller的派生类,把基类给派生类保留的这些纯虚函数的接口实现出来。 override表示在派生类里面,这些方法是覆盖方法。必须由编译器来保证在基类里面一定有这些函数的接口的声明。在派生类要重写…

动态库和静态库

动态库与静态库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式,可以被操作…

灌溉机器人 状压dp

灌溉机器人 题目描述 农田灌溉是一项十分费体力的农活,特别是大型的农田。小明想为农民伯伯们减轻农作负担,最近在研究一款高科技——灌溉机器人。它可以在远程电脑控制下,给农田里的作物进行灌溉。 现在有一片 N 行 M 列的农田。农田的土…

[Java EE] 多线程(八):CAS问题与JUC包

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (90平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀Java …

8个细节决定你的活动策划推广成败-华媒舍

活动策划和推广对于一个成功的活动来说至关重要。许多因素会影响活动的成功与否,以下我将介绍8个关键细节,这些细节能够决定活动的策划与推广的成败。 1. 目标定位 活动策划必须明确目标。你需要确定你的活动是为了推广何种产品或服务,吸引什…

简述前后端分离架构案例

Hello , 这里是小恒不会java 。今晚1点写写关于RESTful接口的使用案例,本文会通过django原生js前后端分离的案例简单讲解。本文带你认识一下简化版的前后端分离架构 代码 本文案例代码在GitHub上 https://github.com/lmliheng/fontend前后端分离 先说说什么是前后…

rust将json字符串直接转为map对象或者hashmap对象

有些时候我们还真的不清楚返回的json数据里面到底有哪些数据,数据类型是什么等,这个时候就可以使用批处理的方式将json字符串转为一个对象,然后通过这个对象的get方法来获取json里面的数据。 pub async fn test_json(&self) {let json_st…

『项目整理』易CAR通项目说明文档-我的第一款APP

『项目整理』易CAR通项目说明文档-我的第一款APP 项目介绍功能介绍技术栈介绍实现效果如何运行备注 项目介绍 易CAR通项目是我的第一个Android项目。是一款结合了AR技术的模仿懂车帝的看车软件。因为是初学,所示实现的效果差强人意,很多的功能界面只实现…

【论文阅读】Learning Texture Transformer Network for Image Super-Resolution

Learning Texture Transformer Network for Image Super-Resolution 论文地址Abstract1. 简介2.相关工作2.1单图像超分辨率2.2 Reference-based Image Super-Resolution 3. 方法3.1. Texture TransformerLearnable Texture Extractor 可学习的纹理提取器。Relevance Embedding.…

nginxconfig.io项目nginx可视化配置--搭建-视频

项目地址 https://github.com/digitalocean/nginxconfig.io搭建视频 nginxconfig.io搭建 nginxconfig.io搭建 展示效果 找到这个项目需要的docker镜像,有项目需要的node的版本 docker pull node:20-alpine运行这个node容器,在主机中挂载一个文件夹到容器中 主机&a…

MATLAB 变换

MATLAB 变换(Transforms) MATLAB提供了用于处理诸如Laplace和Fourier变换之类的变换的命令。转换在科学和工程中用作简化分析和从另一个角度查看数据的工具。 例如,傅立叶变换允许我们将表示为时间函数的信号转换为频率函数。拉普拉斯变换使…

微搭低代码入门03页面管理

目录 1 创建页面2 页面布局3 页面跳转总结 上一篇我们介绍了应用的基本操作,掌握了应用的概念后接着我们需要掌握页面的常见操作。 1 创建页面 打开应用的编辑器,在顶部导航条点击创建页面图标 在创建页面的时候可以从空白新建,也可以使用模…

screen

sLinux:screen命令——命令行的窗口操作_screen命令关闭窗口-CSDN博客文章浏览阅读4.2k次。功能:管理命令行终端切换的软件,常用于远程连接Linux过程中,同时使用多个命令行窗口。在窗口运行中的程序,记住窗口名字前面的…

nodejs实战——搭建websocket服务器

本博客主要介绍websocket服务器库安装,并举了一个简单服务器例子。 服务器端使用websocket需要安装nodejs websocket。 cd 工程目录 # 此刻我们需要执行命令: sudo npm init上述命令创建package.json文件,系统会提示相关配置。 我们也可以使…

一款开源的原神工具箱,专为现代化 Windows 平台设计,旨在改善桌面端玩家的游戏体验

Snap.Hutao 胡桃工具箱是一款以 MIT 协议开源的原神工具箱,专为现代化 Windows 平台设计,旨在改善桌面端玩家的游戏体验。通过将既有的官方资源与开发团队设计的全新功能相结合,提供了一套完整且实用的工具集,且无需依赖任何移动设…

im即时通讯源码/仿微信app源码+php即时通讯源码带红包+客服+禁言等系统php+uniapp开发

即时通讯(IM)系统是现代互联网应用中不可或缺的一部分,它允许用户进行实时的文本、语音、视频交流。随着技术的发展,IM系统的功能越来越丰富,如红包、客服、禁言等。本文将探讨如何使用PHP语言开发一个功能完备的即时通讯系统,包括…

如何让 PDF 书签从杂乱无序整洁到明丽清新

1、拉取书签(详细步骤看文末扩展阅读) 原状态 —— 杂乱无序 自动整理后的状态 —— 错落有致,但摩肩接踵 2、开始整理 全选自动整理后的书签,剪切 访问中英混排排版优化 - 油条工具箱 https://utils.fun/cn-en 1 粘贴 → 2 …

Linux下安装snaphu

1、官网下载安装包 2、解压,移动文件夹到/usr/local/下 3、在/usr/local/下创建man,在man下创建man1文件夹 4、进入到snaphu的src文件夹里,执行sudo make,如果报错 在这个 Makefile 中,-arch x86_64 是 macOS 特定的…

最近惊爆谷歌裁员

Python团队还没解散完,谷歌又对Flutter、Dart动手了。 什么原因呢,猜测啊。 谷歌裁员Python的具体原因可能是因为公司在进行技术栈的调整和优化。Python作为一种脚本语言,在某些情况下可能无法提供足够的性能或者扩展性,尤其是在…

[Unity常见小问题]打包ios后无法修改模型透明度

问题 在Editor下可以使用如下代码去修改模型的材质的透明度,但是打包ios后无法对透明度进行修改且没有任何warning和error using System.Collections; using System.Collections.Generic; using UnityEngine;public class NewBehaviourScript : MonoBehaviour {[R…