gpt4 book ai didi

r - R 中的时间序列预测,单变量时间序列

转载 作者:行者123 更新时间:2023-12-05 01:18:40 28 4
gpt4 key购买 nike

我目前正在为学校开展一个项目,该项目要求我在 R 中对一组给定的数据执行时间序列预测。我查阅了无数关于如何执行此操作的示例,但我找到的每个示例都包含一个记录数据的数据集,例如,在 15 年的时间里每月一次。我的教授给我的数据集每 .001 秒记录一次数据,同一秒有多个数据条目。例如,在数据末尾有 0.02500 秒的五个不同条目。

我对单变量时间序列的理解是在特定时间段(例如每月或每千分之一秒)进行测量的时间序列。每当我尝试对数据集 (adeno) 进行时间序列预测时,我都会收到如下代码所示的错误。

> fit <- auto.arima(adeno)
Error in auto.arima(adeno) :
auto.arima can only handle univariate time series

谁能告诉我哪里出错了,或者我是否误解了什么?我尝试使用 R 中的 ts() 命令尝试将数据集转换为时间序列,但我一定做错了什么,因为即使在那之后它也说它不是单变量时间序列。

最佳答案

错误意味着它所说的,auto.arima can only handle univariate time series。由于您提到您的数据集每个时间单位都有多个条目,如果您使用 ts 转换它,它就是一个多变量时间序列。你可以按照以下方式做一些事情:

adenoTS = ts(adeno)
arima_fit = auto.arima(adenoTS[,1])

为了解决您在评论部分的第二个问题,我使用airquality 数据集进行演示:

library(forecast)

# Convert as time series
airTS = ts(airquality)

# Plot multivariate ts
plot(airTS[,1:4])

# Run auto.arima on a single ts
arima_fit = auto.arima(airTS[,3])

# Forecast for the next 10 time units
arima_forecast = forecast(arima_fit, h = 10)

# Plot forecasts
plot(arima_forecast)
forecast 包中的

forecast() 允许您预测下一个 h 时间单位。在这种情况下,“时间单位”的含义取决于您在 airTS = ts(airquality) 步骤中定义时间序列的方式。这里我没有费心去正确转换它,但是你可以在 ts() 中添加 start =frequency = 参数来指定开始你的时间和频率。

forecastplot 方法可让您绘制预测结果。请参阅 ?plot.forecast

enter image description here

关于r - R 中的时间序列预测,单变量时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43622486/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com