Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 时间序列分析的适用性?_R_Time Series_Forecasting - Fatal编程技术网

R 时间序列分析的适用性?

R 时间序列分析的适用性?,r,time-series,forecasting,R,Time Series,Forecasting,我有这样一个示例数据框(日期列格式为mm dd YYYY): 我想使用ts()将此数据帧转换为时间序列,但问题是:当前数据帧对于同一日期有多个值。在这种情况下,我们可以应用时间序列吗 我是否可以将数据帧转换为时间序列,并建立一个模型(ARIMA),该模型可以每天预测计数值 或者我应该基于grp预测计数值,但在这种情况下,我必须只选择数据帧的grp和count列。所以,在这种情况下,我必须跳过日期列,并且无法对计数值进行每日预测 假设我想以每天为基础聚合计数值。我尝试使用聚合函数,但我们必须指定

我有这样一个示例数据框(日期列格式为
mm dd YYYY
):

我想使用
ts()
将此数据帧转换为时间序列,但问题是:当前数据帧对于同一日期有多个值。在这种情况下,我们可以应用时间序列吗

  • 我是否可以将数据帧转换为时间序列,并建立一个模型(ARIMA),该模型可以每天预测计数值

  • 或者我应该基于grp预测计数值,但在这种情况下,我必须只选择数据帧的grp和count列。所以,在这种情况下,我必须跳过日期列,并且无法对计数值进行每日预测

  • 假设我想以每天为基础聚合计数值。我尝试使用聚合函数,但我们必须指定日期值,但我有一个非常大的数据集?r中还有其他选项吗


请有人建议是否有更好的方法可以遵循?我的假设是,时间序列预测只适用于二元数据?这个假设正确吗?

你的问题似乎有两个方面:

我想使用
ts()
将此数据帧转换为时间序列,但是 问题是-当前数据帧具有多个相同的值 日期。在这种情况下,我们可以应用时间序列吗

如果您乐于使用该软件包,您可以尝试:

dta2$date <- as.Date(dta2$date, "%d-%m-%Y")
dtaXTS <- xts::as.xts(dta2[,2:3], dta2$date)
以下类别中:

>> class(dtaXTS)
[1] "xts" "zoo"
然后,可以将时间序列对象用作单变量时间序列,并引用所选变量或作为多变量时间序列,例如使用包:

PerformanceAnalytics::chart.TimeSeries(dtaXTS)

侧重点 关于你的第二个问题:

我的朋友,有人能告诉我更好的方法是什么吗 假设时间序列预测仅适用于二元数据?是 这个假设也对吗

嗯,这是相当广泛的。我建议您使用创建的
xts
对象,详细说明您想要使用的模型以及原因,如果这是一个关于时间序列分析性质的概念性问题,您可能更愿意将后续问题张贴在上面



数据来源于:
dta2,因为需要每日预测,我们需要将数据汇总到每日。使用末尾注释中的
DF
,使用
read.zoo
和参数
aggregate=sum
将前两列数据读入一个zoo系列
z
。我们可以选择将其转换为
“ts”
系列(
tser你到底想实现什么?也许每天聚合数据?你读过帖子吗?@lukeA聚合是唯一可能的解决方案吗?是的,我想每天预测计数值。我不知道这是否是唯一可能的解决方案。如果你从统计角度(而不是编程角度)来问的话),可能是一个更好的问题。至少对我来说,聚合(例如每天计数总和)听起来是一个简单的解决方案。。。
>> class(dtaXTS)
[1] "xts" "zoo"
PerformanceAnalytics::chart.TimeSeries(dtaXTS)
library(forecast)
library(zoo)

z <- read.zoo(DF[1:2], format = "%m-%d-%Y", aggregate = sum)

auto.arima(z)

forecast(z)
Lines <- "date            count     grp
01-09-2009       54        1
01-09-2009       100       2
01-09-2009       546       3
01-10-2009       67        4
01-11-2009       80        5
01-11-2009       45        6"
DF <- read.table(text = Lines, header = TRUE)