时间序列模型
Closed this issue · 0 comments
还没学过数理统计的课程,看这些知识是真的吃力,不写点东西的话完全看不下去><,下面开始正文:
时间序列即按时间顺序排列的、随时间变化且相互关联的数据序列。
分析时间序列的方法构成数据分析的一个重要领域,即时间序列分析。
§0 时间序列分类:
- 按研究对象的多少:一元时间序列、多元时间序列
- 按时间的连续性:离散时间序列、连续时间序列
- 按序列的统计特性:平稳时间序列、非平稳时间序列
-
如果一个时间序列的概率分布与时间\(t\)无关,则称该序列为严格的(狭义的)平稳时间序列。
-
如果序列的一、二阶矩存在,而且对任意时刻\(t\)满足:
- 均值为常数
- 协方差为时间间隔\(\tau\)的函数
则称该序列为宽平稳时间序列,也叫广义平稳时间序列。我们以后所研究的时间序列主要是宽平稳时间序列。
-
- 按序列的分布规律:高斯型时间序列、非高斯型时间序列
§1 时间序列分析方法概述:
时间序列预测技术就是通过对预测目标自身时间序列的处理,来研究其变化趋势的。
一个时间序列往往是以下几类变化形式的叠加或耦合。
- 长期趋势变动。
它是指时间序列朝着一定的方向持续上升或下降,或停留在某一水平上的倾向,它反映了客观事物的主要变化趋势。 - 季节变动。
- 循环变动。
通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相似的波动。 - 不规则变动。通常它分为突然变动和随机变动。
通常用\(T_t\)表示长期趋势项,\(S_t\)表示季节变动趋势项, \(C_t\)表示循环变动趋势项,\(R_t\)表示随机干扰项。常见的时间序列模型有以下几种类型:
- 加法模型:\(y_t = T_t + S_t + C_t + R_t\)
- 乘法模型:\(y_t = T_t · S_t · C_t · R_t\)
- 混合模型:\(y_t = T_t · S_t + R_t\) 或 \(y_t = S_t + T_t · C_t · R_t\)
其中\(y_t\)是观测目标的观测记录,\(E(R_t) = 0, E(R_t^2) = \sigma^2\)
如果在预测时间范围以内,无突然变动且随机变动的方差\(\sigma^2\)较小,并且有理由认为过去和现在的演变趋势将继续发展到未来时,可用一些经验方法进行预测。
§2 移动平均法
移动平均法是根据时间序列资料逐渐推移,依次计算包含一定项数的时序平均数, 以反映长期趋势的方法。当时间序列的数值由于受周期变动和不规则变动的影响,起伏较大,不易显示出发展趋势时,可用移动平均法,消除这些因素的影响,分析、预测序列的长期趋势。
移动平均法有简单移动平均法,加权移动平均法,趋势移动平均法等等。
2.1 简单移动平均法
设观测序列为\(y_1,\cdots, y_T\),取移动平均的项数\(N<T\)。一次简单移动平均值计算公式为:
$$\begin{align}
M_t^{(1)}
& = \frac1N(y_t + y_{t-1} + \cdots + y_{t-N+1})\\
& = \frac1N(y_{t-1} + \cdots + y_{t-N}) + \frac1N(y_t - y_{t-N})\\
& = M_{t-1}^{(1)} + \frac1N(y_t - y_{t-N}) \tag1
\end{align}$$
当预测目标的基本趋势是在某一水平上下波动时,可用一次简单移动平均方法建立预测模型:
其预测标准误差为:
最近\(N\)期序列值的平均值作为未来各期的预测结果。一般\(N\)取值范围:\(5\leq N\leq200\)。当历史序列的基本趋势变化不大且序列中随机变动成分较多时,\(N\)的取值应较大一些。否则\(N\)的取值应小一些。在有确定的季节变动周期的资料中,移动平均的项数应取周期长度。选择最佳\(N\)值的一个有效方法是,比较若干模型的预测误差。预测标准误差最小者为好。
例1:某企业1月~11月份的销售收入时间序列如表1所示。试用一次简单滑动平均法预测第12月份的销售收入。
表1 企业销售收入
月份\(t\) | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
销售收入\(y_t\) | 533.8 | 574.6 | 606.9 | 649.8 | 705.1 | 772.0 |
月份\(t\) | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|
销售收入\(y_t\) | 816.4 | 892.7 | 963.9 | 1015.1 | 1102.7 |
解:分别取\(N=4, N=5\)的预测公式:
当\(N=4\)时,预测值\(\hat{y}_{12}^{(1)}=993.6\),预测的标准误差为
当\(N=5\)时,预测值\(\hat{y}_{12}^{(2)}=958.2\),预测的标准误差为
计算结果表面,\(N=4\)时,预测的标准误差较小,所以选取\(N=4\)。预测第12月份的销售收入为993.6。
计算的MATLAB程序如下:
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];
%n为移动平均的项数
for i = 1:length(n)
%由于n的取值不同,yhat的长度不一致,下面使用了细胞数组
for j = 1:m-n(i)+1
yhat{i}(j) = sum(y(j:j+n(i)-1)) / n(i);
end
y12(i) = yhat{i}(end);
s(i) = sqrt(mean((y(n(i)+1:m)-yhat{i}(1:end-1)).^2));
end
y12, s
Output:
y12 = 993.6000 958.1600
s = 150.5121 182.3851
简单移动平均法只适合做近期预测,而且是预测目标的发展趋势变化不大的情况。如果目标的发展趋势存在其它的变化,采用简单移动平均法就会产生较大的预测偏差和滞后。
参考文档:
时间序列模型.pdf