Introduction

La méthode EVA-VELO propose de vérifier différentes valeurs numériques afin d’éliminer les valeurs extrêmes qui seraient liées à une erreur de saisie.

Les champs de l’enquête à vérifier sont:

  • km_sortie
  • revenu
  • dms
  • tour_dep_xxx

Eva-Scan permet d’identifier ces valeurs “extrêmes” sans pour autant modifier le fichier Excel. Ces valeurs identifiées doivent en effet être revues manuellement pour vérifier s’il s’agit d’une erreur de saisie ou non.

La vérification s’effectue par l’appel à la fonction check_num_outliers() ou en cliquant sur Chercher valeurs numériques anormales dans l’application web.

Valeurs anormales

Revenu [revenu]

L’ensemble des revenus de l’enquête sont analysés:

  • Le premier et le dernier centile sont identifiés
  • Des valeurs supplémentaire sont identifiées en utilisant la méthode du “1,5 x IQR”:

Cette méthode consiste à détecter le premier quartile (Q1) et le dernier quartile (Q3) puis de calculer l’écart interquartile IQR = Q3 - Q1 .

Nous détectons ensuite toutes les valeurs supérieures à Q3 + 1,5 x IQR et toutes celles inférieures à Q1 - 1,5 x IQR.

Distance de la sortie [km_sortie]

La méthode de détection des valeurs extrêmes sur km_sortie est la même que pour revenu avec une analyse séparée pour chacune des categorie_corrigee.

Durée moyenne de séjour [dms]

Les valeurs de dms suivantes sont identifiées:

  • Le premier et le dernier centile
  • La méthode “1,5 x IQR”
  • Les valeurs inférieures à 1
  • Les valeurs égales à 365

Pour ces analyses, le regroupement se fait par mode_heb_regroupe. Si jamais un groupe a plus de 200 réponses, il est subdivisé en fonction de categorie_corrige_corrige sans pour autant créer de groupes de moins de 50 réponses.

Dépenses [tour_dep_xxx]

8 variables de type tour_dep_xxx sont analysées en cherchant en cherchant le premier et dernier centile et en utilisant la méthode “1,5 x IQR”.

Le regroupement va dépendre des variables:

Regroupement par [categorie_corrige]

Les dépenses suivantes sont regroupées par categorie_corrige avant la recherche de valeurs anormales:

  • tour_dep_alim,
  • tour_dep_activites
  • tour_dep_souvenirs
  • tour_dep_location
  • tour_dep_autres

Regroupement par [mode_heb_regroupe]

Les dépenses suivantes sont regroupées par mode_heb_regroupe avant la recherche de valeurs anormales:

  • tour_dep_to_jour,
  • tour_dep_heb

Dépenses de transport [tour_dep_transp]

La détection d’anomalies sur tour_dep_transp est réalisée en effectuant un regroupement par la variable mode_transp_jour à condition qu’il y ait a minima 100 réponses par mode de transport. Les modes de transports plus rares sont regroupés ensemble.

Eva-Scan va aussi détecter les cas pour lesquels mode_transport_jour vaut “aucun” et qui ont cependant une valeur non nulle pour tour_dep_transp

Exemple de traitement

## Calcul des categories corrigées
categorie_corrige <- process_evavelo(
  evavelo::evavelo_example_geocoded
)$enquetes_post_traitement$categorie_corrige
## Recherche des valeurs anormales
check_num_outliers(evadata = evavelo_example_geocoded,
                   categorie_corrige =  categorie_corrige)
#> $km_sortie
#> # A tibble: 12 × 4
#> # Groups:   categorie_corrige [4]
#>    id_quest categorie_corrige km_sortie raison         
#>    <chr>    <chr>                 <dbl> <chr>          
#>  1 106aA24  Loisir                  100 dernier centile
#>  2 106aA33  Loisir                    3 premier centile
#>  3 141A9    Loisir                    3 premier centile
#>  4 141A13   Loisir                   60 1.5 x IQR      
#>  5 141A20   Loisir                   70 1.5 x IQR      
#>  6 141A21   Loisir                   70 1.5 x IQR      
#>  7 141A22   Utilitaire               70 dernier centile
#>  8 141A23   Sportif                  70 1.5 x IQR      
#>  9 141A67   Itinérant                12 premier centile
#> 10 106bA7   Sportif                   2 premier centile
#> 11 106bA51  Sportif                 100 dernier centile
#> 12 4A1      Utilitaire                4 premier centile
#> 
#> $dms
#> # A tibble: 15 × 6
#> # Groups:   mode_heb_regroupe, categorie_lump [6]
#>    id_quest mode_heb_regroupe      categorie_corrige categorie_lump   dms raison
#>    <chr>    <chr>                  <chr>             <chr>          <dbl> <chr> 
#>  1 141A1    Hôtels/Chambres d'hôt… Itinérant         All               18 derni…
#>  2 141A5    NA                     Loisir            All                3 premi…
#>  3 141A13   Campings               Loisir            All                3 premi…
#>  4 141A24   Non marchand           Itinérant         All              120 derni…
#>  5 141A44   Non marchand           Itinérant         All               50 1.5 x…
#>  6 141A55   Hôtels/Chambres d'hôt… Loisir            All                2 premi…
#>  7 141A60   Hébergements locatifs  Loisir            All                4 premi…
#>  8 141A67   Campings               Itinérant         All              365 = 365 
#>  9 106bA37  Campings               Itinérant         All               90 1.5 x…
#> 10 4A7      Hôtels/Chambres d'hôt… Loisir            All               15 1.5 x…
#> 11 4A18     Non marchand           Loisir            All               31 1.5 x…
#> 12 38A19    Hébergements locatifs  Loisir            All               21 derni…
#> 13 38A24    Auberges de jeunesse,… Itinérant         All               14 derni…
#> 14 38A25    Auberges de jeunesse,… Itinérant         All                7 premi…
#> 15 38A30    NA                     Loisir            All                5 derni…
#> 
#> $revenu
#>   id_quest revenu          raison
#> 1  106aA29      0 premier centile
#> 2   141A40  20000 dernier centile
#> 3  106bA20  10000       1.5 x IQR
#> 4  106bA38  10000       1.5 x IQR
#> 5  106bA50  10000       1.5 x IQR
#> 
#> $tour_dep_cat
#> # A tibble: 0 × 4
#> # Groups:   depense, categorie_corrige [0]
#> # ℹ 4 variables: id_quest <chr>, categorie_corrige <chr>, depense <chr>,
#> #   valeur <dbl>
#> 
#> $tour_dep_heb
#> # A tibble: 6 × 5
#> # Groups:   depense, mode_heb_regroupe [4]
#>   id_quest mode_heb_regroupe                               depense valeur raison
#>   <chr>    <chr>                                           <chr>    <dbl> <chr> 
#> 1 106aA12  Hôtels/Chambres d'hôtes                         tour_d…    160 derni…
#> 2 141A28   Campings                                        tour_d…     75 derni…
#> 3 106bA5   Hébergements locatifs                           tour_d…    300 derni…
#> 4 38A19    Hébergements locatifs                           tour_d…      9 premi…
#> 5 38A24    Auberges de jeunesse, gîte d’étapes, de groupes tour_d…     50 derni…
#> 6 38A25    Auberges de jeunesse, gîte d’étapes, de groupes tour_d…     35 premi…
#> 
#> $tour_dep_transp
#> # A tibble: 0 × 4
#> # Groups:   mode_transp_lump [0]
#> # ℹ 4 variables: id_quest <chr>, mode_transp_jour <chr>, tour_dep_transp <dbl>,
#> #   mode_transp_lump <chr>