R Language
Séries chronologiques et prévisions
Recherche…
Remarques
L'analyse des prévisions et des séries chronologiques peut être gérée avec des fonctions courantes du package stats
, telles que glm()
ou un grand nombre de packages spécialisés. La vue des tâches CRAN pour l'analyse des séries chronologiques fournit une liste détaillée des principaux packages par sujet avec de brèves descriptions.
Analyse exploratoire des données avec données chronologiques
data(AirPassengers)
class(AirPassengers)
1 "ts"
Dans l'esprit de l'analyse des données exploratoires (EDA), une bonne première étape consiste à examiner un tracé de vos données chronologiques:
plot(AirPassengers) # plot the raw data
abline(reg=lm(AirPassengers~time(AirPassengers))) # fit a trend line
Pour d'autres EDA, nous examinons les cycles sur plusieurs années:
cycle(AirPassengers)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 1949 1 2 3 4 5 6 7 8 9 10 11 12 1950 1 2 3 4 5 6 7 8 9 10 11 12 1951 1 2 3 4 5 6 7 8 9 10 11 12 1952 1 2 3 4 5 6 7 8 9 10 11 12 1953 1 2 3 4 5 6 7 8 9 10 11 12 1954 1 2 3 4 5 6 7 8 9 10 11 12 1955 1 2 3 4 5 6 7 8 9 10 11 12 1956 1 2 3 4 5 6 7 8 9 10 11 12 1957 1 2 3 4 5 6 7 8 9 10 11 12 1958 1 2 3 4 5 6 7 8 9 10 11 12 1959 1 2 3 4 5 6 7 8 9 10 11 12 1960 1 2 3 4 5 6 7 8 9 10 11 12
boxplot(AirPassengers~cycle(AirPassengers)) #Box plot across months to explore seasonal effects
Créer un objet ts
Les données de séries temporelles peuvent être stockées sous forme d'objet ts
. ts
objets contiennent des informations sur la fréquence saisonnière utilisée par les fonctions ARIMA. Il permet également d'appeler des éléments de la série par date à l'aide de la commande window
.
#Create a dummy dataset of 100 observations
x <- rnorm(100)
#Convert this vector to a ts object with 100 annual observations
x <- ts(x, start = c(1900), freq = 1)
#Convert this vector to a ts object with 100 monthly observations starting in July
x <- ts(x, start = c(1900, 7), freq = 12)
#Alternatively, the starting observation can be a number:
x <- ts(x, start = 1900.5, freq = 12)
#Convert this vector to a ts object with 100 daily observations and weekly frequency starting in the first week of 1900
x <- ts(x, start = c(1900, 1), freq = 7)
#The default plot for a ts object is a line plot
plot(x)
#The window function can call elements or sets of elements by date
#Call the first 4 weeks of 1900
window(x, start = c(1900, 1), end = (1900, 4))
#Call only the 10th week in 1900
window(x, start = c(1900, 10), end = (1900, 10))
#Call all weeks including and after the 10th week of 1900
window(x, start = c(1900, 10))
Il est possible de créer des objets ts
avec plusieurs séries:
#Create a dummy matrix of 3 series with 100 observations each
x <- cbind(rnorm(100), rnorm(100), rnorm(100))
#Create a multi-series ts with annual observation starting in 1900
x <- ts(x, start = 1900, freq = 1)
#R will draw a plot for each series in the object
plot(x)