时间序列 R 读书笔记 04 Forecasting: principles and practice

本文介绍了时间序列预测的基础概念,包括事件可预言性的决定因素、常用预测模型类型、预测工具箱的使用方法,以及如何评估预测精度等内容。
AI助手已提取文章相关产品:

本章开始学习《Forecasting: principles and practice》

1 getting started

1.1 事件的可预言性

一个时间能不能被预言主要取决于以下三点
1. 对事件的影响因素的了解程度,比如彩票号码,没有内在的影响因素不能被预测
2. 可用数据量的多少,数据量太少没法预测
3. 预测结果本身的影响,比如预测汇率,可能大家知道预测的会长,那么人们就会采取相应的措施使预测结果不准。

1.2 常用预测模型

  1. 解释性模型,如其模型内包含其影响因素,通过影响因素来预测属于
  2. 时间序列,其模型只用时间来预测
  3. 综合模型,即考虑时间也考虑影响因素,不同学科有不同的名字,如,dynamic regression models, panel data models, longitudinal models, transfer function models, and linear system models (assuming ff is linear)

2 工具箱使用

2.1 自相关

使用散点图,画出YtYtk的散点图可以看出两者之间的线性关系,自相关系数即能表明他们之间是否有线性关系。
下图是啤酒销量的自相关关系
这里写图片描述
他们的自相关系数计算公式是:
这里写图片描述
计算结果是:
这里写图片描述
可以看出在4,8处有较好的正相关,与图相符合
在使用时经常使用ACF来表达,下面是R语言做的图

Acf(beer2)

这里写图片描述
没有自相关性的就是白噪声,他的ACF如下图

set.seed(30)
x <- ts(rnorm(50))
plot(x, main="White noise")
Acf(x)

这里写图片描述
如何通过ACF看是否是白噪声?
通常如果95%的数据的ACF在±2T就可以认为是白噪声,这里一共有50个数,ACF的边界是2/(50)^0.5=0.28,所以可以看做是白噪声

2.2 简单模型

  1. 平均值模型,直接使用平均值来作为预测值
  2. naive模型,直接使用最近的值作为预测
  3. 季节naive模型,直接使用最近的季节性数据来作为预测值
  4. 飘逸模型,使用历史的平均变化率做线性预测,公式如下:
    这里写图片描述
    这几种模型往往不是用来做预测,而是可以用来做预测基准,get√!
    代码如下:
1
meanf(y, h) 
# y contains the time series
# h is the forecast horizon
2
naive(y, h)
rwf(y, h) # Alternative
3
snaive(y, h)
4
rwf(y, h, drift=TRUE)

2.3 转换与调整

2.3.1 数学转化

该类转换一般时将数值的表达形式进行转换,比如转换为log,或者exp形式,文中介绍了一个比较好用的公式,函数为Box-cox
这里写图片描述
选择合适的λ来进行预测,预测之后再将结果转化回正常形式
下面是一个在λ不同时的图像
这里写图片描述
文中说 在λ=0.30时效果比较好
指数形式转化的特征:
1. 如果yt≤0, 不能进行指数转换,除非加一个常数,使其大于0
2. 转变通常对预测的作用不大,单会对预测区间有较大的影响

2.3.2 日期调整

例如,每月的牛奶需求,因为每个月天数不一样,预测精度可能会降低,如果改为每天的牛奶需求,预测结果会有改善
这里写图片描述

2.3.3 人口转换

比如有时候用总人口数为单位不如平均人口数的更具有解释性,比如中国人多钱多,但平均每人的前就不多了。

2.3.4 膨胀转换

在预测关于金融的事情的时候,由于货币膨胀率的不同,同样的数据可能会有不一样的意义。通常的做法是做如下转换

ynewt=ytcpibasecpit

cpi 是Consumer Price Index消费者物价指数

2.4 预测精度评估

2.4.1 评估模型

yi^表示预测值 yi表示观测值,设ei=yiyi^
则主要的评价指标有
1. 平均绝对误差MAE
2. 均方根误差RMSE
这里写图片描述
前两者仅用于比较数据规模相同的预测模型,后面可用于比较规模不同的模型
3. 平均绝对百分比误差MAPE,设pi=100ei/yi

Mean absolute percentage error: MAPE=mean(|pi|).

这里可以看出,如果y趋向于0就会有接近无穷大的数值,显然不合理,而且它对于负值的惩罚比对正值更大
4. 均衡平均绝对百分比误差sMAPE

sMAPE=mean(200|yiy^i|/(yi+y^i))
这种方法不好,就不在详细说了
5. 平均绝对比例误差 MASE mean absolute scaled error
qj=ej1T1t=2T|ytyt1|.
对于周期不为1的比如季节性数据可用下式
qj=ej1Tmt=m+1T|ytytm|.
对于普通数据
qj=ej1Ni=1N|yiy¯|.

整个误差公式为
MASE=mean(|qj|).

验证方法

要注意过拟的现象,所以要有测试集和交叉验证
测试集一般的比例为20%
交叉验证,时间序列交叉验证的方法为
1. 首先假设K个数值可以足够做好一个模型
2. 用K+i个做为验证,前K+i1个作为训练集
3. 用前面的模型来评价准确率
4. 以上是用一个来计算的,大家可用类似的用一个特定的周期作为评价

2.5 残差诊断

残差检验模型

残差指的是ei=yiyi^ ,它有以下特性
1. 残差是不相关的
2. 残差的均值为0
3. 残差的方差为常数
4. 残差满足正态分布
后两者有时候可能不满足,但是如果前两者也不满足,可以用过调整改进算法,优化模型。但是不能完全依靠前两者评价模型的好坏。

自相关合成检验

ACF自相关检验只是看某一个的自相关,事实上如果进行很多次试验,如果有一个的ACF显示自相关程度很高,并不能充分的说明有自相关性,所以这里讲多个滞后期的ACF联合来看
Portmanteau tests for autocorrelation
主要讲了两种方法
1. Box-Pierce 方法

Q=Tk=1hr2k,
h是最大滞后期数 (lag)但是不宜取太大,如果是没有季节性的建议取10,季节性的取2*季节周期m,另外如果这样取的h大于T/5,(T指样本数),那么就取T/5
2. Ljung-Box
Q=T(T+2)k=1h(Tk)1r2k.

这两种方法如何评价自相关性呢,
Q和Q*都满足自由度为(h-k)的χ2分布,k是参数的数量,于对源数据k=0 naive model没有参数,也取0

2.6 预测区间

通常我们预测的数值并不是一个单独的数值,而是一个区间,在置信度95%的区间中,预测值为

y^t±1.96σ^
σ^为预测值的标准差,通常时候如果模型中没有参数它等于残差的标准差,如果有参数,预测标准差会偏大些,但不会大太多
  • 预测区间一般会随着预测时间的增长而增大,但是有些非线性方法并不会这样
    拓展阅读
    Maindonald, J. and H. Braun (2010). Data analysis and graphics using R: an example-based approach. 3rd ed. Cambridge, UK: Cambridge University Press.

您可能感兴趣的与本文相关内容

内容概要:本文系统研究了离散时间线性系统中基于共识的分布式滤波器的稳定性与最优性问题,深入探讨了KF(卡尔曼滤波)、DKF(分布式卡尔曼滤波)、SMDKF(基于平方根的最大熵分布式卡尔曼滤波)、CI(协方差交叉)、ICF(信息共识滤波)和HCMCI(基于高阶交叉协方差的信息融合)等多种滤波算法的理论基础、数学推导与实现机制。通过Matlab平台构建多传感器网络仿真环境,实现了各类算法在不同噪声统计特性和通信拓扑结构下的状态估计仿真,重点分析了各算法在估计精度、收敛速度、鲁棒性及一致性方面的性能差异,并对融合策略中的协方差传播、信息权重分配与共识迭代过程进行了细致对比,旨在为复杂环境下多智能体系统的分布式状态估计提供可复现的技术方案与理论支撑。; 适合人群:具备控制理论、信号处理、线性系统理论及Matlab编程基础的研究生、科研人员,以及从事多传感器融合、分布式估计算法开发、无人系统导航与智能电网监控等领域的工程技术人员。; 使用场景及目标:① 掌握主流分布式滤波算法的核心思想与数学建模方法;② 在多节点传感网络中实现高效可靠的状态估计;③ 对比分析不同共识融合策略在非理想通信条件下的性能表现;④ 支持学术论文复现、算法改进与工程化验证,服务于科研创新与系统优化设计。; 阅读建议:建议结合Matlab代码逐模块解析算法实现流程,重点关注状态预测、局部更新、信息融合与一致性达成的关键步骤;可通过调整系统噪声、观测噪声、网络连接拓扑等参数开展扩展性仿真实验,深入理解算法的稳定边界与最优性条件,进一步探索其在实际应用场景中的适应性与改进空间。
已经博主授权,源码转载自 https://pan.quark.cn/s/e56f7598bfa3 1. 第一阶段为实习的开端,属于初步适应时期。此阶段主要涉及对公司背景、产品特性及未来规划等方面的信息进行掌握。初到实习企业,工作节奏不同于学校的规律作息,而是实行朝八晚十的制度。我们无法仅通过浅显了解企业文化或学习新知即可满足,这次实习注定是忙碌的,同时也会是富有成效且促进成长的。抵达此处,我们必须摒弃大学时期的自由时间观念,勇于面对挑战,逐步建立良好的职业行为模式。由于多重因素考量,尽管事先进行了较为周全的预备工作,但实际操作中仍遭遇若干难题,例如学习周期长,实践任务繁重,而可支配时间有限,难以确保任务按时按质完成。工作日结束后,其他员工都已离岗,我仍留在现场进行练习,直至晚上九点方可返回住所。午餐时间也缺乏休憩场所,只能在电脑旁短暂小憩,经过一两周的持续工作,身体感到相当疲惫。然而,我们都清楚实习的目标与责任,坚持履行自己的职责与使命。在这一周内,主要完成了对工作环境的熟悉以及Java编程环境搭建的掌握。随着逐步适应,工作效率也随之提升,操作变得更加熟练。可以概括为几个关键词:广泛涉猎,积极提问,细致观察,深入思考! 第二阶段为实习的第二周,重点在于Java基础语法的掌握,旨在夯实基础,为后续开发工作奠定坚实基础。通过这一阶段的学习,才能在实际开发中游刃有余【Java实习周报通用25篇】详细记录了一位实习生在五周内的学习轨迹与成长,涵盖了从适应新环境、掌握基础语法到深入理解高级概念的全过程。在第一周,实习生主要完成了对公司的适应,认识到实习不仅是新知识的获取,更是对实际工作环境的适应与作息习惯的调整。此阶段,他们熟悉了工作环境并配置了Java编程环境,强调了“多看、...
内容概要:本文基于2026年对120家医疗医美机构的实测观察,分析AI引擎生成式优化在行业落地中的四类核心场景——机构资质合规、医师执业资质、项目信息公示和用户真实评价的采信特征。结果显示,大模型对具有官方背书和可验证性的资质类信息采信率显著更高,其中医师执业资质场景采信率达79.6%,居首位;而机构自宣性质的项目宣传类内容采信率仅为15.2%,处于低位。三类机构(公立医院科室、民营连锁、专科诊所)在信息场景分布上差异明显,信息结构与大模型采信偏好匹配度越高,整体采信率越高。文章进一步揭示了强监管属性、信息可验证性及用户检索行为是造成采信分层的三大底层逻辑,并指出当前行业普遍存在信息建设重心错位、场景完整度低等问题。; 适合人群:医疗医美行业从业者、机构管理者、数字营销负责人及关注AI在医疗领域应用的研究人员。; 使用场景及目标:①指导医美机构优化线上信息披露策略,提升AI引擎采信率;②帮助理解大模型在高风险行业中对信息可信度的判断机制;③为医疗健康类行业的AI内容建设提供实证参考; 阅读建议:本报告基于特定时间与样本的实测数据,阅读时需注意其地域、模型和时效局限性,建议结合本地监管环境和最新AI发展动态综合研判,并优先加强医师与机构资质类信息的公开透明化建设。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值