时间序列分析是一种统计技术,用于理解数据点如何随时间演变。在 R 语言中,我们可以利用 **ts()** 函数高效地执行时间序列分析,该函数能帮助我们整理带有时间戳的数据。这种方法广泛应用于商业和研究中,用于分析趋势并进行预测,例如销售趋势、库存管理、股票市场价格、人口增长等。
在 R 中创建时间序列数据
在 R 中创建时间序列对象的核心函数是:
> objectName <- ts(data, start, end, frequency)
参数说明:
- data:包含观测值的数值向量。
- start:第一次观测的时间。
- end:最后一次观测的时间(可选)。
- frequency:单位时间内的观测次数(例如,月度数据为 12,季度数据为 4)。
> 注意: 关于 INLINECODEff54a628 函数的更多详细信息,您可以在 R 控制台中运行 INLINECODEf432790c。
示例:COVID-19 每周病例时间序列
让我们考虑从 2020 年 1 月 22 日到 2020 年 4 月 15 日的每周 COVID-19 确诊病例数据。下面的 R 代码创建了一个时间序列对象并绘制了数据图:首先,我们定义一个包含每周 COVID-19 确诊病例的向量 INLINECODEa2358574。然后加载 INLINECODEb78283b9 库来帮助处理日期格式,并创建一个从 2020 年 1 月 22 日开始的时间序列对象 mts,频率为每周。接着,我们用适当的轴标签和标题绘制时间序列数据。
R
CODEBLOCK_7cbe1db2
输出结果:
!tsa每周病例时间序列图
多元时间序列分析
多元时间序列分析允许我们同时可视化多个相关的时间序列。例如,追踪每周的 COVID-19 确诊病例和死亡人数,我们定义两个数值向量:INLINECODE3c05f0de 和 INLINECODE0f9d2e98,代表每周的 COVID-19 数据。然后我们加载 INLINECODE79dffe07 用于处理日期,并将两个向量组合成一个多元时间序列对象 INLINECODE139d8e1d。接着,我们绘制带有标签和标题的多元时间序列图。
R
CODEBLOCK_e223f665
输出结果:
!mvtsa多元时间序列分析图
R 语言中的时间序列预测
预测时间序列的未来值是分析的一个重要方面。R 中的 INLINECODEbd1b7541 包提供了构建预测模型的工具。在这里,我们使用自动 ARIMA 模型来预测未来的 COVID-19 病例。这里我们加载 INLINECODE1508cfba 进行日期处理,加载 INLINECODE0ee5ba96 使用预测功能。然后我们创建一个从 2020 年 1 月 22 日开始、频率为每周的时间序列对象 INLINECODEad7dcf7c。接着,我们使用 auto.arima() 自动拟合 ARIMA 模型,并生成未来 5 周的预测。最后,我们绘制历史数据和预测数据。
R
CODEBLOCK_44a5347a
输出结果:
!timeconsole控制台输出的预测值
绘制结果图
!forecasting预测图表
在本文中,我们探讨了如何在 R 中执行时间序列分析,包括创建单变量和多变量时间序列、可视化数据,以及使用 ARIMA 应用预测模型。这些技术为各个领域的时间相关数据提供了有价值的见解和预测。