1 Introduction

1.1 Risque de pluie à Roland Garros

  • Pluie: “Le jour où Roland-Garros m’a arnaquée”
  • Pluie à Roland-Garros : les joueurs dénoncent “une escroquerie”
  • Encore de la pluie à Roland-Garros : la polémique enfle
  • Tennis : Roland-Garros sous la pluie, que faire de vos billets
  • Roland-Garros, ou le charme incertain de Paris sous la pluie

Tels sont les titres des journaux en ce moment. Comme j’avais sous la main des données météo à Paris, et après avoir analysé les températures, c’est la bonne occasion d’analyse les précipitations à Paris.

1.2 Informations sur les données

Informations sur dans le fichier des données:

EUROPEAN CLIMATE ASSESSMENT & DATASET (ECA&D), file created on 27-04-2016 THESE DATA CAN BE USED FREELY PROVIDED THAT THE FOLLOWING SOURCE IS ACKNOWLEDGED:

Klein Tank, A.M.G. and Coauthors, 2002. Daily dataset of 20th-century surface air temperature and precipitation series for the European Climate Assessment. Int. J. of Climatol., 22, 1441-1453. Data and metadata available at http://www.ecad.eu

FILE FORMAT (MISSING VALUE CODE IS -9999):

01-06 SOUID: Source identifier 08-15 DATE : Date YYYYMMDD 17-21 RR : daily Precipitation amount in 0.1 mm 23-27 Q_RR : quality code for RR (0=‘valid’; 1=‘suspect’; 9=‘missing’)

This is the blended series of station FRANCE, PARIS-14E PARC MONTSOURIS (STAID: 38). Blended and updated with sources: 104968 118006 907149 907156 See file sources.txt and stations.txt for more info.

2 Préparation des données

2.1 Packages R utilisés

De nombreux packages sont disponibles sous R. En particulier, pour la visualisation des données, les packages sont de plus en plus nombreux et performants. Pour cette analyse, ce sera aussi l’occasion de découvrir :

  • dygraphs: un package qui permet de visualiser les séries temporelles, de façon interactive.
  • ggplot2: un package bien connu qui permet de réaliser des graphiques fantastiques!
  • plotly: ce package permet de créer des graphiques interactifs et il est compatible avec ggplot2. Et le site permet de publier directement les graphiques.
# install.packages("rmarkdown", type = "source")
# install.packages(c("zoo","TTR","forecast","fitdistrplus","ggplot2"))
library(data.table)
#library(zoo)
library(TTR)
#library(forecast)
#library(fitdistrplus)
library(ggplot2)
library(plotly)
library(dygraphs)
library(xts)

#save(data,file="test.RData")

2.2 Nettoyage des données

Avant de commencer l’analyse, il est nécessaire de préparer les données:

  • charger les données : data.frame ou data.table
  • vérifier les données manquantes
  • vérifier les formats des varialbes, les changer ou créer des variables nouvelles
#### creation ts ####
data=data.table(read.table("RR_STAID000038.txt",sep=",",header=TRUE,skip=19))
table(data$Q_RR)
data=data[Q_RR==0,]

data[,mj:=as.Date(substr(data[,DATE],5,8),"%m%d")]
data[,annee:=as.numeric(substr(data[,DATE],1,4))]
data[,semaine:=as.numeric(format(as.Date(paste0(substr(data[,DATE],7,8),"/",
                                                substr(data[,DATE],5,6),"/",
                                                substr(data[,DATE],1,4)),"%d/%m/%Y"), "%W"))]

data[,Date:=as.Date(paste0(substr(data[,DATE],7,8),"/",
                           substr(data[,DATE],5,6),"/",
                           substr(data[,DATE],1,4)),"%d/%m/%Y")]
data[,t:=ifelse(RR==0,0,1)]

3 Visusalisation des séries temporelles

3.1 Toute la série des données

Grâce à dygraphs, vous pouvez:

  • pointer la souris sur le grpahique pour voir les données quantitatives
  • sélectionner une période pour avoir un zoom plus grand (vous double cliquer pour dézoomer)
  • ajuster la période de calcul de moyennes pour lisser la courbe (nombre de jours à entrer en bas à gauche du graphique)
ts=xts(data$RR,order.by=data$Date,frequency=365)

dygraph(ts, main = "Précipations à Paris", ylab = "Quantité (0.1mm)") %>% 
  dyRoller(rollPeriod = 61)%>%
  dyOptions(fillGraph = TRUE, fillAlpha = 0.4) %>% 
  dyRangeSelector()

3.2 Données par jour

On peut ramener toutes les données sur une année (en supposant qu’il y a une certaine saisonalité dans les données).

par_jour=data[,.(.N,m=mean(RR),nj=mean(t),
              q60=quantile(RR,probs = 0.6),
              q70=quantile(RR,probs = 0.7),
              q80=quantile(RR,probs = 0.8),
              q90=quantile(RR,probs = 0.9),
              q95=quantile(RR,probs = 0.95)),by=mj]

par_jour=par_jour[order(mj),]

3.2.1 Moyennes journalières

La période de calcul de moyenne peut être changé dans la case en bas à gauche du grahpique. En lissant avec 30 jours, on peut voir que la période de début fin représent un pic annuel en terme de précipitations.

par_jour_ts=xts(par_jour$m,order=par_jour$mj,frequency=1)

dygraph(par_jour_ts, main = "Précipitations dans une année à Paris", ylab = "Quantité (0.1mm)") %>% 
  dyRoller(rollPeriod = 7)%>%
  dyOptions(fillGraph = TRUE, fillAlpha = 0.4)

3.2.2 Quelques quantiles

On peut également afficher plus d’informations, avec quelques quantiles intéressants. On peut constater que pur les quantiles inférieurs à 50% sont très souvent nuls.

par_jour_ts=xts(par_jour[,c("m","q60","q70","q80","q90"),with=F],order=par_jour$mj,frequency=1)

dygraph(par_jour_ts, main = "Précipitations dans une année à Paris", ylab = "Quantité (0.1mm)") %>% 
  dyRoller(rollPeriod = 7)%>%
  dyOptions(fillGraph = TRUE, fillAlpha = 0.4)

4 Probabilité conditionnelle du risque de pluie

Les quantitités de précipitations ont été moyennées, pour jours de pluie et les jours de beau temps. Afin d’analyse de façon un peu plus précise, on peut d’abord calculer une probabilité de précipitations; ensuite en cas de pluie, analyser la distribution des précipitations.

4.1 Nombre de jours de pluie

La probabilité de beau temps est variable au cours de l’année.

  • Pendant les mois de juillet à septembre, le risque de pluie pour un jour donné est de 39%.
  • Pendant les mois d’avril et de mai, le risque de pluie est de 46%.
  • Au début et à la fin d’année, la probabilité est aux alentours de 50%.
  • La moyenne annuelle est de 45%.

Ainsi, cela veut dire que pendant Roland Garros, il y a un jour sur deux, la précipitation journalière n’est pas nulle.

par_jour_ts=xts(par_jour$nj,order=par_jour$mj,frequency=1)

dygraph(par_jour_ts, main = "Précipitations dans une année à Paris", ylab = "Quantité (0.1mm)") %>% 
  dyRoller(rollPeriod = 7)%>%
  dyOptions(fillGraph = TRUE, fillAlpha = 0.4)

Plus précisément, on peut visualiser la répartition du nombre de jours de pluie sur les deux semaines de Roland Garros. Je ne sais pas si les numéros de semaines sont toujours les mêmes pour Roland Garros. Cette année, ce sont les numéros 21 et 22. Pour avoir un peu plus de données, j’ai pris 4 semaines.

  • En moyenne, on a 6,5 jours sur 14 avec risque de pluie.
  • Le maxmium historique, c’était 12 jours sur 14 (en 1946).
  • Le minimum est de 1 jour.
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.000   4.625   6.500   6.200   7.500  12.000

4.2 Densité des précipitations

Selon l’analyse des nombres de jours de pluie, on peut voir qu’on a une chance sur deux d’avoir de la pluie pendant Roland Garros. Maintenant, on doit également analyser la quantité de pluie. En effet, s’il y a juste quelques gouttes de pluie en présence d’un grand soleil, cela ne peut qu’ajouter du charme à Roland Garros. Aussi, les précipitations sont mesurées sur 24h, on ne pourra pas mesurer précisément les probabilités d’annulation.

4.2.1 Densité RG

On peut aussi afficher les quantiles :

##    0%    5%   10%   15%   20%   25%   30%   35%   40%   45%   50%   55% 
##   1.0   1.0   2.0   3.0   5.0   6.0   8.0  12.0  15.0  18.0  22.5  27.0 
##   60%   65%   70%   75%   80%   85%   90%   95%  100% 
##  33.0  40.0  48.0  58.0  70.0  86.0 114.0 163.9 682.0

On peut voir que ce sont en général de petites pluies. Il est difficile de quantifier le seuil pour lequel les matchs doivent être annulés. Pour mardi dernier, il y a un match de 2 heures et DEUX MINUTES, pour une quantité de 8,4mm de pluie.

4.2.2 Densité comparaisons

On peut comparer la densité pendant Roland Garros à d’autres périodes. On peut voir que les pluies pendant Roland Garros sont relativement plus grosses que les périodes d’hiver.

4.3 Probabilité d’annulation

De façon approximative, on peut dire que la probabilité d’annulation est de 4,5%. Ainsi, sur 14 jours, la probabilité de ne pas avoir d’annulations est de 52%, ce qui fait 48% de chance d’avoir au moins un jour d’annulé.

(1-0.045)^14
## [1] 0.5248645

5 Conclusion

Il est temps de couvrir de Roland Garros !