预测所需的初步详细信息。
> Nathan Dumlao via Unsplash
我希望在我有关时间序列的第一篇文章中介绍理解基本时间序列分析所需的基本思想和定义。 我们将从基本和关键的数学定义开始,这是实现更高级模型所必需的。 该信息将以与麦吉尔(McGill)研究生课程中类似的方式进行介绍,并遵循Brockwell和Davis教科书的风格。
介绍:
"时间序列"是按时间索引的观察值的集合。 每个观测值都发生在某个时间t,其中t属于允许时间T的集合。
> Figure 1: The general notation used to represent a times series Xt.
注意:在这种情况下,T可以是离散的,我们可以有一个离散的时间序列,或者在连续的时间序列中可以是连续的。 有时,我们将对时间序列{Xt}的观察称为该序列的一种实现。
时间序列的示例包括道琼斯(DOW Jones),一个表明是否每天下雨的简单序列,或按年序列划分的GDP。
时间序列{Xt}的"时间序列模型"是模型联合概率分布的规范(但是,通常我们只考虑均值和前几个矩的模型)。
除特殊情况外,时间序列将具有定义的有限均值。
> Figure 2: Notation for the mean.
如果存在更高级别的矩,则时间序列" t"和时间" s"的协方差;
> Figure 3: The Covariance of a time series Xt between two times.
时间序列的平均值可能取决于t,也可能不取决于t。 类似地,两次之间的协方差可能取决于t或不取决于t,通过示例将变得更加清楚。
平稳性:
如果以下两个条件成立,则时间序列被称为"弱固定"。
· 时间序列的平均值不依赖于时间。
2.相距相同的任何两个点之间的协方差是恒定的。(例如,彼此之间相距三个点的实现之间的协方差应该是常数,而与t无关)。
注意:记住方差和协方差可以如下线性分离是有用的;
> Figure 4: Covariance (and variance) can be expanded. This often helps in simplifying calculations.
如果时间序列是弱固定的,则任何两个点之间的协方差将不依赖于时间。 因此,它将是恒定的,或仅取决于两个点之间的距离。 较弱的平稳序列更易于预测,因此,许多时间序列分析都涉及尝试将更复杂的序列简化为平稳的序列。
注意:强固定式要求整个分发功能不随时间变化,这是很难验证和满足的要求。因此,我们暂时关注平稳性较弱。
自协方差函数(ACVF):
> Figure 5: The ACVF for a stationary time series does not depend on t.
自相关函数(ACF):
实际上,我们更经常使用时间序列的自相关函数。特别地,固定时间序列的ACF被定义为:
> Figure 6: The ACF for a stationary time series.
以上两个定义适用于定义明确的随机变量。 但是,实际上,我们正在处理实际数据,因此我们不知道理论ACVF或ACF。 因此,我们需要介绍他们的对应样本。
ACVF和ACF示例:
我们处理来自未知分布(即观察到的数据集)的数据更为常见,因此有必要定义以下内容:样本均值,样本自协方差函数和样本自相关。 这些将经常使用,并绘制它们可以使我们对时间序列有所了解。
> Figure 7: The sample mean, sample autocovariance and sample autocorrelation. We can calculate these on observed data.
基本时间序列:
现在让我们开始研究用于构建高级模型的基本理论时间序列。
IID噪声:
时间序列最简单的示例之一是IID噪声(独立的相同分布的噪声)。这是一个{X1,X2,..}系列,其中每个实现Xt是独立的,并且与某些相同的分布(例如正态(0,σ²))无关。
IID噪声是否弱固定?
根据定义,任何时候的期望值都是恒定的(零)。 那是第一个标准。
h单位以外的任意两个点之间的协方差为;
> Figure 8: Covariance of IID noise.
第二个条件不取决于t(仅取决于h)。因此,IID噪声是微弱的。我们还可以计算自相关,如果h为零,则为1,否则为0。
随机游走:
现在假设每个Xt是一个IID Normal(0,σ²)。 然后,将随机游走时间序列{St}定义为:
> Figure 9: The Random Walk Time Series.
该定义明确说明了为什么将其称为随机游走。 时间序列的第一个元素只是随机IID观察。 然后,我们添加另一个随机观察并重复。
> Figure 10: Animation illustrating the random walk in two dimensions. At each step, we take a random step along a grid. Gif Citation: Creative Commons.
由于每个X是IID Normal,因此任何时候t的期望值都等于0。
Var(St)= E(St²)-E(St)²= E((St)²)=σ²。
因此,我们可以使用线性展开简化点t和t + h之间的协方差
> Figure 11: The covariance of points h units apart on a random walk. This depends on t.
取决于t,随机游动不是弱固定的。
白噪声:
白噪声(有时称为"静态")类似于IID噪声。如果Xt是具有相同方差σ²的不相关零均值观测值的序列,则我们称其为白噪声。IID噪声是白噪声,但并非所有的白噪声都是IID。
> Figure 12: Notation used for White Noise. With specified mean and variance.
IID噪声和白噪声之间有什么区别?您可能会注意到,"白噪声"的定义并没有限制高阶矩,因此,例如,它对E(X10)并没有说什么。但是,对于IID噪声,所有时刻都是相等的。回想不相关意味着E(XtXs)= 0,除非t = s。
关于白噪声的更多事实:
· 白噪声具有恒定的功率谱密度。
· 白噪声的单个实现被称为随机冲击。
移动平均线模型:
移动平均模型是最基本的时间序列之一。 我们考虑最简单的版本,即MA(1)模型,可以将其写为白噪声项与实参数θ之和。
> Figure 13: Example of a MA(1) model. The Z terms are White Noise.
通过期望的线性,很明显,MA(1)模型的期望为零,因此对于任何t都是恒定的。 可以得出时间t和时间t + h之间的协方差。 对于h = 0,这将是方差。
> Figure 14: The covariance for realisation h=0 units apart is equivalent to the variance.
否则,当且仅当t和t + h相距仅1个单位时,协方差将为非零。
> Figure 15: The MA(1) model covariance will be nonzero for realisation 1 unit apart.
否则,协方差将为零,这可以通过以上面协方差的形式写出来确认。 从而:
> Figure 16: The Autocovariance function for the MA(1) model.
我们也可以导出自相关函数,因为我们知道h = 0时的ACVF值。 主要是γ(0)=σ²(1 +θ²),因此ACF为:
> Figure 17: The Autocorrelation function of the MA(1) model.
由于均值始终为零(与t无关)并且协方差也与t无关,因此MA(1)模型是弱固定的。
注意:
· MA(q)模型是相似的,但是前面有q个附加项。
自回归:
自回归模型是另一个基本时间序列,用作更高级序列的基础。 对于自回归模型,我们假设{Xt}是弱固定的。 自回归模型取决于其先前的值,以及按比例缩放的不相关(Z和X不相关)的白噪声项。 AR(1)系列最简单;
> Figure 18: The AR(1) model.
为了推导出序列的特征,我们注意到,由于我们假设{Xt}是固定的,因此可以直接得出,在任何时间t上该序列的期望值都恰好为0。
我们可以计算h个单位以外的任何点的Autocovariance函数;
> Figure 19: Since we are assuming weak stationarity, we can drop the additional argument to γ and just write h. We use the assumption that it is equal for all points h units apart to simplify.
通过扩展和使用协方差函数的线性,我们得到简化形式。
> Figure 20: The simplified covariance function for realisations h units apart on the AR(1) model.
> Figure 21: The variance of the AR(1) model using the assumption of weak stationarity.
通过将这些项移到等式的一侧来解决,这给了我们;
> Figure 22: The Variance of a realisation from the AR(1) model.
由于γ(h)=γ(-h)(协方差是对称的),我们可以大大简化自相关(ACF):
> Figure 23: The Autocorrelation of the AR(1) model for realisations h units apart.
额外事实:
· 就像MA(q)模型一样,AR模型可以扩展为任意数量的项,即AR(q)模型。
· AR模型并不总是固定的,特别是如果它包含单位根。但是,对于本文,我们假设不包含单位根(ϕ≠1)的常见假设。
· AR模型是VAR模型(向量自回归模型)的特例。
继续:
移动平均模型,自回归模型和白噪声构成了实践中大多数实际时间序列的基础。例如,它们是ARMA和ARIMA模型的基础。既然我们已经涵盖了一些理论上的时间序列,那么让我们进入实践中的时间序列。
时间序列的一些共同特征是什么? 让我们从一个模拟的例子开始来了解这个想法。 考虑以下时间序列图;
> Figure 24: A simulated time series with an upwards trend and seasonal component.
您可能会注意到该图的一些功能;
· 总体上呈上升趋势
> Figure 25: The same time series with trend indicated by the red line.
· 重复或"季节性"成分
> Figure 26: Seasonal components are repeating at fixed intervals.
趋势和季节性构成时间序列的基本部分。确实,许多时间序列分析和预测都涉及尝试了解序列的趋势和季节性成分。这两种性质的重要性导致"基本分解"。
基本分解:
将时间序列认为是由三个不同的部分组成,这很有用。 趋势,季节性和随机噪声。
> Figure 27: The Fundamental decomposition of a time series into trend (mt), seasonality (st) and a random component.
噪声Yt的期望值为零。
趋势:趋势是指时间序列某个区域的斜率。 例如,在特定时期内,我们可能总体上呈上升趋势。 我们也可能呈下降趋势。 具有趋势的序列通常不会保持平稳,因为均值会随时间而变化。
· 处理趋势涉及通过差分或所谓的后移运算符消除。
季节性:这不仅是趋势,它是一种重复模式,可以是每周,每年或以其他固定间隔进行。 季节性表示时间序列中重复且清晰的变化。
· 拟合季节性可以使用谐波回归来完成。例如,这涉及为系列拟合许多正弦和余弦(简化)。
在实践中:
到目前为止,我们已经研究了涵盖完美时间序列的数学细节。 实际上,我们几乎永远不会拥有完全由移动平均模型或自回归模型表示的序列。 这些理想的模型只是形成了骨架,我们将使用它们来适应更高级的模型。 我们将演示为什么示例ACF有用,以及它可以告诉我们有关时间序列的信息。
让我们研究一些真实的例子,看看我们可以从中学到什么。我们将使用R包" itsmr",该包已预先加载了多个数据集。
澳大利亚红酒数据:
该数据集(itsmr包中的"葡萄酒")由142个月的澳大利亚红酒销售量(按1000kL)组成。 让我们绘制它。
> Figure 28: Australian Wine Sales data. Plot made in R using the built in dataset wine. We notice an upwards trend and seasonal component.
显然有趋势,也有季节性。 总体而言,葡萄酒的销量在增加,在季节性上,夏季的葡萄酒销量增加,而冬季的月份葡萄酒销量减少。 让我们看一下示例ACF。 R可以使用acf函数自动计算该值。
> Figure 29: The sample ACF of the Australian Wine sales data up to the first 50 lags.
注意:样本acf(|ρ(h)|)缓慢衰减表示趋势,因此不稳定!这很有道理;我们看到葡萄酒销售呈上升趋势。
定期采样acf表示时间序列中的季节性。 这也很有意义,因为我们看到夏季的葡萄酒销售猛增,而冬季则最低。
为了用澳大利亚葡萄酒数据进行预测,我们需要考虑趋势和季节性。 通常可以通过应用单调变换(例如对数变换)来说明趋势。 这应有助于减少趋势并使数据更接近平稳序列。 其他方法包括平滑和过滤。
季节分量也必须适合,通常可以通过谐波回归使用三角函数来完成。
概要:
本文介绍了研究时间序列分析所需的基本数学细节。移动平均模型,自回归模型和白噪声构成了更高级系列的基本构建块。我们了解了平稳性,它告诉我们一系列随时间变化的情况。我们还了解了使用时间序列(例如样本自相关函数)时应注意的重要样本统计信息。
最后,我们讨论了将时间序列分解为趋势,季节和随机成分的常见现象,并谈到了这些为何重要的原因。
我希望在以后的文章中更详细地介绍如何实际预测时间序列。常规步骤如下:
1. 绘制时间序列。
2.确定趋势和季节性成分。 如果需要,考虑转换变量(例如进行对数转换)。
3.删除(减去)趋势和季节成分以获得固定残差。
4.拟合残差
5.对残差执行预测,然后通过转换获得原始序列的预测
恭喜,您现在已经了解了时间序列分析的基础知识。熟悉这些基础知识之后,您就可以着手研究更高级的主题,例如预测。在下一篇有关时间序列的文章中,我希望介绍ARMA和ARIMA模型,并讨论Box Jenkins,Holt Winters,信号处理和傅立叶变换以及ARCH / GARCH / FGARCH模型。
感谢您的阅读!您喜欢本文还是学习新知识?如果是这样,请考虑在媒体上查看我的其他文章,并考虑给该文章鼓掌或分享。另外,请随时在下面发表评论或更正。
[1] Brockwell和Davis(2002)时间序列和预测简介。
[2] TensorFlow在实践专业化中(2020)-序列,时间序列和预测(Coursera通过DeepLearning.AI)。
[3]宾夕法尼亚州立大学STAT 510页面。
[4] R Shumway,D Stoffer(2011)时间序列分析及其应用。 第三版。
[5]富勒(2009)统计时间序列简介
(本文由闻数起舞翻译自Chris Lovejoy的文章《A Quick Introduction to Time Series Analysis》,转载请注明出处,原文链接:https://towardsdatascience.com/a-quick-introduction-to-time-series-analysis-d86e4ff5fdd)
还没有评论,来说两句吧...