【问题标题】:Forecasting with tsDyn - Error in R使用 tsDyn 进行预测 - R 中的错误
【发布时间】:2018-03-04 20:12:15
【问题描述】:
早上好,
我目前正在使用每日销售额的时间序列进行预测。
名为myts 的数据集之前已转换为time series 对象。
每当我运行以下代码时,它都会给我一个错误:
require(tsDyn)
x <- log(myts)
mod.ar <- linear(x, m=2)
错误:x必须是向量,不是ts对象,你要吗
stats::lag()?
最好的问候,
亚历克斯
【问题讨论】:
标签:
r
neural-network
forecasting
【解决方案2】:
Alessandro 报告的问题可以由dplyr 的lag 函数生成,它覆盖了stats 的lag 函数。
试试这个:
detach("package:dplyr", unload=TRUE)
library(tsDyn)
linear(log(lynx), m=2)
这里linear 工作正常:
Non linear autoregressive model
AR model
Coefficients:
const phi.1 phi.2
2.4352150 1.3842377 -0.7477757
现在,试试这个:
detach("package:tsDyn", unload=TRUE)
library(dplyr)
library(tsDyn)
linear(log(lynx), m=2)
代码给出了错误信息:
Error: `x` must be a vector, not a ts object, do you want `stats::lag()`?
【解决方案3】:
试试这个例子(注意我从一个向量开始,然后将它转换为一个时间序列对象)
require(tsDyn)
set.seed(1234)
tsdatav <- (seq(1:300)+rnorm(300,1000,10))
myts <- ts(tsdatav, frequency = 365, start = c(2017, 6))
plot(myts)
x <- log(myts)
mod.ar <- linear(x, m = 2)
mod.ar