2017-09-23 7 views
2

Bonjour,
J'utilise actuellement une série chronologique de ventes quotidiennes pour faire des prévisions.
L'ensemble de données, appelé myts, a été précédemment transformé en objet time series.Prévision avec tsDyn - Erreur dans R

Chaque fois que je lance le code suivant, il me donne une erreur:

require(tsDyn) 
x <- log(myts) 
mod.ar <- linear(x, m=2) 

Error: x must be a vector, not a ts object, do you want stats::lag() ?

Meilleures salutations, Alex

Répondre

1

Essayez cet exemple (notez que je commence par un vecteur et puis convertissez-le en objet de série chronologique)

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 
1

Le problème signalé par Alessandro peut être généré par la fonction lag de dplyr qui remplace la fonction lag de stats.
Essayez ceci:

detach("package:dplyr", unload=TRUE) 
library(tsDyn) 
linear(log(lynx), m=2) 

Voici linear œuvres donnant correctement:

Non linear autoregressive model 

AR model 
Coefficients: 
    const  phi.1  phi.2 
2.4352150 1.3842377 -0.7477757 

Maintenant, essayez ceci:

detach("package:tsDyn", unload=TRUE) 
library(dplyr) 
library(tsDyn) 
linear(log(lynx), m=2) 

Le code donne le message d'erreur:

Error: `x` must be a vector, not a ts object, do you want `stats::lag()`? 
+0

Excellente trouvaille Marco! – dmb