R语言中的时间序列分析

时间序列分析是一种统计技术,用于理解数据点如何随时间演变。在 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 应用预测模型。这些技术为各个领域的时间相关数据提供了有价值的见解和预测。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/42994.html
点赞
0.00 平均评分 (0% 分数) - 0