WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Evaluation de la dynamique spatio-temporelle de l'évolution de la covid a Libreville par une approche machine learning


par Bakari RAMADANE
Institut Africain d’Informatique - Diplôme d’Ingénieur Informaticien 0000
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Tu supportes des injustices; Consoles-toi, le vrai malheur est d'en faire"   Démocrite