如何使用 R 中的 'forecast' 库将预测值存储到 CSV 文件中?
How to store forecasted values using 'forecast' library in R into a CSV file?
我已经围绕我的季节性时间序列数据安装了一个 TBATS
模型,并使用 forecast
包来获得预测。我的 R 代码是:
library("forecast")
data = read.csv("data.csv")
season_info <- msts(data,seasonal.periods=c(24,168))
model <- tbats(season_info)
forecasted <- forecast.tbats(best_model,h=24,level=90)
forecasted
现在,我有一个名为 'forecasted' 的变量,输出如下:
> forecasted
Point Forecast Lo 90 Hi 90
6.940476 5080.641 4734.760 5426.523
6.946429 5024.803 4550.111 5499.496
6.952381 4697.625 4156.516 5238.733
6.958333 4419.105 3832.765 5005.446
6.964286 4262.782 3643.528 4882.037
6.970238 4187.629 3543.062 4832.196
6.976190 4349.196 3684.444 5013.947
6.982143 4484.108 3802.574 5165.642
6.988095 4247.858 3551.955 4943.761
6.994048 3851.379 3142.831 4559.927
7.000000 3575.951 2855.962 4295.941
7.005952 3494.943 2764.438 4225.449
7.011905 3501.354 2760.968 4241.739
7.017857 3445.563 2695.781 4195.345
我需要从 'Forecast' 列收集预测值并将其存储在 CSV 文件中。我试图在线阅读 TBATS 和 'forecast' 方法的页面,但他们没有说明如何提取特定列的预测值,而忽略了其他列,例如 'Hi' 'Lo'和 'Point'.
我正在我的 CSV 中寻找这个输出:
hour,forecasted_value
0,5080.641
1,5024.803
2,4697.625
...
它们分为三部分存储。您可以使用 str(ret)
:
查看对象结构
library(forecast)
fit <- tbats(USAccDeaths)
ret <- forecast(fit)
ret$upper # Upper interval
ret$lower # Lower interval
ret$mean # Point forecast
您可以使用 print()
:
获得显示的输出
library("forecast")
data = read.csv("data.csv")
season_info <- msts(data,seasonal.periods=c(24,168))
model <- tbats(season_info)
forecasted <- forecast.tbats(best_model,h=24,level=90)
dfForec <- print(forecasted)
这将为您提供 data.frame
,现在您可以选择所需的列,即。 dfForec[, 1]
仅用于点预测,然后使用 write.csv(dfForec[, 1, drop = FALSE], ...)
将其写入平面文件。
使用均值函数获取点预测
图书馆("forecast")
数据 = read.csv("data.csv")
season_info <- msts(数据,seasonal.periods=c(24,168))
模型 <- tbats(season_info)
预测 <- (forecast.tbats(best_model,h=24,level=90))$mean
或
预测$均值
我已经围绕我的季节性时间序列数据安装了一个 TBATS
模型,并使用 forecast
包来获得预测。我的 R 代码是:
library("forecast")
data = read.csv("data.csv")
season_info <- msts(data,seasonal.periods=c(24,168))
model <- tbats(season_info)
forecasted <- forecast.tbats(best_model,h=24,level=90)
forecasted
现在,我有一个名为 'forecasted' 的变量,输出如下:
> forecasted
Point Forecast Lo 90 Hi 90
6.940476 5080.641 4734.760 5426.523
6.946429 5024.803 4550.111 5499.496
6.952381 4697.625 4156.516 5238.733
6.958333 4419.105 3832.765 5005.446
6.964286 4262.782 3643.528 4882.037
6.970238 4187.629 3543.062 4832.196
6.976190 4349.196 3684.444 5013.947
6.982143 4484.108 3802.574 5165.642
6.988095 4247.858 3551.955 4943.761
6.994048 3851.379 3142.831 4559.927
7.000000 3575.951 2855.962 4295.941
7.005952 3494.943 2764.438 4225.449
7.011905 3501.354 2760.968 4241.739
7.017857 3445.563 2695.781 4195.345
我需要从 'Forecast' 列收集预测值并将其存储在 CSV 文件中。我试图在线阅读 TBATS 和 'forecast' 方法的页面,但他们没有说明如何提取特定列的预测值,而忽略了其他列,例如 'Hi' 'Lo'和 'Point'.
我正在我的 CSV 中寻找这个输出:
hour,forecasted_value
0,5080.641
1,5024.803
2,4697.625
...
它们分为三部分存储。您可以使用 str(ret)
:
library(forecast)
fit <- tbats(USAccDeaths)
ret <- forecast(fit)
ret$upper # Upper interval
ret$lower # Lower interval
ret$mean # Point forecast
您可以使用 print()
:
library("forecast")
data = read.csv("data.csv")
season_info <- msts(data,seasonal.periods=c(24,168))
model <- tbats(season_info)
forecasted <- forecast.tbats(best_model,h=24,level=90)
dfForec <- print(forecasted)
这将为您提供 data.frame
,现在您可以选择所需的列,即。 dfForec[, 1]
仅用于点预测,然后使用 write.csv(dfForec[, 1, drop = FALSE], ...)
将其写入平面文件。
使用均值函数获取点预测
图书馆("forecast")
数据 = read.csv("data.csv")
season_info <- msts(数据,seasonal.periods=c(24,168))
模型 <- tbats(season_info)
预测 <- (forecast.tbats(best_model,h=24,level=90))$mean
或
预测$均值