19. Construction de notre
modèle
Dans notre projet, les colonnes «Date» ont
été renommées en «ds» et la variable cible,
c'est-à-dire les cas confirmés, a été
renommée en «y» conformément aux configurations du
modèle. Les modèles de données ont été
soumis aux caractéristiques d'entrée (ds, y) et à la
sortie sous forme de valeurs prédites ajoutées au cadre de
données pour les dates respectives. Le résumé du
modèle implémenté ainsi que sa configuration sont
présentés ci-dessous : le modèle de prophète
Facebook est plus facile à mettre en oeuvre car il s'agit d'un
modèle préformé où nous avons juste besoin de
fournir les configurations nécessaires.
a) Etape 1 importer les bibliothèques
library(covid19.analytics)
library(dplyr)
library(prophet)
library(lubridate)
library(ggplot2)
library(caret)
library(caretForecast)
|
b) Etape 2 configuration des données
#Etape 2.1 configuration
|
ds<-Laima_pre$Date
y<-Laima_pre$Cas_gueri_cumules
df<-data.frame(ds,y)
|
Etape 2.2 partitionnement des données en données
d'entrainement et données de test
|
train = df %>%
filter(ds<ymd("2021-01-23"))
test = df %>%
filter(ds>=ymd("2021-01-23")
|
c) Etape 3 configuration du modèle
# Etape 3.1 configuration et entrainement du modèle
|
m<-prophet(train)
#prediction
future<-make_future_dataframe(m,periods = 28)
forecast<-predict(m,future)
tail(forecast[c('ds', 'yhat',
'yhat_lower', 'yhat_upper')])
|
# Etape 3.2 règlage des hyperparamètres
|
additive = prophet(train,seasonality.mode = 'additive')
add_fcst = predict(additive,future)
|
d) Etape 4 évaluation de la performance du
modèle
# Etape 4.1 la validation croisee
|
df.cv <- cross_validation(m, initial = 500, period = 7,
horizon = 100, units = "days")
head(df.cv)
|
# Etape 4.2 visualisation
|
df.cv %>%
ggplot()+
geom_line(aes(ds,y)) +
geom_point(aes(ds,yhat,color=factor(cutoff)))+
theme_bw()+xlab("Date")+
ylab("deces_cumules")+ scale_color_discrete(name = 'Cutoff')
plot_cross_validation_metric(df.cv, metric = 'rmse')
plot_cross_validation_metric(df.cv,metric = 'mae')
|
Le graphe de la courbe d'entrainement montre que le
modèle fait moins d'erreur sur la prédiction de moins de 25
jours. Puis les nombres d'erreur atteinte un pique pour une période de
prédiction de 75 jours (figure 16)
Figure 17 : Courbe
d'apprentissage du modèle
e) Etape 5 Test du modèle
La figure 17 ci-dessous représente le code R
permettant de tester la prédiction de notre modèle sur une
période de 28 jours.
Figure 18 : code pour
tester la performance du modèle
Et la figure 18ci-dessous représente la courbe de
comparaison entre les valeurs réelles et les valeurs prédites
Figure 19 : la courbe de
comparaison entre les valeurs réelles et les valeurs
prédites
|