4 votes

Éviter l'hypothèse de la saisonnalité pour stl() ou decompose() en R

J'ai des données sur les prix des produits de base à haute fréquence que je dois analyser. Mon objectif est de ne pas supposer de composante saisonnière et de simplement identifier une tendance. C'est ici que je rencontre des problèmes avec R. Il existe deux fonctions principales que je connais pour analyser cette série chronologique : decompose() et stl(). Le problème est qu'elles prennent toutes deux un type d'objet ts avec un paramètre de fréquence supérieur ou égal à 2. Existe-t-il un moyen de supposer une fréquence de 1 par unité de temps et de continuer à analyser cette série chronologique à l'aide de R ? J'ai peur que si je suppose une fréquence supérieure à 1 par unité de temps, et que la saisonnalité est calculée en utilisant le paramètre de fréquence, alors mes prévisions vont dépendre de cette hypothèse.

names(crude.data)=c('Date','Time','Price')
names(crude.data)
freq = 2
win.graph()
plot(crude.data$Time,crude.data$Price, type="l")
crude.data$Price = ts(crude.data$Price,frequency=freq) 

Je veux que la fréquence soit de 1 par unité de temps mais alors decompose() et stl() ne fonctionnent pas !

dim(crude.data$Price)
decom = decompose(crude.data$Price)
win.graph()
plot(decom$random[2:200],type="line")
acf(decom$random[freq:length(decom$random-freq)])

Merci.

16voto

Rob Hyndman Points 10068

Les deux sites stl() y decompose() sont pour saisonnier la décomposition, donc vous devez avoir une composante saisonnière. Si vous souhaitez simplement estimer une tendance, toute méthode de lissage non paramétrique fera l'affaire. Par exemple :

fit <- loess(crude.data$Price ~ crude.data$Time)
plot(cbind(observed=crude.data$Price,trend=fit$fitted,random=fit$residuals),main="")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X