compliance_score

offre_realisee.domain.entities.regularite.compliance_score.calculate_compliance_score_for_each_borne(df_with_interval: DataFrame) DataFrame

Calcule un score de conformité pour la régularité pour une heure de passage réel selon les 2 passages théoriques les plus proches qui lui sont attribués (= borne inférieure et borne supérieure).

Les scores de conformité (régularité) pour chaque borne sont calculés ainsi :
  • ComplianceType.compliant (1).

  • ComplianceType.semi_compliant (0.65).

  • ComplianceType.situation_inacceptable_faible_frequence (-2): Intervalle entre 2 passages trop important.

  • ComplianceType.situation_inacceptable_train_de_bus (-1): Train de bus.

Parameters

df_with_intervalDataFrame

DataFrame qui contient, pour un arrêt, tous les intervalles (différence entre le passage p et le passage précédent p-1) de passages réels (=différence réelle) et théoriques (=différence théorique)

Returns

df_with_scoreDataFrame

DataFrame qui contient les scores de conformité calculés en fonction de la différence réelle et théorique (cf. tableau des scores de conformité pour la régularité de la notice)

offre_realisee.domain.entities.regularite.compliance_score.choose_best_score(df: DataFrame) DataFrame

Sélectionne le score de conformité pour la régularité le plus optimal pour chaque passage réel d’un arrêt. Trois situations sont possibles : 1. les intervalles supérieurs et inférieurs ne sont pas identiques, alors on sélectionne le plus petit intervalle de temps 2. les intervalles supérieurs et inférieurs sont identiques, alors on sélectionne celui qui donne le meilleur score 3. le passage réel est le premier de la période analysée, alors on fixe son score à « conforme »

Parameters

dfDataFrame

Dataframe en entrée qui contient les scores de conformité de la borne inférieure er borne supérieure

Returns

result_dfDataFrame

DataFrame qui contient les scores de conformités finaux et optimisés

offre_realisee.domain.entities.regularite.compliance_score.select_best_score_if_equals(df_score: DataFrame) DataFrame

Sélectionne le meilleur score de conformité pour la régularité dans le cas où les 2 intervalles (inférieur et supérieur) sont équidistants à l’heure réelle.

Parameters

df_scoreDataFrame

DataFrame qui contient les premiers scores de conformité

Returns

df_scoreDataFrame

DataFrame qui contient les scores de conformité déjà présents ainsi que les scores de conformités pour les passages dont les 2 intervalles sont égaux

offre_realisee.domain.entities.regularite.compliance_score.select_closest_defined_time_result(df_score: DataFrame) DataFrame

Sélectionne le score de conformité pour la régularité du plus petit intervalle de temps (inférieur et supérieur) afin d’optimiser ce score.

Parameters

df_scoreDataFrame

DataFrame qui contient pour l’instant des valeurs nulles dans la colonne « Résultats »

Returns

df_scoreDataFrame

DataFrame qui contient les scores de conformité dans les cas où les intervalles inférieurs et supérieurs sont différents pour un même passage

offre_realisee.domain.entities.regularite.compliance_score.set_first_record_to_compliant(df_score: DataFrame) DataFrame

Fixe un score de conformité pour la régularité « conforme » au premier passage de la période analysée. Le premier passage est toujours considéré comme « conforme » car il n’y a pas de passage précédent permettant de calculer un intervalle.

Parameters

df_scoreDataFrame

DataFrame qui contient les scores de conformité

Returns

df_scoreDataFrame

DataFrame qui contient les scores de conformité auxquels on a fixé le score de conformité du premier passage