Sur http://opendata.stif.info/, on peut avoir accès à des trafics journaliers sur des lignes de bus en région parisienne.
> base1=read.csv(
"/home/charpentier/Téléchargements/validations-sur-le-reseau-de-surface-nombre-de-validations-par-jour-1er-sem (1).csv", sep=";")
> base1=base1[-which(base1$LIBELLE_LIGNE%in%
c("Inconnu","NON DEFINI")),]
> dim(base1)
[1] 991842 8
Il faut faire un peu attention avec le trafic, qui est ici un facteur (à cause de réponses du type ‘moins de 5’)
> base1$NB_VALD=as.numeric( + as.character(base1$NB_VALD))
On peut considerer une ligne de bus particulière, par exemple entre la porte de St-Cloud et la Bibliothèque Nationale,
> id="PARIS-16 (Porte de St-Cloud) - PARIS-13 (Bibliothèque F. Mitterrand)"
ce qui pourrait être la ligne 62,

On peut spécifier ensuite la catégorie du titre de transport, comme une carte navigo, ou une carte imagine’r (étudiants et scolaires)
> B_navigo=base1[(base1$LIBELLE_LIGNE==id)&(base1$CATEGORIE_TITRE=="NAVIGO"),] > B_ir=base1[(base1$LIBELLE_LIGNE==id)&(base1$CATEGORIE_TITRE=="IMAGINE R"),]
Comme on va visualiser une série temporelle, on doit trier en fonction de la date
> B_navigo$date=as.Date(B_navigo$JOUR,"%d/%m/%Y") > B_navigo=B_navigo[order(B_navigo$date),]
Sur les 6 premiers mois de 2015, on observe la série temporelle suivante (avec une carte navigo)
> plot(B_navigo$date,B_navigo$NB_VALD,type="l")

Si on regarde en fonction du jour de la semaine, du dimanche au samedi,
> jour=as.POSIXlt(B_navigo$date)$wday
> x=B_navigo$NB_VALD
> plot(jour,x,axes=FALSE,ylim=c(-1000,max(x)))
> Z_m=tapply(as.numeric(x),as.factor(jour),mean)
> lines(as.numeric(names(Z_m)),Z_m,col="red")
> axis(2)
> text(0:6,rep(-1000,7),
+ c("D","L","M","M","J","V","S"))
on obtient

avec une tendance qui ne présente pas trop de surprise : beaucoup de monde les jours de semaine, moins le samedi, et encore moins le dimanche. Pour la carte étudiante, on a une tendance un peu différente
> B_ir$date=as.Date(B_ir$JOUR,"%d/%m/%Y") > B_ir=B_ir[order(B_ir$date),] > plot(B_ir$date,B_ir$NB_VALD,type="l")
avec sur les premiers mois de 2016,

On retrouve les deux périodes de vacances, et une étrange tendance: une hausse jusqu’en avril, puis une décroissance (sur les jours de semaine). Si on regarde en fonction du jour de la semaine
> jour=as.POSIXlt(B_ir$date)$wday
> x=B_ir$NB_VALD
> plot(jour,x,axes=FALSE,ylim=c(-1000,max(x)))
> Z_m=tapply(as.numeric(x),as.factor(jour),mean)
> lines(as.numeric(names(Z_m)),Z_m,col="red")
> axis(2)
> text(0:6,rep(-1000,7),
+ c("D","L","M","M","J","V","S"))
On a ici, là encore, beaucoup moins de trafic le dimanche que les jours de la semaine,

On verra – si on a le temps – pour utiliser ces données dans le cadre du cours de séries temporelles.
Depuis le début de la semaine, après avoir déposé les enfants au camp de jour du Musée des Beaux Arts, je viens à pieds à l’université. Chaque fois, je me dis que je pourrais prendre le bus, mais comme aucun ne vient, je commence en marchant, en me disant que si un bus passe, je le prendrais. Et tous les matins, j’arrive au bureau sans m’être fait dépassé par le moindre bus. Et bien sur, j’en ai croisé un paquet qui passaient en sens inverse…
à parcourir, on suppose que les bus sont espacés d’une distance
, et qu’ils avancent à une vitesse
. Autrement dit, les bus passent tous les
secondes (si ma vitesse est exprimée en secondes).
avec
(oui, on va supposer que je vais moins vite que le bus… ce qui n’est pas forcément une hypothèse faible aux heures de pointes, mais disons que le problème n’a de sens que si aller en bus me permet d’aller plus vite). Le temps que je vais mettre si je fais tous le trajet à pied est
. Maintenant, comptons les bus qui passent en face. Je vais croiser tous ceux qui sont déjà sur ma portion de trajet, et il y en a
. En plus, je croiserais tous ceux qui vont arriver à l’université, et qui n’y sont pas encore, soit
, i.e. le temps qu’il me reste à marcher divisé par le temps qui s’écoule entre deux bus. On a alors un total de
bus à croiser, en face.

