JMPivette / evavelo

Automatic Treatment on EVA-VELO Method
https://jmpivette.github.io/evavelo/
Other
0 stars 0 forks source link

Problème d'affectation de profils (cas itinérant) #39

Closed JMPivette closed 3 years ago

JMPivette commented 3 years ago

Pour tous les cas qui incluent soit un profil visuel itinérant, soit un déclaratif itinérant, il faut souvent se référer aux questions spécifiques des itinérants. A savoir : distance, villes, expérience. Dans un de nos échanges il me semble que l’on avait statué qu’il fallait au moins deux réponses pour que ce soit valable. Mais en pratique quand je teste, dès lors que les deux seules réponses aux questions itinérants portent sur la ville et l’expérience cela ne fonctionne pas (pas retenu comme itinérant). Cela ne fonctionne que si la distance est présente dans le couple. A contrario, quand la distance est seule, le profil itinérant est retenu, alors que si la règle est au moins deux, cela ne devrait pas. Mais peut-être que j’ai loupé quelque chose dans nos échanges.

JMPivette commented 3 years ago

@VeloTerritoires Je suis en train d'analyser le cas 1 , questionnaire A10.

L'usager n'est pas considéré comme "itinérant" car [iti_arrivee_itineraire] n'appartient pas à l'itinéraire (Tours). Vue qu'il n'a pas de valeur de dms, le critère de coherence n'est pas respecté: https://github.com/JMPivette/evavelo/discussions/7#discussioncomment-293242

On doit avoir le même problème sur plusieurs cas ensuite

JMPivette commented 3 years ago

Sur A23, il y a bien un bug de mon côté. Je n'avais pas pris en compte le cas de [dms]=0. J'étais parti du principe que la réponse était forcément supérieure à 0. Je vais corriger en traitant les dms à 0 comme des données manquantes?

JMPivette commented 3 years ago

Toujours sur le cas 1, je teste les réponses A11 A12 A13 qui sont assez similaires.

Je pense que j'ai mal interprété le critère de cohérence suivant:

  • Une distance parcourue pendant l'ensemble du voyage [iti_km_voyage] / [dms] > 40 km OU

    • Des communes de départ et d'arrivée sur l'itinéraire qui appartiennent à l'itinéraire ET
    • La présence de réponse à au moins deux des trois questions : [iti_km_voyage], [iti_depart_initial], [iti_depart_itineraire], [iti_arrivee_itineraire], [iti_arrivee_final], *[iti_experience]

Pour moi, dans

[iti_depart_initial], [iti_depart_itineraire], [iti_arrivee_itineraire], [iti_arrivee_final],

il fallait que ces 4 champs soient remplis pour que ce soit considéré comme une des 3 reponses validées. Est-ce qu'une réponse à une seule de ces 4 champs correspond à une réponse valide?

SteffMangin commented 3 years ago

Pour le A10... grrr j'ai tellement l'habitude de l'EV6... Désolée. Je n'ai pas fait gaffe. Mais du coup quand c'est en iti_arrivee_final (je ne sais plus le nom) cela devrait fonctionner, je ne suis plus sûre que ce soit le cas. Il faudrait que je vérifie... mais je n'ai pas fini ma réunion/webinaire et après je dois partir à l'école. Ce ne sera donc pas aujourd'hui. Désolée.

SteffMangin commented 3 years ago

@JMPivette pour la dms à 0 cela peut arriver qu'un excursionniste réponde par erreur à la question (dans ce cas le chiffre sera retiré au nettoyage), ou qu'un touriste se trompe ou qu'il y ait une erreur de saisie mais cela devra être corrigé au nettoyage. Donc une dms à 0 serait à considérer ici comme une non réponse à la question.

SteffMangin commented 3 years ago

Pour ton troisième point, il me semblait bien qu'il me manquait quelque chose mais je n'arrivais plus à me souvenir de distance parcourue pendant l'ensemble du voyage [iti_km_voyage] / [dms] > 40 km... Pour les histoires de début et d'arrivée. Pour moi, il faut au moins deux villes (un départ et une arrivée).

JMPivette commented 3 years ago

Redéfinition du critère de cohérence: https://github.com/JMPivette/evavelo/discussions/7#discussioncomment-383509

JMPivette commented 3 years ago

J'ai modifié en appliquant le nouveau critère de cohérence. Voici en PJ le résultat de l'analyse (en ayant remplacé Tours par Biscarrosse dans [iti_arrivee_itineraire]

Test_stm_v2_out.zip

La plupart des erreurs ont disparu mais il reste quelques différences que j'analyse. (cas 1 : A32, A41, A68 / cas 2 : A32, A41, A68 )

JMPivette commented 3 years ago

Je suis rentré un peu dans le détail pour le cas A32. Tu me confirmes que si

Alors il ne s'agit pas d'un itinérant.

JMPivette commented 3 years ago

@VeloTerritoires Je pense que j'ai un petit problème d'interprétation de cette partie :

Si le type de sortie déclarée n’est pas « une randonnée sur plusieurs jours » et la durée de séjour supérieure à 1 jour et/ou que des réponses cohérentes ont été apportées aux questions spécifiques des itinérants, alors le cycliste sera attribué à la catégorie « itinérant ».

Si on applique strictement avec les critère d'itinérance, alors l'utilisateur suivant:

sera considéré comme "itinérant" ([iti_km_voyage] / [dms] > 40 km suffit pour considérer la réponse comme cohérente) .

Du coup c'est peut-être le critère de "cohérence" qui est à modifier en remplaçant le premier critère [iti_km_voyage] / [dms] > 40 kmpar [iti_km_voyage] / [dms] > 40 km ET dms > 1

En appliquant cette modification, j'obtiens les bon résultats en A32 et A68 sans affecter les autres résultats

JMPivette commented 3 years ago

@VeloTerritoires Pour le cas A41

A41 Si différent plusieurs + dms > 1 + réponse questions iti (dist) = iti >> si on considère qu'il faut au moins deux réponses >> devrait être sportif)

On est aussi sur un problème d'interprétation au niveau du critère de cohérence je pense: Le cas usager est le suivant:

Eva-Scan le considère comme "itinérant" car le critère [iti_km_voyage] / [dms] > 40 km suffit pour valider la cohérence des réponses itinérantes.

https://github.com/JMPivette/evavelo/discussions/7#discussioncomment-383509

SteffMangin commented 3 years ago

@JMPivette Pour le cas 41, je suis désolée, je n'avais plus en mémoire que l'on avait défini se critère de km/dms > 40. Donc tu peux considérer que c'est bon.

SteffMangin commented 3 years ago

@JMPivette Concernant le point suivant :

@VeloTerritoires Je pense que j'ai un petit problème d'interprétation de cette partie :

Si le type de sortie déclarée n’est pas « une randonnée sur plusieurs jours » et la durée de séjour supérieure à 1 jour et/ou que des réponses cohérentes ont été apportées aux questions spécifiques des itinérants, alors le cycliste sera attribué à la catégorie « itinérant ».

Si on applique strictement avec les critère d'itinérance, alors l'utilisateur suivant:

  • [type_sortie] <> Plusieurs jours
  • dms <= 1
  • [iti_km_voyage] / [dms] > 40 km
  • Aucune autre réponse que [iti_kmvoyage] dans les questions [iti*]

sera considéré comme "itinérant" ([iti_km_voyage] / [dms] > 40 km suffit pour considérer la réponse comme cohérente) .

Du coup c'est peut-être le critère de "cohérence" qui est à modifier en remplaçant le premier critère [iti_km_voyage] / [dms] > 40 kmpar [iti_km_voyage] / [dms] > 40 km ET dms > 1

En appliquant cette modification, j'obtiens les bon résultats en A32 et A68 sans affecter les autres résultats.

Ok pour rajouter la dms > 1 mais uniquement dans le cas où le type de sortie <> de plusieurs jours. Par contre du coup, si <>plusieurs jours et dms <=1 et qu'il ya des infos itinérants cela va donner quoi dans ton modèle ? Le déclaratif du répondant ?

SteffMangin commented 3 years ago

@JMPivette Pour le cas :

Je suis rentré un peu dans le détail pour le cas A32. Tu me confirmes que si

  • [type_sortie] = Plusieurs jours
  • dms <= 1
  • [iti_km_voyage] / [dms] > 40 km
  • Aucune autre réponse que [iti_kmvoyage] dans les questions [iti*]

Alors il ne s'agit pas d'un itinérant.

Oui je pense que comme dms <=1 cela devrait être le profil du déclarant

JMPivette commented 3 years ago

@JMPivette Concernant le point suivant :

@VeloTerritoires Je pense que j'ai un petit problème d'interprétation de cette partie : Si le type de sortie déclarée n’est pas « une randonnée sur plusieurs jours » et la durée de séjour supérieure à 1 jour et/ou que des réponses cohérentes ont été apportées aux questions spécifiques des itinérants, alors le cycliste sera attribué à la catégorie « itinérant ». Si on applique strictement avec les critère d'itinérance, alors l'utilisateur suivant:

  • [type_sortie] <> Plusieurs jours
  • dms <= 1
  • [iti_km_voyage] / [dms] > 40 km
  • Aucune autre réponse que [iti_kmvoyage] dans les questions [iti*]

sera considéré comme "itinérant" ([iti_km_voyage] / [dms] > 40 km suffit pour considérer la réponse comme cohérente) . Du coup c'est peut-être le critère de "cohérence" qui est à modifier en remplaçant le premier critère [iti_km_voyage] / [dms] > 40 kmpar [iti_km_voyage] / [dms] > 40 km ET dms > 1 En appliquant cette modification, j'obtiens les bon résultats en A32 et A68 sans affecter les autres résultats.

Ok pour rajouter la dms > 1 mais uniquement dans le cas où le type de sortie <> de plusieurs jours. Par contre du coup, si <>plusieurs jours et dms <=1 et qu'il ya des infos itinérants cela va donner quoi dans ton modèle ? Le déclaratif du répondant ?

Actuellement, le cas de figure

Dans cet algorithme, je n'utilise pas de notion de "déclaratif du répondant". Les cas sont symetriques dans la méthodologie. Par exemple, les cas 3(Itinérant/Loisir) et 10(Loisir/Itinérant) sont strictement identiques

SteffMangin commented 3 years ago

@JMPivette Cette symétrie normalement doit poser pb quand il n'y a pas de réponse aux questions clés. Car la méthode prévoit (en fin de présentation des différents cas) qu'en cas d'impossibilité de trancher c'est la réponse du répondant qui l'emporte. Du coup dans l'un des cas ce sera le loisir et dans l'autre l'itinérant.

JMPivette commented 3 years ago

Peut-être qu'avec un schéma, on verra plus clair. Pour l'instant ma compréhension de tous les cas possibles dans le cas d'une réponse "itinérant" (que ce soit en visuel ou déclaratif) est la suivante: crit_iti

Il n'existe a priori pas de cas pour lesquels on ne peut pas trancher.

SteffMangin commented 3 years ago

image

JMPivette commented 3 years ago

Voici un schéma avec toutes les possibilités.

NA correspond à une absence de réponse.

Je ne l'utilise que sur type_séjour et dmscar le critère 2 sur 3 est déjà un critère de vérification de présence de données. crit4

SteffMangin commented 3 years ago

@JMPivette ça m'a l'air bien tout ça. J'aurai du commencer par ça quand j'ai rédigé ;-). Je suis vraiment pas douée.

JMPivette commented 3 years ago

J'ai appliqué le schéma ci dessus sur les fichiers de tests. Voici les resultats. Test_stm_v2_out 2.zip

En regardant rapidement le cas 1, j'ai quelques différences avec les résultats que tu attendais:

A41 : Passe en itinérant car iti_km/dms>40 A46 -> A49: Sportif car différent de plusieurs et absence de dms A56 -> A59 et A64 -> A67 : Sportif car différent de plusieurs et dms <=1

SteffMangin commented 3 years ago

@JMPivette Désolée, je viens seulement de raccrocher avec Laure. Je n'ai pas regardé ton fichier mais pour les différents exemples que tu cites, A41 ok A46 à 49, il faudra que je modifie le guide méthodo pour inclure la notion de dms partout A 56-59 et 64-67 c'est la même chose, il faudra que modifie le guide pour inclure la notion de dms.

On dit que c'est bon. C'est mon dernier mot ;-)