时间序列分解|学习笔记

简介: 快速学习时间序列分解

开发者学堂课程【场景实践 - 基于阿里云PAI机器学习平台使用时间序列分解模型预测商品销量时间序列分解】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/523/detail/7068


时间序列分解


内容介绍:

一、时间序列分解模型

二、乘法模型分解步骤

三、乘法模型预测


一、时间序列分解模型

时间序列Xt可以表示为五个因素的函数 Xt=f(U,Tt,St,Ct,R),这些参数按照顺序分别代表了序列的平均值、长期趋势、季节变动、循环变动和不规则变动。

其中U代表了序列的平均值时间序列分解的方法有很多,较常用的模型有加法模型和乘法模型,这两个模型分别适用于不同情形

1.加法模型

Xt=U+Tt+St+Ct+Rt 适用于四个因素对现象的发展的影响是相互独立的,每个元素都以绝对量表示。

2.乘法模型

Xt=U×Tt×St×Ct×Rt 适用于四个因素对现象的发展的影响是相互作用的,以序列的平均值作为绝对量,其余成分都以比例表示。

大多数的情况下都采用乘法模型,预测更准确。


二、乘法模型分解步骤

Xt=U×Tt×St×Ct×Rt

1.步骤1-移除平均值 U

第一步计算序列的平均值 U,然后将序列中所有个体的值除以 U 来移平均值:Yt=-XU/t

创建了一个值在1左右的新序列Y,如果序列的平均值U的绝对值<0.0000001一小数点后面6个零,就不用进行除法运算。

2.步骤2 -计算移动平均值M

这一步计算Yt的L步移动平均,其中L是季节变动S的周期长度(例如季度序列 L=4,具体到月份,季节变动的周期L=12 )根据业务需要的不同,季节变动的周期长度L是可以变化的。举例来说,如果数据是聚合到季度的序列,那么数据的季节变动周期为4(L=4)。

如果数据是聚合到月度的序列,那么数据的变动周期为12(L=12)。

根据业务需要的聚合程度不同,移动平均的L步长是变化的。一般来说,颗粒的粒度比较细的时候,比如把每天的数据聚合到周,那么L=52,这个时候就可能出现比较多的缺失值,会造成预测的一些误差。

好处就是预测的密度比较细,可以一周一周进行预测。

相反如果聚合的力度高一点,比如到月的时候(L=12),缺失值出现的概率会小很多,但是预测力度也比较粗了,只能一个月一个月的预测,有时候每四周预测一次也就是28天,那么这个时候L应该等于52/4,即13,而不是按月聚合的12。

由于移动平均算的是一年的平均值 ,季节性因素被移除:

Mt=1Li=1LYt−i

41Y4+Y3+Y2+Y1

3.步骤3 -计算长期趋势T

这一步根据移动平均 Mt ,计算该序列的长期趋势 Tt 对移动平均Mt进行线性回归: Mt = a+b×t + et (其中a是截距, b是斜率, et 是线性拟合的残差)

上述等式的线性部分用于定义长期趋势: Tt = a+b×t,这一步得到长期趋势的系数a和b,作为预测时T的系数。

4.步骤4-计算循环变动C

循环变动等于移动平均M.除以长期趋势 Ct=Mt/Tt

之前说过预测的时候循环变动 C 的值可以根据商业的知识手动输入,可以输入一个固定的值,在实验中计算C序列之后,会使它的平均值作为预测使用 C 值。 

5.步骤5-计算季节变动

季节变动K等于Y序列除以移动平均 Mt:Kt=Yt/Mt(注意,K序列是由季节变动和随机变动组成的)

为了计算季节变动S,取时间t所属“季节”的K序列平均值:St=Kt例:共3年数据且L=12,t=1的时候,S1是第一年1月份季节变动等于将所有年份月份的K值加起来取算术平均值。S2K。t1是第一年2月份季节变动。等于将所有年份2月份的K值加起来取算术平均值。

同理类推,S13的值应该与 S1的值相等,因为算法是一样的。季节变动的定义就是每一年的相同月份的值应该是相同的。S1=(K1+K13+K25)/3,S2=(K2+K14+K26)/3....S13=(K1+K13+K25)/3,S14=(K2+K14+K26)/3,...

6.步骤6-计算不规则变动将K序列除以S序列:Rt=KStt,预测的时候假设R值是1。


三、乘法模型预测

1、生成预测

一旦时间序列分解完成,就可以很容易地生成预测:Xt=U×Tt×St×

Ct×Rt 长期趋势 Tt

K=a+bxt 季节变动St=循环变动是手动输入的

t(St=t−L),相同季节的S值相等。

Ct(或取训练集Ct的平均值)

不规则变动Rt则设为S1

相关文章
|
XML 应用服务中间件 数据格式
windows下Tomcat8.0解压版安装并配置环境变量
windows下Tomcat8.0解压版安装并配置环境变量
1740 0
|
网络协议 容灾 Java
【游戏】服务器性能测试(四) 简单压测工具理论篇
做了一个简单的压测交互关系,对服务器压测需要大量的“真实”用户,每个用户都是独立与服务器进行协议通信。首先压测工具需要有网络模块的支持,目前大部分的游戏网络通信是基于TCP协议的,也有一些是基于UDP协议的。其次同时需要支持这么多用户运行,就需要考虑多线程模块。最后就是压测所需的并发控制与事务统计等功能。 1. 网络编程 压测的用户数会需要很多,少则三五千,多则上万。图1的用户与socket比例为1:1可以看出,创建socket的对象数量也会很大,而实际压测中很多情况下用户与socket比例可能会更高。
1748 0
【游戏】服务器性能测试(四) 简单压测工具理论篇
|
9月前
|
SQL 数据可视化 大数据
Dataphin数据血缘:实现全面追溯,保障流转透明
数据血缘揭示数据从源头到应用的全链路流转关系,助力企业厘清数据来源、影响范围与质量问题根源。Dataphin通过自动采集、手动配置和OpenAPI注册三类方式构建全面的数据血缘,支持可视化展示与用于质量问题溯源,实现数据可查、可信、可管,推动高质量数据治理。
1057 1
|
算法 安全
算法备案申请流程
本文介绍了互联网信息服务算法备案申请流程,涵盖主体信息、算法信息及产品或服务信息的填报步骤。访问备案系统官网(https://beian.cac.gov.cn)登录填报,适用于深度合成服务提供者和技术支持者。流程包括填写主体信息、算法基础与详细属性、关联产品功能或填写技术服务方式,最后确认信息并提交备案申请。
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
837 4
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
UED 开发者
鸿蒙next版开发:ArkTS组件通用属性(图片边框设置)
在HarmonyOS 5.0中,ArkTS提供了灵活的图片边框设置属性,使开发者可以为应用中的图片组件添加各种边框效果,提升视觉效果和用户体验。本文详细解读了ArkTS中图片边框设置的通用属性,并提供了示例代码。通过设置`borderImage`属性,可以控制边框的图源、切割宽度、边框宽度、延伸距离、平铺模式和是否填充。示例代码展示了如何使用这些属性来创建具有不同边框效果的图片组件。图片边框设置在美化界面、区分内容和增强交互方面有重要作用。
745 5
|
人工智能 自然语言处理 小程序
【AI】Gemini:听说GPT-4你小子挺厉害
谷歌推出新AI模型Gemini Pro,支持中文并具备多模态处理能力,涵盖文本、图像、音频、视频和代码。本文通过五个问题对比Gemini Pro与ChatGPT-4的表现,包括绘画、数学题解答、成语解释、天气查询及奥运冠军名单。结果显示两者各有优势,Gemini Pro在成语解释和天气查询方面略胜一筹,而ChatGPT-4在绘画方面表现更好
418 0
【AI】Gemini:听说GPT-4你小子挺厉害
|
数据可视化 vr&ar Python
时间序列分析技巧(二):ARIMA模型建模步骤总结
时间序列分析技巧(二):ARIMA模型建模步骤总结
|
Python
Python 进度条 tqdm模块
Python 进度条 tqdm模块
362 0

热门文章

最新文章