IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Des graphiques temporels


Sujet :

R

  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut Des graphiques temporels
    Bonjour,

    Je dispose d'un fichier CSV décrivant le nombre de morts en France par mois, de janvier 1946 à nos jours, sous ce format : https://zupimages.net/up/19/13/sfsd.jpg

    Je souhaiterais pouvoir faire ce genre de graphique : https://zupimages.net/up/19/13/qbnp.jpg si possible, en n'utilisant aucun package, juste les fonction de base de R. J'ai du mal, car la colonne X comporte des dates ... je ne sais pas quel type de graphique utiliser.

    De plus, je voudrais pouvoir trouver la courbe de ces données (du type aX + b), me permettant d'anticiper le nombre de morts pour le mois prochain.

    Merci à vous.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Par défaut
    Re- Hello,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    #simulation de données
    ddt = data.frame(date = seq.Date(   as.Date('1946-01-01'), as.Date('2019-02-01'), by = 'month'), y=3*runif(878)+1000   )
     
    ts.plot(x = ts(ddt$y,  start =  1946 , frequency = 12) , ylab = "Variable", xlab = "Année" , main = "Un titre" ) #plot 
     
    ddt$rang <- c(1:nrow(ddt))
     
    #Prévision type ax+b 
     
    reg <- lm(y ~ rang , data = ddt )  #modélisation
    summary(reg) #pour regarder l'estimations de a et b 
    predict(reg, newdata = data.frame( rang = nrow(ddt)+ 1 )) # Prédire le Mois prochain d'ou le +1
     
     
    # prevision de type série temporelle c'est le plus juste à faire dans ton cas, utilisation d'une librairie
     
    install.packages("forecast") #installer le package si c'est pas déjà fait
    library(forecast)
     
    arima <- auto.arima(ts(ddt$y,  start =  1946 , frequency = 12) ) # modélisation de type arima
     
    predict(arima)$pred # Prédire le mois prochain

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut
    Wow merci !! Je ne comprends absolument rien au code mais je vais l'essayer après.

    Merci beaucoup

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut
    Concernant le package "Forecast", j'ai du mal à comprendre le :

    predict(arima)$pred # Prédire le mois prochain

    Par exemple, si je voulais prédire le mois prochain prochain, il faudrais quelle formule ?

  5. #5
    Membre expérimenté
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Par défaut
    par défaut il prédit la prochaine valeur, dans mon cas ma dernière valeur est celle de février et c'est des données mensuelles donc il va me prédire celle de mars.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    predict(arima)$pred # Prédire le mois prochain
     
    forecast( arima , h = 1) # equivalent à predict sauf qu'ici t'auras aussi les intervalles de confiance. 
    forecast( arima , h = 12) # ici par exemple tu peux avoir la prédiction des 12 prochains mois

  6. #6
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut
    Merci à vous,

    Selon vous, quels autres types d'études je pourrais faire avec ce genre de donnée ? J'ai pas d'objectif précis, juste pour savoir faire un maximum de choses (je m'auto-forme sur R)

  7. #7
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut
    Oups ! Je rencontre un petit soucis avec la fonction Forecast.

    J'ai copié ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >ddt = data.frame(date = seq.Date(   as.Date('1946-01-01'), as.Date('2019-02-01'), by = 'month'), y=3*runif(878)+1000   )
     
    > ts.plot(x = ts(ddt$y,  start =  1946 , frequency = 12) , ylab = "Variable", xlab = "Année" , main = "Un titre" ) #plot 
     
    > ddt$rang <- c(1:nrow(ddt))
     
    > reg <- lm(y ~ rang , data = ddt )  #modélisation
     
    > arima <- auto.arima(ts(ddt$y,  start =  1946 , frequency = 12) ) # modélisation de type arima
     
    > forecast( arima , h = 12)

    et .. j'ai 12 fois la même valeur qui s'affiche :

    Nom : wp1u.jpg
Affichages : 122
Taille : 307,7 Ko

    Saurais-tu pourquoi ?

  8. #8
    Membre expérimenté
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Par défaut
    Bonjour,

    Normale mes données simulées sont un bruit blanc loi ( N(O , sigma² ) ) donc c'est normale d'avoir la même valeur. Essaye d'appliquer le code sur tes données.


    voilà une simulation correcte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    ddt = data.frame(date = seq.Date(   as.Date('1946-01-01'), as.Date('2019-02-01'), by = 'month')
                     , y= 1000*arima.sim(n = 878, list(ar = c(0.8897, -0.4858), ma = c(-0.2279, 0.2488)),
                                    sd = sqrt(0.1796)))

  9. #9
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut
    Bonjour,
    En effet, j'ai réussi à tout faire marcher et je vous en remercie.

    J'ai testé l'expérience avec un autre fichier de données simple, avec 11 lignes, que voici : https://drive.google.com/open?id=1gu...iKSDKxV84HdRKx , et malheuresement j'arrive encore au stade du forecast qui me copie plein de fois la même chose.
    Voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ts.plot(x = ts(data$X4.Etoiles) , ylab = "Variable", main = "Un titre" )
    data$rang <- c(1:nrow(data))
    reg <- lm(data$X4.Etoiles ~ rang , data = data )
    predict(reg, newdata = data.frame( rang = nrow(data)+ 1 )) #A CE STADE, JE TROUVE 158.0727
     
    library(forecast)
    arima <- auto.arima(ts(data$X4.Etoiles))
    forecast( arima , h = 7)
    Cela me renvoie ceci :

    Point Forecast    Lo 80    Hi 80     Lo 95   Hi 95
    12       225.2727 29.46684 421.0786 -74.18654 524.732
    13       225.2727 29.46684 421.0786 -74.18654 524.732
    14       225.2727 29.46684 421.0786 -74.18654 524.732
    15       225.2727 29.46684 421.0786 -74.18654 524.732
    Probablement au niveau de la fonction arima que je me trompe ^^'

    Merci à vous.

  10. #10
    Membre expérimenté
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Par défaut
    Lancer un modèle arima sur 11 lignes c'est un peu limite. Plutôt regarder au tour des modèles de lissages , coef saisonnier.

    dans ta transformation ts il faut préciser la fréquence de calcul ( mensuelle donc 12 , trim donc 4 ect ... ). ca va aider le modèle à s'ajuster.

Discussions similaires

  1. Afficher une échelle temporelle sur des graphiques
    Par RKOCOCO dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/07/2007, 14h47
  2. Caractéristique des Graphiques avec Tchart
    Par bidson dans le forum XMLRAD
    Réponses: 5
    Dernier message: 19/01/2004, 11h01
  3. faire des graphiques avec Perl
    Par And_the_problem_is dans le forum Modules
    Réponses: 2
    Dernier message: 16/07/2003, 16h08
  4. Exportation des graphiques d'un modèle (Power AMC)
    Par boubaouz dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 16/04/2003, 15h59
  5. Réponses: 4
    Dernier message: 15/12/2002, 04h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo