Vélo’Viz
Méthodologie
Vélo’Viz · Lyon

Comment
ça marche ?

Du profil statistique historique à la prédiction delta-corrigée temps réel — le modèle qui se cache derrière chaque score de disponibilité.

0
Stations
0
Observations
0
Créneaux / jour
0
Historique
Découvrir
📡
Collecte
API Grand Lyon
toutes les 60 s
📊
Profils
P10 → P90
par créneau 15 min
Correction δ
δ₀ · ρ(k)
ρ = exp(−0.067·k)
🎯
Prédiction
Score de dispo
+ indice de confiance
01
Les données

18 mois · 435 stations
7,5 millions d'observations

Le système s'appuie sur l'API open data du Grand Lyon, qui expose en temps réel le nombre de vélos disponibles et de places libres pour chaque station Vélo'v. Ces données sont archivées à une résolution de 15 minutes, 24h/24, depuis plus d'un an et demi.

Chaque observation encode : station, horodatage, vélos disponibles, places libres, capacité totale, statut. La grandeur centrale du modèle est le taux de remplissagefill = vélos / capacité × 100 — exprimé en pourcentage.

🚉
435
stations actives dans le Grand Lyon
📦
7,5M
observations brutes dans l'historique
15 min
résolution temporelle · 96 créneaux/jour
📅
18+
mois d'historique pour les profils

02
Les profils statistiques

Un portrait précis de chaque station
par heure, par jour, par mois

Pour chaque station, on calcule la distribution empirique du taux de remplissage pour chaque triplet (mois, jour de semaine, créneau 15 min) — soit 96 × 7 × 12 = 8 064 profils par station. Plutôt que la moyenne — sensible aux pannes, fermetures et événements exceptionnels — on utilise les percentiles P10, P25, P50, P75, P90.

La médiane P50 représente le "lundi ordinaire à 8h30" statistiquement robuste. Les bandes P25–P75 et P10–P90 encadrent respectivement 50 % et 80 % des journées historiques. Cette représentation capture à la fois le comportement typique et la variabilité naturelle.

Profil type · Lundi — taux de remplissage sur 24 h (données synthétiques illustratives)
P10–P90 · 80% des obs.
P25–P75 · 50% des obs.
Médiane P50

03
Le modèle de correction delta

Une anomalie observée maintenant
persiste — mais s'efface progressivement

L'idée fondamentale : si une station est à 28 % alors qu'elle est habituellement à 52 % à cette heure, c'est probablement qu'un événement local a drainé les vélos. Cette anomalie δ₀ ne disparaît pas instantanément — elle se résorbe selon une décroissance exponentielle.

On modélise ce comportement par un processus de retour à la moyenne (type Ornstein-Uhlenbeck discret). La correction est pondérée par ρ(k), qui représente la "mémoire" du système à l'horizon k créneaux. Plus k est grand, plus la prédiction converge vers le profil statistique.

p50_fc(t+k) = clip( p50(t+k) + δ₀ · ρ(k), 0, 100 ) médiane corrigée à l'horizon k créneaux
δ₀ = fill_rt − p50(t_now) anomalie observée maintenant par rapport à l'historique
ρ(k) = exp(−0.067 · k) mémoire exponentielle · demi-vie ≈ 10 créneaux (2 h 30)
wf(k) = √(1 − ρ²(k)) élargissement progressif de l'intervalle de confiance
Pourquoi l'intervalle s'élargit-il ? À k = 0, la mesure temps réel est certaine : wf = 0, la bande de prédiction est nulle. À mesure que k → ∞, wf → 1 et l'intervalle revient à la largeur historique P25–P75. La transition est continue et rigoureuse.
Démonstration · Station observée à 28 % vs. historique ~52 % à 7 h — la prévision corrige puis converge
P25–P75 historique
Médiane historique
Observation RT (28 %)
Prévision P25–P75
Médiane corrigée

04
L'indice de confiance

La mémoire du système
s'efface en moins de 10 heures

À chaque horizon, le système calcule un indice de confiance basé sur ρ(k). À t = 0, la confiance est de 100 % — on lit directement le capteur. À mesure que k augmente, la prédiction converge vers le profil statistique et la confiance revient au niveau de base historique (~70 %).

Horizon k (créneaux) ρ(k) Confiance Régime
Décroissance de ρ(k) et élargissement wf(k) — sur un horizon de 20 heures
ρ(k) — poids de la correction RT (mémoire)
wf(k) = √(1−ρ²) — largeur relative de l'intervalle
Le paramètre τ = 0.067 a été estimé sur l'ensemble des stations par régression de l'autocorrélation des résidus fill_rt − p50_hist. La demi-vie résultante de ~10 créneaux (2 h 30) reflète la dynamique typique de flux d'une station Vélo'v lyonnaise.