module challenge.velib_trajectories
#
Short summary#
module ensae_projects.challenge.velib_trajectories
Une solution au problème proposée : Reconstruction de trajectoire velib
Classes#
class |
truncated documentation |
---|---|
Regroupe l’ensembles des paramètres pour le calcul de la distance associé à un appariement. |
Functions#
function |
truncated documentation |
---|---|
On veut apparier les événemens -1 aux événemens +1. On s’attend aux colonnes suivantes: “file”, “collect_date”, … |
|
Calcule une distance pour un appariement conçu ici comme la variance de la vitesse de chaque déplacement + la somme … |
|
Calcule la vitesse moyenne lorsque le chemin est connu. |
|
Construit la liste des événements (vélo réposé ou retiré). |
|
Récupère les données. |
|
Calcule la vitesse d’un déplacement. |
Properties#
property |
truncated documentation |
---|---|
Retourne les valeurs dans un dictionnaire. |
Methods#
method |
truncated documentation |
---|---|
usuel |
|
Retourne un coût, plus il est bas, plus de déplacement est probable. |
Documentation#
Une solution au problème proposée : Reconstruction de trajectoire velib
- class ensae_projects.challenge.velib_trajectories.ParemetreCoutTrajet(max_speed=50, high_speed=25, low_speed=5, high_time=0.75, low_time=0.1)#
Bases:
object
Regroupe l’ensembles des paramètres pour le calcul de la distance associé à un appariement.
- Parameters:
max_speed – au-delà, c’est une vitesse impossible
high_speed – au-delà, c’est la vitesse d’un cycliste
low_speed – en-deça, il vaut mieux marcher
high_time – au-delà, c’est une randonnée
low_time – en-deça, pourquoi un vélo
- __init__(max_speed=50, high_speed=25, low_speed=5, high_time=0.75, low_time=0.1)#
- Parameters:
max_speed – au-delà, c’est une vitesse impossible
high_speed – au-delà, c’est la vitesse d’un cycliste
low_speed – en-deça, il vaut mieux marcher
high_time – au-delà, c’est une randonnée
low_time – en-deça, pourquoi un vélo
- __str__()#
usuel
- cost(dh, dt, v)#
Retourne un coût, plus il est bas, plus de déplacement est probable.
- Parameters:
dh – distance
dt – durée
v – vitesse
- Returns:
coût
- property values#
Retourne les valeurs dans un dictionnaire.
- ensae_projects.challenge.velib_trajectories.appariement(events, iter=1000, params=<ensae_projects.challenge.velib_trajectories.ParemetreCoutTrajet object>, fLOG=<built-in function print>)#
On veut apparier les événemens -1 aux événemens +1. On s’attend aux colonnes suivantes: “file”, “collect_date”, “name”, “lat”, “lng”, +1 ou -1. La fonction part des deux séries d’évéments rangés par ordre croissant, puis il permute deux appariements tant que cela diminue l’erreur d’appariement.
- Parameters:
events – list d’événements produits par la fonction
enumerate_events
iter – nombre d’itérations
params – ParemetreCoutTrajet
fLOG – logging function
- Returns:
tuple (mindist, moyenne, appariement, positif, negatif)
- ensae_projects.challenge.velib_trajectories.distance(positif, negatif, app, params)#
Calcule une distance pour un appariement conçu ici comme la variance de la vitesse de chaque déplacement + la somme des coûts de chaque appariement retourné par la fonction
vitesse
.- Parameters:
positif – vélos pris (ou l’inverse)
negatif – vélos remis (ou l’inverse)
app – appariement (list de tuple (i,j))
params –
ParemetreCoutTrajet
- Returns:
tuple: vitesse moyenne (sans appariements négatifs), distance, vitesse moyenne avec, nombre d’appariements négatifs
- ensae_projects.challenge.velib_trajectories.distance_path(dfp)#
Calcule la vitesse moyenne lorsque le chemin est connu.
- Parameters:
dfp – liste des chemins
- Returns:
moyenne, stddev
- ensae_projects.challenge.velib_trajectories.enumerate_events(df)#
Construit la liste des événements (vélo réposé ou retiré).
- Parameters:
df – DataFrame
- Returns:
énumère événéments (ierator) (“file”, “collect_date”, “name”, “lat”, “lng”, +1 ou -1)
- ensae_projects.challenge.velib_trajectories.get_data(whereto)#
Récupère les données.
- Parameters:
whereto – destination
- ensae_projects.challenge.velib_trajectories.vitesse(c, d, params)#
Calcule la vitesse d’un déplacement.
- Parameters:
c – tuple (“file”, “collect_date”, “name”, “lat”, “lng”, +1 ou -1)
d – tuple (“file”, “collect_date”, “name”, “lat”, “lng”, +1 ou -1)
params – ParemetreCoutTrajet
- Returns:
vitesse, cout
La fonction retourne une valeur aberrante si le temps entre les deux événements est négatifs. C’est une configuration impossible : on ne peut reposer un vélo avant de l’avoir retiré. La valeur aberrante est
1e8
.Il reste un cas pour lequel, je ne sais pas encore quelle valeur donner : il s’agit des demi-appariements : un vélo rétiré mais jamais reposé et réciproquement.