数模笔记-8-时间序列

本文详细介绍了时间序列分析中的确定性方法,包括移动平均法和指数平滑法。涉及模型构建、加权系数选择、初始值确定以及一次和二次指数平滑的实际应用实例。通过这些方法,理解如何预测并处理长期趋势、季节变动等序列模式。
摘要由CSDN通过智能技术生成


所谓时间序列,就是将预测对象按照时间的顺序排列起来,构成一个所谓的时间序列,从所构成的这一组时间序列过去的变化规律,推断出今后的变化的可能的趋势,变化规律,就是时间序列预测法。

确定性时间序列分析方法

一个时间序列往往是一下几种的变化形式的叠加或者耦合
(1)长期趋势变动。它是指时间序列朝着一定的方向持续上升或者下降,或者停留在一水平的倾向,反映了客观事物的主要变化趋势。Tt
(2)季节变动。St
(3)循环变动。周期为1年以上,非季节因素引起的涨落起伏波形相似的波动。Ct
(4)不规则变动。通常分为随机变动和突然变动。Rt

常用的确定时间序列模型的方法

(1)加法模型
yt = Tt + St + Ct + Rt
(2)乘法模型
yt = Tt · St · Ct · Rt
(3)混合模型
就是以上两种的模型的混合组合。
yt为观测目标的观测记录。E(Rt) = 0, Var(Rt) 较小。

移动平均法

在这里插入图片描述

例题

在这里插入图片描述
在这里插入图片描述

clc
clear
y = [533.8 574.6 606.9 649.8 705.1 772.0 816.4 892.7 963.9 1015.1 1102.7]
m = length(y)
n = [4 5]
for i = 1 : length(n)
	for j = 1 : m - n(i) + 1
		yhat{i}(j) = sum(y(j : j + n(i) - 1 ))/n(i) % 由于取得n的值不同,所以用到了细胞数组。
	end
	y(12) = yhat{i}(end)
	s(i) = sqrt(mean((y(n(i) + 1 : end) - yhat{i}(1 : end - 1)) .^ 2))
end

指数平滑法

一次移动平均实际上认为最近N期数据对未来的值的影响相同加权都是1/N,但是N期之前的数据对当前数据的预测起不到任何的作用,即加权为0。但是二次及更高次的平均权数不是1/N,而且次数越高,权数的结构越复杂。指数平滑法很有作用。

一次指数平滑法

模型

在这里插入图片描述

加权系数的选择

若α = 0, 则 yt+1hat = ythat, 就是下期的预测值等于本期的预测值。
那么对于α的选择尤为重要
(1)如果时间序列波动变化不大,比较平稳,那么阿尔法取小点0.1-0.5之间,以减少修正的幅度。
(2)若具有迅速明显的变动倾向,阿尔法取大些,0.6-0.8,使得灵敏度高些,以便于跟得上速度的变化。
现实中可以选择多个数据进行比较。

初始值的确定

一般情况下,可以去前10%的数据的均值开确定初始值。

例题

在这里插入图片描述
在这里插入图片描述

clc
clear
yt = load('doanqi.txt')
n = length(yt)
alpha = [0.2 0.5 0.8]
m = length(alpha)
yhat (1, [1 : m])= (yt(1) + yt(2)) / 2;
for  i = 2 : n
	yhat(i, :) = alpha * yt(i - 1) + (1 - alpha) .* yhat( i - 1, : )
end
yhat
err = sqrt(mean((repmat(yt, 1, m) - yhat) .^ 2 ))

二次指数平滑法

一次指数平滑法,虽然克服了移动平均法的缺点,但是当时间序列的变动出现直线趋势时,用一次指数平滑法就会存在明显的滞后偏差,因此也必须要加以修正再做二次指数平滑,利用滞后偏差的规律建立直线趋势模型,就是所谓的二次指数平滑法。

例题

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

clc
clear
yt = load('fadian.txt')
n = length(yt); alpja = 0.3; st1(1) = yt(1); st2(1) = yt(1)
for i = 2 : n
	st1(i) = alpha * yt(i) + ( 1 - alpha ) * st1( i - 1 )
	st2(i) = alpha * st1(i) + (1 - alpha) * st2(i - 1)
end
at = 2*st1 - st2
bt = alpha/(1 - alpha)*(st1 - st2)
yhat = at + bt
str = ['C', int2str(n+2)]; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值