Statistiques et data mining

Master Hydrosystèmes et Bassins Versants

Louis Manière

Université de Tours

2025-09-30

Introduction

Les statistiques

L’ensemble des méthodes qui ont pour objet la collecte, le traitement et l’interprétation de données d’observation relatives à un groupe d’individus ou d’unités.

  • Statistique descriptive : Décrire, résumer, visualiser des données.
  • Statistique inférentielle (Inférence statistique) : induire des caractéristiques sur une population à partir d’un échantillon (relation, distribution).

Population ou échantillon ?

  • Population : ensemble des individus ou unités statistiques sur lesquels on veut faire des observations.
  • Echantillon : sous-ensemble de la population, choisi de manière aléatoire ou non, qui permet de faire des observations.

Sélection de tous les bruns de la salle, population ou échantillon ?

Le data mining

L’exploration et l’analyse de base de données pour le résumer, détecter des règles, des tendances, des associations ou des structures particulières. L’exploration des bases de données existantes en géosciences peut être utilisée pour détecter des nouvelles tendances ou comportements dans des milieux ou bien préparer une étude avant de une campagne de mesure.

Objectifs du cours

  • Apprendre à décrire un jeu de données, le synthétiser pour mettre en évidence les informations pertinentes qu’il contient et ses limites pour répondre à certaines questions.

  • Pourvoir créer de nouvelles informations à partir de relations ou comportements identifiés dans les données. Utiliser ces informations pour prédire de nouvelles données et identifier communauté d’individus communs ou différents.

  • Acquérir des outils de manipulation, description et d’analyse de données.

  • Avoir une démarche critique sur les données, les outils statistiques et les résultats obtenus.

R et RStudio

  • Un logiciel et language de développement très complet, gratuit et open source avec une communauté active.
  • Permet de reproduire et partager facilement les analyses.
  • Un début apprentissage un peu plus difficile que des logiciels “clé en main”.

1

Ressources et sources du cours

Pour éviter R studio : - Logiciel Jamovi - Logiciel Rattle

Plan du cours

  • Introduction
  • Statistiques univariées
  • Statistiques bivariées
  • La comparaison de jeux de données
  • Statistiques multivariées ou multimentionnelles
  • Classification

Données utilisées


  • Données hydromorphologiques issus du protocole CARHYCE (Agence Française de la Biodiversité). Des données retravaillées et valorisées sont disponibles sur IED CARHYCE (CNRS-AFB)1
    • Mesures de morphologie du lit, de granulométrie, de débit et de ripisylve.
    • Des données enrichies par des estimations à plein bord et les surfaces des bassins versant.
    • Plus de 2000 stations de mesures.

Installation des (nombreux?) packages

# install all necessary packages
install.packages(c("ggplot2", "gridExtra", "dplyr", "tidyr", "tibble", 
                   "janitor", "skimr", "dataMaid", "plotly", 
                   "e1071", "gmodels", "ggpmisc", "nortest", 
                   "FactoMineR", "factoextra", "gtsummary", 
                   "explor", "boot", "qqplotr", "corrplot",
                   "readxl", "sf", "tmap"))

Importons les pakages du cours

library(rlang) # for the sym function
library(ggplot2) # Graphics
library(gridExtra) # Multiple plots
library(tibble) # Table visualisation
library(janitor) # Column names cleaning
library(skimr) # Data summary
library(dataMaid) # Data report
library(plotly) # Interactive plots
library(e1071) # Skewness
library(gmodels) # Contingency tables
library(ggpmisc) # Regression line
library(nortest) # Normality tests
library(FactoMineR) # Factorial analysis
library(factoextra) # Factorial analysis
library(gtsummary) # Regression summary
library(explor) # Data exploration
library(boot) # Bootstrap
library(qqplotr) # QQ-plot
library(corrplot) # Correlation plot
library(readxl) # Excel files
library(sf) # Spatial data
library(tmap) # Thematic maps
library(dplyr) # Data manipulation
library(tidyr) # Data cleaning

Explorons le jeu de données

# import dataset
carhyce_brute <- read.csv("data/Operations_CARHYCE_2024-06-25.csv",
                  sep=";",dec=",",header=TRUE, encoding = "utf-8")
print(as_tibble(head(carhyce_brute)))
# A tibble: 6 × 93
  Identifiant.opération Localisation.station.de.mes…¹ Code.station      X      Y
                  <int> <chr>                                <int>  <dbl>  <dbl>
1                     1 L'HELPE MAJEURE À EPPE SAUVA…      1001122 784154 7.00e6
2                     2 L'HELPE MINEURE À MAROILLES …      1006000 757929 7.00e6
3                     3 LA SAMBRE RIVIÈRE À BERGUES …      1009300 751051 6.99e6
4                     4 L'ESCAUT RIVIÈRE À CRÉVECOEU…      1010000 717769 7.00e6
5                     5 LA CLARENCE À CHOCQUES (62)        1069000 669615 7.05e6
6                     6 L'YSER À BAMBECQUE (59)            1089000 668113 7.09e6
# ℹ abbreviated name: ¹​Localisation.station.de.mesure
# ℹ 88 more variables: Identifiant.point.prélèvement <int>,
#   Date.réalisation <chr>, Débit.mesuré..m3.s. <dbl>,
#   Débit.station.hydro..m3.s. <dbl>, Distance.interpoint..m. <dbl>,
#   Largeur.plein.bord.évaluée..m. <dbl>, Largeur.mouillée.évaluée..m. <dbl>,
#   Longueur.réelle.opération..m. <dbl>,
#   Longueur.théorique.opération..m. <dbl>, Pente.ligne.d.eau.... <dbl>, …

Dimensions et variables

names(carhyce_brute) # variable names
class(carhyce_brute) # table type (data.frame)
dim(carhyce_brute)   # table dimension
str(carhyce_brute)   # variable type
print(str(carhyce_brute))
'data.frame':   4339 obs. of  93 variables:
 $ Identifiant.opération                                  : int  1 2 3 4 5 6 7 8 9 10 ...
 $ Localisation.station.de.mesure                         : chr  "L'HELPE MAJEURE À EPPE SAUVAGE (59)" "L'HELPE MINEURE À MAROILLES (59)" "LA SAMBRE RIVIÈRE À BERGUES SUR SAMBRE (02)" "L'ESCAUT RIVIÈRE À CRÉVECOEUR SUR ESCAUT (59)" ...
 $ Code.station                                           : int  1001122 1006000 1009300 1010000 1069000 1089000 1090000 1092000 1115000 1116000 ...
 $ X                                                      : num  784154 757929 751051 717769 669615 ...
 $ Y                                                      : num  7002804 7002371 6993135 7000673 7048933 ...
 $ Identifiant.point.prélèvement                          : int  165938 165945 165948 165949 165974 165978 165979 165981 165993 165994 ...
 $ Date.réalisation                                       : chr  "2009-08-19" "2009-09-17" "2009-07-08" "2009-07-01" ...
 $ Débit.mesuré..m3.s.                                    : num  0.148 0.272 0.017 1.007 0.358 ...
 $ Débit.station.hydro..m3.s.                             : num  0.615 0.871 0.111 NA 0.473 0.164 0.1 0.669 0.417 NA ...
 $ Distance.interpoint..m.                                : num  0.7 1.1 0.55 0.7 0.8 0.75 0.7 0.95 1.2 0.6 ...
 $ Largeur.plein.bord.évaluée..m.                         : num  9.63 15 7 14.2 8.07 ...
 $ Largeur.mouillée.évaluée..m.                           : num  4.7 8.13 3.82 4.9 5.46 5.3 4.85 6.6 8.28 3.98 ...
 $ Longueur.réelle.opération..m.                          : num  133 210 100 199 113 ...
 $ Longueur.théorique.opération..m.                       : num  135 210 98 199 113 ...
 $ Pente.ligne.d.eau....                                  : num  4.06 1.43 4.7 3.2 0.88 1.33 5.3 1.6 3.82 3.93 ...
 $ Pente.ligne.d.eau.évaluée                              : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Description.habitat.marginaux                          : chr  "" "" "" "" ...
 $ Continuité.ripisylve.rive.gauche                       : chr  "continue" "isolée" "semi-continue" "bosquets éparses" ...
 $ Continuité.ripisylve.rive.droite                       : chr  "bosquets éparses" "espacée-régulière" "bosquets éparses" "bosquets éparses" ...
 $ Nom.réseau.de.mesure                                   : chr  NA NA NA NA ...
 $ Observations                                           : chr  "Depuis la RG" "De la rive gauche (A1) à la rive droite (A4)" "Depuis la RG" "" ...
 $ Version.protocole                                      : chr  "2009 (Pré-déploiement)" "2009 (Pré-déploiement)" "2009 (Pré-déploiement)" "2009 (Pré-déploiement)" ...
 $ Structure.responsable                                  : chr  "OFFICE FRANCAIS DE LA BIODIVERSITE" "OFFICE FRANCAIS DE LA BIODIVERSITE" "OFFICE FRANCAIS DE LA BIODIVERSITE" "OFFICE FRANCAIS DE LA BIODIVERSITE" ...
 $ Cours.d.eau                                            : chr  "Helpe majeure" "Helpe mineure" "Sambre" "Escaut" ...
 $ Nombre.transect                                        : int  15 15 15 15 15 15 15 15 17 15 ...
 $ D16..mm.                                               : num  18 16.8 18 23 33 ...
 $ D50..mm.                                               : num  29.5 34.5 28.5 65.5 50 49 97 34 38 30 ...
 $ D84..mm.                                               : num  53 50.2 46 105.2 75.3 ...
 $ Indice.Folk.et.Ward                                    : num  0.783 0.786 0.736 1.086 0.627 ...
 $ Indice.Fredle                                          : num  21.3 19.9 20.8 29.7 37 ...
 $ Surface.mouillée.Q1..m2.                               : num  1.56 2.49 0.59 2.82 1.72 ...
 $ Largeur.mouillée.Q1..m.                                : num  4.77 9.13 2.98 5.64 4.71 ...
 $ Périmètre.mouillé.Q1..m.                               : num  5.08 9.29 3.15 6.1 4.94 ...
 $ Profondeur.maximum.Q1..m.                              : num  0.451 0.444 0.32 0.792 0.527 0.571 0.431 0.664 0.397 0.433 ...
 $ Profondeur.moyenne.Q1..m.                              : num  0.311 0.281 0.202 0.5 0.365 0.341 0.279 0.389 0.241 0.315 ...
 $ Rayon.hydraulique.Q1                                   : num  0.281 0.275 0.185 0.459 0.348 0.318 0.261 0.371 0.234 0.287 ...
 $ Rapport.largeur.Profondeur.Q1                          : num  16.57 28.59 12.02 7.45 9.08 ...
 $ Coefficient.rugosité                                   : num  3.47 6.82 1.29 10.61 14.17 ...
 $ Surface.mouillée.Qb..m2.                               : num  10.02 37.33 5.75 15.99 8.53 ...
 $ Largeur.mouillée.Qb..m.                                : num  8.62 15.77 6.62 13.06 7.5 ...
 $ Périmètre.mouillé.Qb..m.                               : num  9.8 18.37 7.63 14.28 8.59 ...
 $ Profondeur.maximum.Qb..m.                              : num  1.7 3.17 1.45 2.16 1.66 ...
 $ Profondeur.moyenne.Qb..m.                              : num  1.163 2.371 0.873 1.227 1.148 ...
 $ Rayon.hydraulique.Qb                                   : num  1.016 2.035 0.757 1.123 0.998 ...
 $ Rapport.largeur.Profondeur.Qb                          : num  5.2 5.01 4.63 6.05 4.5 ...
 $ Force.tractrice.Qb...N.m2.                             : num  40.45 28.55 34.91 35.26 8.62 ...
 $ Débit.plein.bord..m3.s.                                : num  2.242 15.452 0.423 10.373 3.581 ...
 $ Ecart.type.cote.point                                  : num  0.68 1.184 0.594 0.738 0.671 ...
 $ Coefficient.variation.cote.point                       : num  0.007 0.012 0.006 0.007 0.007 0.012 0.011 0.017 0.006 0.006 ...
 $ Ecart.type.cote.point.en.eau                           : num  0.322 0.2 0.151 0.234 0.162 0.241 0.215 0.282 0.197 0.137 ...
 $ Coefficient.variation.cote.point.en.eau                : num  0.969 0.736 0.788 0.449 0.446 0.706 0.802 0.762 0.86 0.427 ...
 $ Ecart.type.largeur.mouillée.Qb                         : num  1.28 1.68 1 1.4 1.12 ...
 $ Coefficient.variation.largeur.mouillée.Qb              : num  0.148 0.106 0.151 0.107 0.15 0.091 0.088 0.119 0.165 0.172 ...
 $ Vitesse.moyenne.Qb..m.s.                               : num  0.234 0.418 0.075 0.658 0.424 0.027 0.215 0.756 0.52 0.636 ...
 $ Ligne.énergie.Qb..m.                                   : num  1.71 3.18 1.45 2.19 1.68 ...
 $ Cote.ligne.énergie.Qb                                  : num  101 103 101 101 101 ...
 $ Nombre.de.Froude.Qb                                    : num  0.071 0.087 0.026 0.191 0.127 0.006 0.053 0.143 0.154 0.213 ...
 $ Puissance.spécifique.Qb..w.m2.                         : num  10.56 13.88 3 25.2 4.21 ...
 $ Nombre.de.mouille                                      : int  4 4 3 3 3 3 3 4 3 4 ...
 $ Profondeur.moyenne.des.mouilles..m.                    : num  0.439 0.25 0.247 0.165 0.086 0.558 0.199 0.362 0.331 0.117 ...
 $ Nombre.de.berges.total                                 : int  30 30 30 30 30 30 30 30 34 30 ...
 $ Nombre.de.berges.artificialisées                       : int  0 4 0 0 0 16 0 0 15 2 ...
 $ Score.ripisylve                                        : num  NA 0.043 0.101 0.188 0.39 0.029 0.39 0.087 0.35 NA ...
 $ Classe.ripisylve                                       : int  3 4 1 4 4 1 3 4 4 3 ...
 $ X..fines                                               : num  5.56 16.13 23.86 63.02 53.12 ...
 $ X..graviers.cailloux                                   : num  86.1 76.6 75 29.4 43.8 ...
 $ X..blocs.rochers                                       : num  8.33 7.26 1.14 7.56 3.12 ...
 $ Indice.de.Shannon.granulo                              : num  1.73 1.9 1.74 1.73 1.94 ...
 $ Surface.BV..km2.                                       : num  75.1 248.7 20.5 399.6 80.9 ...
 $ Proportion.de.roche.imperméable.BV                     : num  0.004 0.097 0 0 0.054 1 0.033 0 0.076 0 ...
 $ Code.HER.ou.DOM.dominant                               : int  22 20 20 9 9 20 9 9 9 9 ...
 $ Nom.HER.ou.DOM.dominant                                : chr  "ARDENNES" "DEPOTS ARGILO SABLEUX" "DEPOTS ARGILO SABLEUX" "TABLES CALCAIRES" ...
 $ Type.DOM                                               : int  0 0 0 0 0 0 0 0 0 0 ...
 $ Coefficient.de.sinuosité                               : num  NA 1.17 1.18 1.01 1.07 1.11 1.28 1.17 1.01 1.2 ...
 $ Débit.Q01.RHT..m3.s.                                   : num  NA 11.07 1.22 14.58 2.39 ...
 $ Puissance.Q01.RHT..w.m.                                : num  NA 155.3 56 457.7 20.6 ...
 $ Puissance.spécifique.Q01.RHT..w.m2.                    : num  NA 9.85 8.46 35.05 2.75 ...
 $ Station.référence.modèle                               : int  0 0 0 1 0 0 0 0 0 0 ...
 $ Résidu.modèle.Largeur.mouillée.Qb                      : num  0.025 0.174 0.17 -0.029 -0.097 0.101 0.462 0.74 0.141 -0.417 ...
 $ Résidu.modèle.rapport.largeur.profondeur.Qb            : num  -0.331 -0.177 -0.081 -0.286 -0.429 -0.262 -0.504 -0.518 0.019 -0.54 ...
 $ Résidu.modèle.profondeur.mouilles                      : num  0.75 0.332 0.618 -0.344 -0.821 ...
 $ Résidu.modèle.profondeur.Qb                            : num  0.349 0.35 0.246 0.228 0.299 ...
 $ Résidu.modèle.pente.ligne.d.eau                        : num  0.349 0.556 0.233 0.906 -1.071 ...
 $ Résidu.modèle.surface.mouillée.Qb                      : num  0.393 0.575 0.309 0.029 0.241 ...
 $ Résidu.standardisé.modèle.largeur.mouillée.Qb          : num  0.178 0.402 0.389 -0.112 -0.371 ...
 $ Résidu.standardisé.modèle.rapport.largeur.profondeur.Qb: num  -1.291 -0.685 -0.372 -0.749 -1.126 ...
 $ Résidu.standardisé.modèle.profondeur.mouilles          : num  1.839 0.208 0.495 -0.729 -1.74 ...
 $ Résidu.standardisé.modèle.profondeur.Qb                : num  1.595 0.823 0.555 0.67 0.879 ...
 $ Résidu.standardisé.modèle.pente.ligne.d.eau            : num  0.169 0.67 0.162 1.125 -1.33 ...
 $ Résidu.standardisé.modèle.surface.mouillée.Qb          : num  1.239 0.884 0.393 0.065 0.532 ...
 $ IMG                                                    : num  6.31 3.67 2.37 3.45 5.98 ...
 $ Modèle.référence.IMG                                   : chr  "Colinéen Est" "Plaine/collinéen détritique" "Plaine/collinéen détritique" "TABLES CALCAIRES" ...
 $ Classe.écart.IMG                                       : chr  "moyen" "tres faible" "tres faible" "tres faible" ...
NULL

Les données quantitatives

1

Les données qualitatives

1

Nettoyage des colonnes

# clean column names with janitor
carhyce <- carhyce_brute %>% # %>% = pipe operator from dplyr |> for native pipe
  clean_names() # clean column  names
print(names(carhyce))
 [1] "identifiant_operation"                                  
 [2] "localisation_station_de_mesure"                         
 [3] "code_station"                                           
 [4] "x"                                                      
 [5] "y"                                                      
 [6] "identifiant_point_prelevement"                          
 [7] "date_realisation"                                       
 [8] "debit_mesure_m3_s"                                      
 [9] "debit_station_hydro_m3_s"                               
[10] "distance_interpoint_m"                                  
[11] "largeur_plein_bord_evaluee_m"                           
[12] "largeur_mouillee_evaluee_m"                             
[13] "longueur_reelle_operation_m"                            
[14] "longueur_theorique_operation_m"                         
[15] "pente_ligne_d_eau"                                      
[16] "pente_ligne_d_eau_evaluee"                              
[17] "description_habitat_marginaux"                          
[18] "continuite_ripisylve_rive_gauche"                       
[19] "continuite_ripisylve_rive_droite"                       
[20] "nom_reseau_de_mesure"                                   
[21] "observations"                                           
[22] "version_protocole"                                      
[23] "structure_responsable"                                  
[24] "cours_d_eau"                                            
[25] "nombre_transect"                                        
[26] "d16_mm"                                                 
[27] "d50_mm"                                                 
[28] "d84_mm"                                                 
[29] "indice_folk_et_ward"                                    
[30] "indice_fredle"                                          
[31] "surface_mouillee_q1_m2"                                 
[32] "largeur_mouillee_q1_m"                                  
[33] "perimetre_mouille_q1_m"                                 
[34] "profondeur_maximum_q1_m"                                
[35] "profondeur_moyenne_q1_m"                                
[36] "rayon_hydraulique_q1"                                   
[37] "rapport_largeur_profondeur_q1"                          
[38] "coefficient_rugosite"                                   
[39] "surface_mouillee_qb_m2"                                 
[40] "largeur_mouillee_qb_m"                                  
[41] "perimetre_mouille_qb_m"                                 
[42] "profondeur_maximum_qb_m"                                
[43] "profondeur_moyenne_qb_m"                                
[44] "rayon_hydraulique_qb"                                   
[45] "rapport_largeur_profondeur_qb"                          
[46] "force_tractrice_qb_n_m2"                                
[47] "debit_plein_bord_m3_s"                                  
[48] "ecart_type_cote_point"                                  
[49] "coefficient_variation_cote_point"                       
[50] "ecart_type_cote_point_en_eau"                           
[51] "coefficient_variation_cote_point_en_eau"                
[52] "ecart_type_largeur_mouillee_qb"                         
[53] "coefficient_variation_largeur_mouillee_qb"              
[54] "vitesse_moyenne_qb_m_s"                                 
[55] "ligne_energie_qb_m"                                     
[56] "cote_ligne_energie_qb"                                  
[57] "nombre_de_froude_qb"                                    
[58] "puissance_specifique_qb_w_m2"                           
[59] "nombre_de_mouille"                                      
[60] "profondeur_moyenne_des_mouilles_m"                      
[61] "nombre_de_berges_total"                                 
[62] "nombre_de_berges_artificialisees"                       
[63] "score_ripisylve"                                        
[64] "classe_ripisylve"                                       
[65] "x_fines"                                                
[66] "x_graviers_cailloux"                                    
[67] "x_blocs_rochers"                                        
[68] "indice_de_shannon_granulo"                              
[69] "surface_bv_km2"                                         
[70] "proportion_de_roche_impermeable_bv"                     
[71] "code_her_ou_dom_dominant"                               
[72] "nom_her_ou_dom_dominant"                                
[73] "type_dom"                                               
[74] "coefficient_de_sinuosite"                               
[75] "debit_q01_rht_m3_s"                                     
[76] "puissance_q01_rht_w_m"                                  
[77] "puissance_specifique_q01_rht_w_m2"                      
[78] "station_reference_modele"                               
[79] "residu_modele_largeur_mouillee_qb"                      
[80] "residu_modele_rapport_largeur_profondeur_qb"            
[81] "residu_modele_profondeur_mouilles"                      
[82] "residu_modele_profondeur_qb"                            
[83] "residu_modele_pente_ligne_d_eau"                        
[84] "residu_modele_surface_mouillee_qb"                      
[85] "residu_standardise_modele_largeur_mouillee_qb"          
[86] "residu_standardise_modele_rapport_largeur_profondeur_qb"
[87] "residu_standardise_modele_profondeur_mouilles"          
[88] "residu_standardise_modele_profondeur_qb"                
[89] "residu_standardise_modele_pente_ligne_d_eau"            
[90] "residu_standardise_modele_surface_mouillee_qb"          
[91] "img"                                                    
[92] "modele_reference_img"                                   
[93] "classe_ecart_img"                                       

Statistiques univariées

Objectifs

  • Description des types de variables
  • Analyse de la distribution (graphiques et paramètres)
  • Discrétisation de variables quantitatives
  • Détection et traitement des valeurs extrêmes
  • Comparaison à la loi normale

nettoyage des lignes et sélection des variables

carhyce_stat <- carhyce %>% 
  group_by(code_station) %>% # group by station
  filter(date_realisation == max(date_realisation)) %>% # select the last date
  ungroup() %>%  # ungroup data
  select(surface_bv_km2, continuite_ripisylve_rive_gauche,
         continuite_ripisylve_rive_droite, classe_ripisylve,
         nom_her_ou_dom_dominant, debit_plein_bord_m3_s,
         largeur_mouillee_qb_m) # select columns
print(head(carhyce_stat))
# A tibble: 6 × 7
  surface_bv_km2 continuite_ripisylve_…¹ continuite_ripisylve…² classe_ripisylve
           <dbl> <chr>                   <chr>                             <int>
1           75.1 continue                bosquets éparses                      3
2          400.  bosquets éparses        bosquets éparses                      4
3          128.  semi-continue           bosquets éparses                      4
4          102.  semi-continue           absence                               3
5          771.  semi-continue           bosquets éparses                      3
6          175.  semi-continue           isolée                                3
# ℹ abbreviated names: ¹​continuite_ripisylve_rive_gauche,
#   ²​continuite_ripisylve_rive_droite
# ℹ 3 more variables: nom_her_ou_dom_dominant <chr>,
#   debit_plein_bord_m3_s <dbl>, largeur_mouillee_qb_m <dbl>

Synthèse analyses univariées

Paramètres de position et de dispersion

Calcul des paramètres pour les surfaces de bassins versants des stations CARHYCE.

summary(carhyce_stat$surface_bv_km2)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
    0.00    20.96    73.29   380.30   202.72 71139.83        1 
Interprétation La moyenne est près de 5 fois plus élevé que la médiane, elle est même bien plus élevée que le 3ème quartile. La distribution est donc asymétrique à droite. Nous avons probablement des valeurs extrêmes qui rendent cette moyenne particulièrement élevée. Le mininum est de 0, on ne peut pas avoir de surface de bassin versant nulle, il y a probablement des erreurs. De même le maximum est supérieur à 70 000 km2, le protocole CARHYCE est surtout réalisé sur des petits cours d’eau et à pied, ce maximum représente plus du double du bassin versant de la Loire.

Histogramme

Représentation des effectifs ou fréquences d’une variable quantitative divisée en classes.

# Histogram
hist(carhyce_stat$surface_bv_km2, 
     main = "Surfaces de bassins versants", 
     xlab = "Surface de bassins versants (km2)", col = "lightblue")

Interprétation La distribution est très dissymétrique à droite. Cet histogramme ne permet pas de bien représenter la distribution à cause des valeurs extrêmes.

Niveau de dissymétrie


Boxplot / boîte à moustache

# Boxplot
boxplot(carhyce_stat$surface_bv_km2, 
        main = "Surfaces de bassins versants", 
        ylab = "Surface de bassins versants (km2)", col = "lightblue")
points(1,mean(carhyce_stat$surface_bv_km2,na.rm=T),pch=16,col="red")

Discrétiser une variable quantitative

  • Règle de Sturges : méthode de détermination du nombre de classes à utiliser dans un histogramme => avoir un nombre de classes qui soit à la fois suffisamment grand pour capturer la structure de la distribution des données, mais pas trop grand pour ne pas perdre de sensibilité dans la visualisation.

  • En pratique, il est souvent recommandé de tester plusieurs nombres de classes et de choisir celui qui offre la meilleure représentation visuelle des données tout en préservant leur structure.

  • Autres méthodes :

    • Effectifs égaux : par exemple les quantiles
    • Intervalles égaux : par exemple une classe toute les X unités
    • Par seuil de valeurs : par exemple les classes de granulométrie

Discrétisation “manuelle”

Par la règle de Sturges

bins <- nclass.Sturges(carhyce_stat$surface_bv_km2) # set breaks with Sturges
carhyce_stat$surface_bv_km2_sturges <- cut(carhyce_stat$surface_bv_km2, 
                                           breaks = bins, 
                                           include.lowest = TRUE, 
                                           right = FALSE) # new column with breaks

Par seuil de valeurs

carhyce_stat$surface_bv_km2_breaks <- cut(carhyce_stat$surface_bv_km2, 
                                          breaks = c(0, 50, 100, 500, Inf), 
                                          labels = c("petit", "moyenne", "grand", "très grand"))

Changement de discrétisation et outliers

# plotly interactive histogram with 1000 breaks
plot_ly(x = carhyce_stat$surface_bv_km2, type = "histogram", nbinsx = 1000)

Les outliers ou valeurs extrêmes

  • Valeurs extrêmes qui ne suivent pas la distribution générale des données.
  • Peuvent être des erreurs de mesure, des valeurs aberrantes ou des valeurs extrêmes.
  • Peuvent fausser les résultats des analyses statistiques qui ne seront plus représentatives de la population.
  • Rend la lecture et l’interprétation des graphiques difficiles.

=> Nécessite une vraie réflexion sur leur origine et leur pertinence dans la suite des analyses statistiques.

Retrait des valeurs extrêmes

# keep the data below the 90th percentile and above 0
carhyce_stat <- carhyce_stat %>% 
  filter(surface_bv_km2 < quantile(carhyce_stat$surface_bv_km2, 0.90, na.rm = TRUE)) %>% 
  filter(surface_bv_km2 > 0)
# Histogram with normal curve
h <- hist(carhyce_stat$surface_bv_km2, col = "lightblue", 
          main = "Surface des bassins versants", 
          xlab = "Surface de bassins versants (km2)") 
xfit <- seq(min(carhyce_stat$surface_bv_km2),
            max(carhyce_stat$surface_bv_km2), length = 40) 
yfit <- dnorm(xfit, mean = mean(carhyce_stat$surface_bv_km2), sd = sd(carhyce_stat$surface_bv_km2)) 
yfit <- yfit * diff(h$mids[1:2]) * length(carhyce_stat$surface_bv_km2) 
lines(xfit, yfit, col = "red", lwd = 2)

# Boxplot
boxplot(carhyce_stat$surface_bv_km2, 
        main = "Surfaces de bassins versants", 
        ylab = "Surface de bassins versants (km2)", 
        col = "lightblue", range = 0)
points(1,mean(carhyce_stat$surface_bv_km2,na.rm=T),pch=16,col="red")

Loi normale ou loi de Gauss

  • Distribution symétrique centrée sur la moyenne dont la forme est déterminée par l’écart-type.

Définie par une fonction de probabilité :

  • Environ 68% des valeurs sont comprises entre \(\mu - \sigma\) et \(\mu + \sigma\).

  • 95% des valeurs sont comprises entre \(\mu - 1.96\sigma\) et \(\mu + 1.96\sigma\).

  • Très utilisées dans les tests statistiques ou la description de phénomènes aléatoires.

Coefficient d’asymétrie de Fisher

# skewness
e1071::skewness(carhyce_stat$surface_bv_km2, na.rm = TRUE, type = 1) # type 1 = Fisher
[1] 1.561262

Coefficient d’aplatissement de Fisher

# kurtosis
e1071::kurtosis(carhyce_stat$surface_bv_km2, na.rm = TRUE, type = 1) # type 1 = Fisher
[1] 1.801173

QQ-plot ou diagramme quantile-quantile

On compare les valeurs des quantiles de la distribution observée (ordonnées) aux valeurs des quantiles pour une loi normale de moyenne et d’écart-type de la distribution (abscisse).

plot_dist(normal, "Normale")

plot_dist(skew_left, "Dissymétrie à Gauche")

plot_dist(skew_right, "Dissymétrie à Droite")

plot_dist(light_tail, "Homogène (light tailed)")

plot_dist(heavy_tail, "Concentrée (heavy tailed)")

plot_dist(bimodal, "Bimodale")

QQ-plot - exemple

# QQ-plot
ggplot(data = carhyce_stat, mapping = aes(sample = surface_bv_km2)) +
  stat_qq_band() +
  stat_qq_line() +
  stat_qq_point() +
  labs(title = "QQ-plot de la surface des bassins versants", x = "Quantiles théoriques", y = "Quantiles observés")

Interprétation La courbe montre beaucoup de faibles valeurs (pente faible de -200 à 100) puis peu de valeurs élevées (forte augmentation de la pente de 100 à 400). La distribution montre ainsi une forte dissymétrie à droite

Tests statistiques ? - Principe

  • Je lance une pièce de monaie 5 fois et elle tombe 5 fois sur pile => 🤔 la pièce doit être truquée…. A partir de combien de pile à la suite je peux considérer que la pièce est truquée?

  • Partons d’une hypothèse : La pièce est bien équilibrée (ou j’ai 50% de chance d’avoir pile ou face).

Je vais donc calculer la probabilité d’obtenir 5 fois pile si la pièce est équilibrée (ou dans les conditions de l’hypothèse). Je considère que si la probabilité d’obtenir 5 fois pile est inférieure à 5%, je peux rejeter l’hypothèse que la pièce est équilibrée.


La loi binomiale permet de calculer ces probabilités. J’ai 3% de chance d’obtenir 5 fois pile si la pièce est équilibrée. Je peux donc rejeter l’hypothèse que la pièce est équilibrée tout en sachant que j’ai 5% de chance de me tromper. 5% est donc le risque (arbitraire) que j’ai décidé à priori, que la pièce soit équilibrée alors que j’affirme que la pièce est truquée.

Tests statistiques ? - test d’adéquation

Partons d’une hypothèse :

  • \(H_0\) : la distribution suit une loi normale.
  • \(H_1\) : la distribution ne suit pas une loi normale.

Quel est la probabilité d’obtenir notre distribution observée si la distribution était normale?

On compare notre distribution observée à une distribution théorique (ici la loi normale). Si notre distribution observée à très peu de chance d’être obtenue si la distribution était normale, on peut rejeter \(H_0\). Si nos observations appartiennent aux résultats qui ont une chance d’être obtenus si \(H_0\) est vraie, on peut accepter \(H_0\) (ou \(H_0\) reste crédible).


Le “très peu de chance” est représenté par le risque \(\alpha\) (seuil de significativité ou risque de premier espèce), souvent de 5%. Si la probabilité d’obtenir notre distribution observée est inférieure à 5% si la distribution était normale, on peut rejeter \(H_0\). On peut choisir un risque \(\alpha\) plus faible selon notre confiance dans nos résultats et l’enjeu du risque. Imaginez que l’on teste l’efficacité d’un médicament d’une maladie grave… as t’on envie d’avoir 1 chance sur 20 de se tromper?

Tests statistiques ? - p-value

  • Tous les tests se concluent par une p-value. On la compare au seuil de significativité \(\alpha\) annoncée avant le test.

  • Interprétation de la p-value : \(p=0.15\) signifie que l’on a 15% de chance d’obtenir les données observées si \(H_0\) est vraie (ou si la distribution était normale). \(p\) n’est pas un risque de se tromper mais une mesure de la significativité du résultat (ou une probabilité à postériori). Le risque de se tromper se choisi à priori et non à postériori du test.

  • p-value < \(\alpha\) : on rejette \(H_0\) et on accepte \(H_1\) avec le riques de se tromper de \(\alpha\). La différence observée est significative.

  • p-value > \(\alpha\) : on accepte \(H_0\) mais on ne peut pas dire que \(H_0\) est vraie 🤯.

Petite subtilité, le fait d’accepter \(H_0\) ne signifie pas que \(H_0\) soit vraie, mais que sur la base des données observées rien ne permet de conclure qu’elle soit fausses.

Tests statistiques ? - erreur!

Lors d’un test statistique, on peut faire deux types d’erreurs :

  • Erreur de type I : Risque de rejeter \(H_0\) alors qu’elle est vraie. Risque \(\alpha\) => on affirme une différence alors qu’en réalité il n’y en a pas.
  • Erreur de type II : Risque de ne pas rejeter \(H_0\) alors qu’elle est fausse. Risque \(\beta\) => on accepte qu’il n’y a pas de différence alors qu’en réalité il y en a une. On se sait pas calculer ce risque, on ne peut donc pas affirmer \(H_0\).

Le risque \(\beta\) est d’autant plus petit que l’échantillon est important. La puissance d’un test, \(1 - \beta\), est la probabilité de rejeter \(H_0\) alors qu’elle est fausse. Pour détecter une faible différence, il faut un test puissant, soit un échantillon suffisamment grand (voir la vidéo de Tierry Ancelle pour une très bonne illustration).

Tests statistiques ? - ressources

Des vidéos très pédagogiques de Tierry Ancelle :

Sur la description, l’histoire et l’utilisation des tests statistiques :

Test de normalité - précaution / utilisation

  • Les tests de normalité sont sensibles à la taille de l’échantillon :
    • Pour un échantillon de taille réduite, les tests de normalité peuvent être biaisés.
    • Pour un échantillon de taille importante, les tests de normalité peuvent être trop sensibles.
  • Souvent utilisé au prélable d’autres tests statistiques dit paramétriques :
    • Shapiro-Wilk => meilleur pour de petits échantillons (<2000)
    • Kolmogorov-Smirnov => grands échantillons (>2000)
    • Anderson-Darling => grands échantillons (>2000)

Test de normalité

shapiro.test(carhyce_stat$surface_bv_km2)

    Shapiro-Wilk normality test

data:  carhyce_stat$surface_bv_km2
W = 0.79781, p-value < 2.2e-16
ad.test(carhyce_stat$surface_bv_km2)

    Anderson-Darling normality test

data:  carhyce_stat$surface_bv_km2
A = 156.87, p-value < 2.2e-16
ks.test(carhyce_stat$surface_bv_km2, "pnorm", mean = mean(carhyce_stat$surface_bv_km2), sd = sd(carhyce_stat$surface_bv_km2))

    Asymptotic one-sample Kolmogorov-Smirnov test

data:  carhyce_stat$surface_bv_km2
D = 0.18575, p-value < 2.2e-16
alternative hypothesis: two-sided
  • \(H_0\) : la variable suit une distribution normale.

  • \(H_1\) : la variable ne suit pas une distribution normale.

  • p-value = 2.2e-16 < 0.05, on peut rejeter \(H_0\) et valider \(H_1\) avec une probabilité de se tromper de 5%.

Distribution des classes de ripisylve - Carhyce

1

Distribution des classes de ripisylve

# Table
print(table(carhyce_stat$classe_ripisylve))

  1   2   3   4 
162 467  74 244 
# Create a frequency table
freq_table <- carhyce_stat %>%
  group_by(classe_ripisylve) %>%
  summarise(count = n()) %>%
  mutate(freq_percent = count / sum(count) * 100,
         cum_freq = cumsum(count),
         cum_freq_percent = cumsum(freq_percent))
print(freq_table)
# A tibble: 5 × 5
  classe_ripisylve count freq_percent cum_freq cum_freq_percent
             <int> <int>        <dbl>    <int>            <dbl>
1                1   162         6.95      162             6.95
2                2   467        20.0       629            27.0 
3                3    74         3.18      703            30.2 
4                4   244        10.5       947            40.6 
5               NA  1383        59.4      2330           100   

Diagramme en secteur

# Pie chart
pie(table(carhyce_stat$classe_ripisylve), main = "Répartition des classes de ripisylve")

Cheat code exploration de données

print(skim(carhyce_stat$surface_bv_km2))
── Data Summary ────────────────────────
                           Values                      
Name                       carhyce_stat$surface_bv_k...
Number of rows             2330                        
Number of columns          1                           
_______________________                                
Column type frequency:                                 
  numeric                  1                           
________________________                               
Group variables            None                        

── Variable type: numeric ──────────────────────────────────────────────────────
  skim_variable n_missing complete_rate mean   sd    p0  p25  p50  p75 p100
1 data                  0             1 103. 115. 0.001 18.4 58.3 142. 519.
  hist 
1 ▇▂▁▁▁
# makeDataReport(carhyce_stat)

Statistiques bivariées

Objectifs

  • Pouvoir décrire la relation qui peut exister entre deux variables.
  • Utiliser les bons outils selon la nature des variables à comparer.
  • Evaluer le type, l’intensité et le sens d’une relation entre deux variables quantitatives.

Reprenons nos données

carhyce_stat <- carhyce %>% 
  # select the last date for each station
  group_by(code_station) %>% # group by station
  filter(date_realisation == max(date_realisation)) %>% # select the last date by group
  ungroup() %>%  # ungroup data
  filter(surface_bv_km2 < quantile(carhyce$surface_bv_km2, 0.90, na.rm = TRUE)) %>% # keep surface_bv_km2 data below the 90th percentile
  filter(debit_plein_bord_m3_s < quantile(carhyce$debit_plein_bord_m3_s, 0.95, na.rm = TRUE)) %>%
  filter(largeur_mouillee_qb_m < quantile(carhyce$largeur_mouillee_qb_m, 0.975, na.rm = TRUE)) %>%
  filter(vitesse_moyenne_qb_m_s < quantile(carhyce$vitesse_moyenne_qb_m_s, 0.975, na.rm = TRUE)) %>%
  filter(d50_mm < quantile(carhyce$d50_mm, 0.99, na.rm = TRUE)) %>%
  # group categories continuite_ripisylve_rive_gauche and continuite_ripisylve_rive_droite :"espacée" = "bosquets éparses" + "espacée-régulière" + "isolée"
  mutate(continuite_ripisylve_rive_gauche = ifelse(continuite_ripisylve_rive_gauche %in% c("bosquets éparses", "espacée-régulière", "isolée"), "espacée", continuite_ripisylve_rive_gauche),
         continuite_ripisylve_rive_droite = ifelse(continuite_ripisylve_rive_droite %in% c("bosquets éparses", "espacée-régulière", "isolée"), "espacée", continuite_ripisylve_rive_droite)) %>%
  # select columns
  select(surface_bv_km2, 
         continuite_ripisylve_rive_gauche,
         continuite_ripisylve_rive_droite,
         debit_plein_bord_m3_s,
         largeur_mouillee_qb_m,
         vitesse_moyenne_qb_m_s,
         d50_mm,
         nombre_transect) # select columns

Qualitatif VS qualitatif - Tableau de contingence

Distribution jointe de deux variables qualitatives (ou quantitatives discrétisées)

On compte les individus pour chaque modalité des deux variables

Distribution conditionnelle :

- en ligne : quelle distribution de X des cours d’eau normand

- en colonne : quelle distribution de Y des cours d’eau de bonne qualité

Tableau de contingence

# Rbase method contingency table
tab <- table(carhyce_stat$continuite_ripisylve_rive_gauche, carhyce_stat$continuite_ripisylve_rive_droite)
tab_mag <- addmargins(tab) # margins (effectifs marginaux)
print(tab_mag)
               
                absence continue espacée semi-continue  Sum
  absence           102       14      32             5  153
  continue            7      451      44           100  602
  espacée            25       71     280           116  492
  semi-continue      13      128     119           327  587
  Sum               147      664     475           548 1834
contingency_table <- CrossTable(carhyce_stat$continuite_ripisylve_rive_gauche, 
                                 carhyce_stat$continuite_ripisylve_rive_droite, 
                                 prop.chisq = FALSE, prop.t = TRUE, prop.r = TRUE, prop.c = TRUE)
print(contingency_table$t)
               y
x               absence continue espacée semi-continue
  absence           102       14      32             5
  continue            7      451      44           100
  espacée            25       71     280           116
  semi-continue      13      128     119           327

Effectif partiels (fréquence)

Effectifs partiels sur effectif total (le total des fréquences = 1) : X% des individus appartiennent aux modalités truc et bidule ou X % des cours d’eau ont une eau de bonne qualité et sont en Normandie ou 3.9% des stations on une ripisylve espacée en rive gauche et continue en rive droite

addmargins(prop.table(table(carhyce_stat$continuite_ripisylve_rive_gauche, 
                 carhyce_stat$continuite_ripisylve_rive_droite))*100)
               
                    absence    continue     espacée semi-continue         Sum
  absence         5.5616140   0.7633588   1.7448201     0.2726281   8.3424209
  continue        0.3816794  24.5910578   2.3991276     5.4525627  32.8244275
  espacée         1.3631407   3.8713195  15.2671756     6.3249727  26.8266085
  semi-continue   0.7088332   6.9792803   6.4885496    17.8298800  32.0065431
  Sum             8.0152672  36.2050164  25.8996728    29.8800436 100.0000000
# or print(round(contingency_table$prop.tbl, 3))

Effectifs partiels sur effectif marginal (fréquence conditionnelle, le total de chaque ligne = 1) : X% des cours d’eau Normands ont une eau de mauvaise qualité ou 14.4% des stations avec une ripisylve espacée en rive gauche ont une ripisylve continue en rive droite

addmargins(prop.table(table(carhyce_stat$continuite_ripisylve_rive_gauche, 
                 carhyce_stat$continuite_ripisylve_rive_droite), margin = 1)*100, 
           margin = 2)
               
                   absence   continue    espacée semi-continue        Sum
  absence        66.666667   9.150327  20.915033      3.267974 100.000000
  continue        1.162791  74.916944   7.308970     16.611296 100.000000
  espacée         5.081301  14.430894  56.910569     23.577236 100.000000
  semi-continue   2.214651  21.805792  20.272572     55.706985 100.000000
# or print(round(contingency_table$prop.row, 3))

Effectifs partiels sur effectif marginal (fréquence conditionnelle, le total de chaque colonne = 1) : X% des cours d’eau de bonne qualité sont Normands ou 8.8% des stations avec une absence de ripisylve en rive droite ont une ripisyle semi-continue en rive gauche

addmargins(prop.table(table(carhyce_stat$continuite_ripisylve_rive_gauche, 
                 carhyce_stat$continuite_ripisylve_rive_droite), margin = 2)*100, 
           margin = 1)
               
                    absence    continue     espacée semi-continue
  absence        69.3877551   2.1084337   6.7368421     0.9124088
  continue        4.7619048  67.9216867   9.2631579    18.2481752
  espacée        17.0068027  10.6927711  58.9473684    21.1678832
  semi-continue   8.8435374  19.2771084  25.0526316    59.6715328
  Sum           100.0000000 100.0000000 100.0000000   100.0000000
# or print(round(contingency_table$prop.col, 3))

Diagramme en barre et mosaique

ggplot(carhyce_stat, aes(x=factor(continuite_ripisylve_rive_gauche), fill=factor(continuite_ripisylve_rive_droite))) +
  geom_bar(position = "dodge") +
  labs(x = "Ripisylve rive gauche", y = "Effectif", fill = "Ripisylve rive droite") +
  theme_minimal()

Interprétation La continuité de la ripisyle des stations en rive droite est généralement identique en rive gauche.
ggplot(carhyce_stat, aes(x=factor(continuite_ripisylve_rive_gauche), fill=factor(continuite_ripisylve_rive_droite))) +
  geom_bar(position = "stack") +
  labs(x = "Ripisylve rive gauche", y = "Effectif", fill = "Ripisylve rive droite") +
  theme_minimal()

mosaicplot(table(carhyce_stat$continuite_ripisylve_rive_gauche, carhyce_stat$continuite_ripisylve_rive_droite), xlab = "Rive gauche", ylab = "Rive droite", main = "")

Test du Chi2 d’indépendance

  • Vérifier un lien de dépendance statistiquement significatif entre deux variables qualitatives.

  • Conditions d’application :

    • Les variables doivent être qualitatives.
    • Les effectifs combinés des modalités des variables \(\geq\) 5 (du moins pour 80% des effectifs joints).
  • Hypothèses :

    • \(H_0\) : les variables sont indépendantes.
    • \(H_1\) : les variables sont dépendantes.

Chi2 - calcul des effectifs attendus.

Tableau de contingence observé :

               
                absence continue espacée semi-continue  Sum
  absence           102       14      32             5  153
  continue            7      451      44           100  602
  espacée            25       71     280           116  492
  semi-continue      13      128     119           327  587
  Sum               147      664     475           548 1834
  • Quelles sont les effectifs joints attendus si les deux variables sont indépendantes ?

  • Les effectifs attendus suivent la distribution marginale des variables pour respecter les répartitions totales de chaque variable.

  • La formule est le produit des effectifs marginaux divisés par le total des effectifs.

Chi2 - calcul des effectifs attendus.

Tableau de contingence observé :

               
                absence continue espacée semi-continue  Sum
  absence           102       14      32             5  153
  continue            7      451      44           100  602
  espacée            25       71     280           116  492
  semi-continue      13      128     119           327  587
  Sum               147      664     475           548 1834

Exemple :

  • Le nombre de stations avec une ripisyle espacée en rive gauche doit rester de 492 (effectif marginal) mais peut être réparti différemment dans les modalités de la rive droite.

  • L’effectif joint attendu entre espacée en rive gauche et continue en rive droite : \(\frac{492 \times 664}{1834} = 178\)

Chi2 - Détails de calcul

  • Effectif attendu pour chaque case :

\(E_{ij} = \frac{(Effectif\;ligne_i) \times (Effectif\;colonne_j)}{Effectif\;total}\)

  • Calcul du \(\chi^2\) :

\(\chi^2 = \sum \frac{(O_{ij} - E_{ij})^2}{E_{ij}}\) avec \(O_{ij}\) l’effectif observé et \(E_{ij}\) l’effectif attendu.

  • Degré de liberté :

\(ddl = (nombre\;de\;lignes - 1) \times (nombre\;de\;colonnes - 1)\)

Chi2 - effectif calculé sous \(H_0\)

# run chi2 test
chi2_ripisylve <- chisq.test(table(carhyce_stat$continuite_ripisylve_rive_gauche, carhyce_stat$continuite_ripisylve_rive_droite))
print(round(chi2_ripisylve$expected[,1:4], 0))
               
                absence continue espacée semi-continue
  absence            12       55      40            46
  continue           48      218     156           180
  espacée            39      178     127           147
  semi-continue      47      213     152           175
# chi2 value and ddl
cat("Chi2 =", round(chi2_ripisylve$statistic, 2), "\n", "ddl =", chi2_ripisylve$parameter)
Chi2 = 1580.97 
 ddl = 9

Le \(\chi^2\) représente la différence des deux tables que l’on compare au \(\chi^2\) critique pour déterminer si on peut rejeter \(H_0\) pour un risque \(\alpha\) donné. Si \(\chi^2\) > \(\chi^2_{95} critique\) (quantile à 95% par exemple), on rejette \(H_0\). Voir table de \(\chi^2\) par Fabrice Larribe

Chi2 - interprétation

chisq.test(table(carhyce_stat$continuite_ripisylve_rive_gauche,
                 carhyce_stat$continuite_ripisylve_rive_droite))

    Pearson's Chi-squared test

data:  table(carhyce_stat$continuite_ripisylve_rive_gauche, carhyce_stat$continuite_ripisylve_rive_droite)
X-squared = 1581, df = 9, p-value < 2.2e-16
  • La p-value représente la probabilité d’obtenir un résultat aussi extrême que celui observé, dans les conditions de \(H_0\).

  • Cette situation est très improbable, une probabilité de \(2.2e-16\). Même avec un risque \(\alpha = 1%\) l’hypothèse nulle aurait été rejetée.

Qualitatif VS Quantitatif - Discrétisation

Discrétiser une variable quantitative, exemple par seuil de valeurs.

# create breaks [0,5), [5,10), [10,20), [20,30), [30,40), [>40]
largeurs_breaks <- c(0, 5, 10, 20, 30, 40, Inf)
carhyce_stat$largeur_mouillee_qb_m_breaks <- cut(carhyce_stat$largeur_mouillee_qb_m, 
                                                  breaks = largeurs_breaks, 
                                                  include.lowest = TRUE, 
                                                  right = FALSE) # new column with breaks
tab <- table(carhyce_stat$continuite_ripisylve_rive_gauche, carhyce_stat$largeur_mouillee_qb_m_breaks) # contingency table
addmargins(tab) # with margins (effectifs marginaux)
               
                [0,5) [5,10) [10,20) [20,30) [30,40) [40,Inf]  Sum
  absence          72     52      26       3       0        0  153
  continue        112    220     206      50      13        1  602
  espacée         108    203     145      28       7        1  492
  semi-continue    93    224     211      43      13        3  587
  Sum             385    699     588     124      33        5 1834

Description de la distribution par modalité

summary_table <- carhyce_stat %>%
  group_by(continuite_ripisylve_rive_gauche) %>% 
  dplyr::summarize(
    Mean = mean(largeur_mouillee_qb_m, na.rm = TRUE),
    Median = median(largeur_mouillee_qb_m, na.rm = TRUE),
    StdDev = sd(largeur_mouillee_qb_m, na.rm = TRUE)
  )
print(summary_table)
# A tibble: 5 × 4
  continuite_ripisylve_rive_gauche  Mean Median StdDev
  <chr>                            <dbl>  <dbl>  <dbl>
1 absence                           6.77   5.34   4.75
2 continue                         10.9    9.05   7.02
3 espacée                           9.76   8.19   6.47
4 semi-continue                    11.2    9.50   7.09
5 <NA>                             11.5   11.5    5.75
ggplot(carhyce_stat, aes(x = factor(continuite_ripisylve_rive_gauche), y = largeur_mouillee_qb_m, fill = factor(continuite_ripisylve_rive_gauche))) +
  geom_boxplot() +
  labs(x = "Ripisylve rive gauche", y = "Largeur mouillée (m)", fill = "Ripisylve rive gauche") +
  theme_minimal()

Quantitatif VS quantitatif

La représentation par nuage de point. Où est la variable explicative et la variable expliquée ?

plot <- ggplot(carhyce_stat, aes(x = debit_plein_bord_m3_s, y = largeur_mouillee_qb_m)) +
  geom_point() +
  labs(x = "Débit de plein bord (m3/s)", y = "Largeur mouillée plein bord (m)") +
  theme_minimal()
  # + geom_smooth(method="lm", col="red") # décommenter cette ligne pour ajouter la régression linéaire
plot

Régression ?

plot + geom_smooth(method="lm", col="red")

plot + geom_smooth(method="lm", col="red", formula = y ~ poly(x, 2))

plot + geom_smooth(method="lm", col="red", formula = y ~ log(x) + x)

Covariance

Evalue dans quelle mesure les variations de deux variables sont simultanées ou non.

  • “+” : les écarts entre les valeurs et leur moyenne ont tendance à être de même signe.
  • “-” : les écarts entre les valeurs et leur moyenne ont tendance à être de signe opposé.
  • “0” : les écarts entre les \(Xi\) et leur moyenne et les écarts entre les \(Yi\) et leur moyenne n’ont aucun lien entre eux.

Attention :

  • Sa dimension est le produit des dimensions des variables (e.g. euros et années), elle est donc difficile à interpréter.

  • Davantage un outil qui permet d’effectuer d’autres calculs comme la corrélation de Pearson qu’un indicateur utilisé pour l’interprétation (c’est un peu comme la variance et l’écart type).

Coefficient de corrélation linéaire de Pearson

Evalue le degré de dépendance linéaire entre deux variables quantitatives. Le résultat dépend de la qualité de l’ajustement affine obtenu par une régression linéaire.

Intensité :

  • \(r\) proche de 1 (ou -1) = forte corrélation linéaire des variables
  • \(r\) proche de 0 = indépendance des variables

Sens de la relation :

  • \(r>0\) = les variables évoluent dans le même sens
  • \(r<0\) = les variables évoluent dans le sens opposé.

⚠️ Corrélation \(\neq\) causalité! Quelques beaux exemples

⚠️ Multicolinéarité, quand plusieurs variables explicatives ont des liens de corrélation entre elles!

Quelques exemples de corrélation

Le Quartet d’Anscombe

- ⚠️ La relation doit être de forme linéaire

- ⚠️ Sensibilité aux valeurs extrêmes

  • Moralité : toujours visualiser les données avant de les analyser ! 🧐

Coefficient de corrélation de Spearman

  • C’est le coefficient de Pearson appliqué aux rangs des variables.

  • Similaire au coefficient de Pearson mais ne suppose pas de relation linéaire entre les variables. Il évalue la relation monotone, qui ont tendance à se déplacer dans la même direction relative, entre deux variables indépendamment de la forme.

  • L’interprétation est similaire à celle du coefficient de Pearson.

Calcul des coefficients de corrélation

# r Pearson correlation
print(paste0("r = ", round(cor.test(carhyce_stat$largeur_mouillee_qb_m, carhyce_stat$debit_plein_bord_m3_s, method = "pearson")$estimate, 2)))
[1] "r = 0.67"
# rho Spearman correlation
print(paste0("rho = ", round(cor.test(carhyce_stat$largeur_mouillee_qb_m, carhyce_stat$debit_plein_bord_m3_s, method = "spearman")$estimate, 2)))
[1] "rho = 0.76"

Intérêt de calculer les deux coefficients :

  • r>\(\rho\) : présence éventuelle de valeurs exceptionnelles.
  • r<\(\rho\) : présence éventuelle d’une relation non linéaire.

Coefficient de détermination

Le coefficient de détermination détermine le pourcentage de variation de Y imputable à X.


\(R^2\)% des variations de Y s’expliquent par X.

Par exemple si \(R^2 = 0.35\), 35% des variations de la largeur mouillée s’expliquent par le débit.


⚠️ Ne s’applique pas qu’aux modèles linéaires !


ℹ️ Je vous recommande l’explication en vidéo de Tierry Ancelle sur le sujet

Résidus

Les résidus sont les différences entre les valeurs observées et les valeurs prédites par le modèle. Plus ils sont faibles plus le modèle arrive à correctement représenter les données. La dispersion des résidus autour de zéro est un indicateur de la qualité du modèle.

Homosédasticité vs Hétérosédasticité

  • Homosédasticité : la qualité du modèle est constante quelque soit la valeur de la variable explicative.
  • Hétérosédasticité : la qualité du modèle varie en fonction de la valeur de la variable explicative.

Lire le résultat d’un modèle de régression linéaire

model_lineaire <- lm(largeur_mouillee_qb_m ~ debit_plein_bord_m3_s, 
                     data = carhyce_stat)
summary(model_lineaire)

Call:
lm(formula = largeur_mouillee_qb_m ~ debit_plein_bord_m3_s, data = carhyce_stat)

Residuals:
    Min      1Q  Median      3Q     Max 
-24.590  -3.285  -0.901   1.963  38.993 

Coefficients:
                      Estimate Std. Error t value Pr(>|t|)    
(Intercept)            7.54261    0.13910   54.22   <2e-16 ***
debit_plein_bord_m3_s  0.38682    0.01006   38.44   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.09 on 1834 degrees of freedom
Multiple R-squared:  0.4462,    Adjusted R-squared:  0.4459 
F-statistic:  1478 on 1 and 1834 DF,  p-value: < 2.2e-16
  • Résidus : différence entre les valeurs observées et les valeurs prédites.

  • Erreur standard des résidus : écart-type des résidus (ou la dispersion autour de la droite)

  • Coefficients du modèle avec erreur standard et test de significativité :

    • Intercept : l’ordonnée à l’origine
    • Variable : la pente
  • R-squared : coefficient de détermination

  • R-squared ajusted : R2 ajusté en fonction du nombre de variables explicatives

  • F-statistic (ou test de Fisher) : test global de significativité du modèle

Interprétation des résultats du modèle

model_lineaire <- lm(largeur_mouillee_qb_m ~ debit_plein_bord_m3_s, 
                     data = carhyce_stat)
summary(model_lineaire)

Call:
lm(formula = largeur_mouillee_qb_m ~ debit_plein_bord_m3_s, data = carhyce_stat)

Residuals:
    Min      1Q  Median      3Q     Max 
-24.590  -3.285  -0.901   1.963  38.993 

Coefficients:
                      Estimate Std. Error t value Pr(>|t|)    
(Intercept)            7.54261    0.13910   54.22   <2e-16 ***
debit_plein_bord_m3_s  0.38682    0.01006   38.44   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.09 on 1834 degrees of freedom
Multiple R-squared:  0.4462,    Adjusted R-squared:  0.4459 
F-statistic:  1478 on 1 and 1834 DF,  p-value: < 2.2e-16
Interprétation

- La médiane des résidus est plutôt proche de 0 et les quartiles entre -3 et 2.Le modèle a tendance à sous-estimer légèrement les données observées, et 50% des valeurs observées sont relativement bien ajustée. L’erreur standard de 5m montre des écarts plus fort à la moyenne et donc de nombreuses observations moins bien prédites par le modèle.

- Le modèle prend la forme de l’équation \(largeur = 7.54+0.39*Débit\) Les coefficients ont de faibles dispersions et une forte significativité, de même que le test de Fisher. Il existe bien une relation linéaire significative de la largeur en fonction du débit.

- Le coefficient de détermination est de 0.44, soit 44% des variations de la largeur s’expliquent par le débit. Ce modèle linéaire sur le débit permet donc d’expliquer une partie importante de la variation de largeur mais d’autres variables sont nécessaire pour expliquer le reste des variations.

Comparaison des modèles régressions

model_lineaire <- lm(largeur_mouillee_qb_m ~ debit_plein_bord_m3_s, data = carhyce_stat)
# equation
print(paste0("y = ", round(coef(model_lineaire)[1], 2), " + ", round(coef(model_lineaire)[2], 2), "x"))
[1] "y = 7.54 + 0.39x"
# R2
print(paste0("R2 = ", round(summary(model_lineaire)$r.squared, 2)))
[1] "R2 = 0.45"
# Residual standard error
print(paste0("S = ", round(summary(model_lineaire)$sigma, 2)))
[1] "S = 5.09"
# polynomial model (degree 2)
model_poly <- lm(largeur_mouillee_qb_m ~ poly(debit_plein_bord_m3_s, 2), data = carhyce_stat)
# equation
print(paste0("y = ", round(coef(model_poly)[1], 2), " + ", round(coef(model_poly)[2], 2), "x + ", round(coef(model_poly)[3], 2), "x^2"))
[1] "y = 10.32 + 195.67x + -71.08x^2"
# Residual standard error
print(paste0("S = ", round(summary(model_poly)$sigma, 2)))
[1] "S = 4.81"
# logarithmic model
model_log <- lm(largeur_mouillee_qb_m ~ log(debit_plein_bord_m3_s), data = carhyce_stat)
# equation
print(paste0("y = ", round(coef(model_log)[1], 2), " + ", round(coef(model_log)[2], 2), "log(x)"))
[1] "y = 7.91 + 2.81log(x)"
# Residual standard error
print(paste0("S = ", round(summary(model_log)$sigma, 2)))
[1] "S = 4.99"

Analyse des résidus

plot(model_lineaire, which = 1)

plot(model_poly, which = 1)

plot(model_log, which = 1)

Les résidus doivent être dispersés aléatoirement autour de zéro. La présence d’une tendance (linéaire ou non) indique des effets systématiques ignorés par le modèle. Le modèle est hétéroscédastique, sa qualité est moindre pour les valeurs les plus élevées. Le modèle a tendance à sous-estimer ces valeurs.

Normalité des résidus (modèle linéaire)

par(mfrow=c(1,2))
plot(model_lineaire, which = 2)
hist(model_lineaire$residuals, breaks = 100, main = "Histogramme des résidus", xlab = "Résidus")
Analyse de la normalité La distribution des résidus présente une sureprésentation des valeurs fortes par rapport à une distribution normale, soit une dissymétrie à droite. Les valeurs les plus élevées sont moins bien ajustées par le modèle.

Régression linéaire multiple

Plusieurs variables explicatives pour une variable expliquée.

# multiple linear regression with two variables
model_multiple <- lm(largeur_mouillee_qb_m ~ debit_plein_bord_m3_s + 
                       d50_mm + nombre_transect, 
                     data = carhyce_stat)
# equation
print(paste0("y = ", round(coef(model_multiple)[1], 2), " + ", 
                round(coef(model_multiple)[2], 2), "x1 + ", 
                round(coef(model_multiple)[3], 2), "x2 + ", 
                round(coef(model_multiple)[4], 2), "x3"))
[1] "y = 3.65 + 0.35x1 + 0.05x2 + 0.12x3"

Régression linéaire multiple - interprétation

summary(model_multiple)

Call:
lm(formula = largeur_mouillee_qb_m ~ debit_plein_bord_m3_s + 
    d50_mm + nombre_transect, data = carhyce_stat)

Residuals:
    Min      1Q  Median      3Q     Max 
-20.891  -2.992  -0.868   2.003  39.225 

Coefficients:
                      Estimate Std. Error t value Pr(>|t|)    
(Intercept)           3.651732   2.678646   1.363    0.173    
debit_plein_bord_m3_s 0.350253   0.009882  35.444   <2e-16 ***
d50_mm                0.051730   0.003610  14.332   <2e-16 ***
nombre_transect       0.122337   0.177905   0.688    0.492    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4.829 on 1832 degrees of freedom
Multiple R-squared:  0.5021,    Adjusted R-squared:  0.5013 
F-statistic: 615.8 on 3 and 1832 DF,  p-value: < 2.2e-16
Interprétation
  • Les variables explicatives ont toutes un effet positif sur la largeur mouillée. L’ordonnée à l’origine et la coefficient directeur du nombre de transect ne sont pas significatif. Le nombre de transect est certainement à retirer de l’analyse dans ce contexte malgré le fait que la relation globale reste significative.
  • Le débit, la granulométrie et le nombre de transect expliquent 50% de la variation de la largeur mouillée. La granulométrie est certainement un facteur explicatif pertinent mais le débit reste le facteur prédominant entre ces variables.
  • Les résidus ont été faiblement réduits par rapport à la relation linéaire du débit seul.

Régression linéaire multiple - synthèse

  gtsummary::tbl_regression(model_multiple, intercept = TRUE)
Characteristic Beta 95% CI p-value
(Intercept) 3.7 -1.6, 8.9 0.2
debit_plein_bord_m3_s 0.35 0.33, 0.37 <0.001
d50_mm 0.05 0.04, 0.06 <0.001
nombre_transect 0.12 -0.23, 0.47 0.5
Abbreviation: CI = Confidence Interval

Régression linéaire multiple - graphique en forêt

# forest plot
ggstats::ggcoef_model(model_multiple)

Matrice de nuage de points

pairs(carhyce_stat[, c("debit_plein_bord_m3_s", "largeur_mouillee_qb_m", "d50_mm")])

Corrélations croisées

pearson <- cor(carhyce_stat[, c("debit_plein_bord_m3_s", "largeur_mouillee_qb_m", "d50_mm")], method = "pearson")
pearson
                      debit_plein_bord_m3_s largeur_mouillee_qb_m    d50_mm
debit_plein_bord_m3_s             1.0000000             0.6679936 0.2583632
largeur_mouillee_qb_m             0.6679936             1.0000000 0.4006824
d50_mm                            0.2583632             0.4006824 1.0000000

- Les corrélations linéaire les plus fortes sont entre le débit et la largeur mouillée. Le D50 est peu corrélé avec les autres variables (un peu avec la largeur mouillée).

- Si on prend la largeur mouillée comme variable expliquée, le débit et le D50 semblent être des variables explicatives intéressantes.

Corrélations croisées - graphique

corrplot(pearson, 
         type = "upper",
         diag = FALSE,
         tl.col = "dark grey",
         tl.srt = 45)

Comparaison de jeux de données

Hypothèses et problématiques

Hypothèses :

  • Les stations CARHYCE sont représentatives de l’état des rivières françaises pour les petits bassins versants (<100 km2).
  • Je peux distinguer les stations de montagne des stations de plaine par leur classification géographique.

Problématiques :

  • Les rivières de montagne ont-elles des caractéristiques différentes des rivières de plaine pour les petits bassins versants ?

Reprenons nos données

carhyce_stat <- carhyce %>% 
  # select the last date for each station
  group_by(code_station) %>% # group by station
  filter(date_realisation == max(date_realisation)) %>% # select the last date by group
  ungroup() %>%  # ungroup data
  filter(surface_bv_km2 < 100) %>% # keep surface_bv_km2 data below 100 km2
  mutate(surface_bv_km2 = ifelse(surface_bv_km2 %in% boxplot.stats(surface_bv_km2)$out, NA, surface_bv_km2),
         score_ripisylve = ifelse(score_ripisylve %in% boxplot.stats(score_ripisylve)$out, NA, score_ripisylve),
         profondeur_moyenne_qb_m = ifelse(profondeur_moyenne_qb_m %in% boxplot.stats(profondeur_moyenne_qb_m)$out, NA, profondeur_moyenne_qb_m),
         largeur_mouillee_qb_m = ifelse(largeur_mouillee_qb_m %in% boxplot.stats(largeur_mouillee_qb_m)$out, NA, largeur_mouillee_qb_m),
         surface_mouillee_qb_m2 = ifelse(surface_mouillee_qb_m2 %in% boxplot.stats(surface_mouillee_qb_m2)$out, NA, surface_mouillee_qb_m2),
         rayon_hydraulique_qb = ifelse(rayon_hydraulique_qb %in% boxplot.stats(rayon_hydraulique_qb)$out, NA, rayon_hydraulique_qb),
         d16_mm = ifelse(d16_mm %in% boxplot.stats(d16_mm)$out, NA, d16_mm),
         d50_mm = ifelse(d50_mm %in% boxplot.stats(d50_mm)$out, NA, d50_mm),
         d84_mm = ifelse(d84_mm %in% boxplot.stats(d84_mm)$out, NA, d84_mm),
         coefficient_de_sinuosite = ifelse(coefficient_de_sinuosite %in% boxplot.stats(coefficient_de_sinuosite)$out, NA, coefficient_de_sinuosite),
         coefficient_rugosite = ifelse(coefficient_rugosite %in% boxplot.stats(coefficient_rugosite)$out, NA, coefficient_rugosite),
         debit_plein_bord_m3_s = ifelse(debit_plein_bord_m3_s %in% boxplot.stats(debit_plein_bord_m3_s)$out, NA, debit_plein_bord_m3_s),
         vitesse_moyenne_qb_m_s = ifelse(vitesse_moyenne_qb_m_s %in% boxplot.stats(vitesse_moyenne_qb_m_s)$out, NA, vitesse_moyenne_qb_m_s),
         cote_ligne_energie_qb = ifelse(cote_ligne_energie_qb %in% boxplot.stats(cote_ligne_energie_qb)$out, NA, cote_ligne_energie_qb),
         nombre_de_froude_qb = ifelse(nombre_de_froude_qb %in% boxplot.stats(nombre_de_froude_qb)$out, NA, nombre_de_froude_qb),
         force_tractrice_qb_n_m2 = ifelse(force_tractrice_qb_n_m2 %in% boxplot.stats(force_tractrice_qb_n_m2)$out, NA, force_tractrice_qb_n_m2)) %>% # replace outliers by NA by Interquartile range (IQR) from boxplot function
  mutate(montagne_plaine = ifelse(modele_reference_img %in% c("ALPES INTERNES", "CEVENNES", "CORSE", "JURA-PREALPES DU NORD", "MASSIF CENTRAL NORD", "MASSIF CENTRAL SUD", "Montagne volcanique des DOM", "PREALPES DU SUD", "PYRENEES"), "montagne", "plaine")) %>% # try to classify in two category, montagne and plaine
  # select columns
  select(surface_bv_km2, 
         continuite_ripisylve_rive_gauche,
         continuite_ripisylve_rive_droite,
         score_ripisylve,
         profondeur_moyenne_qb_m,
         largeur_mouillee_qb_m,
         surface_mouillee_qb_m2,
         rayon_hydraulique_qb,
         d16_mm,
         d50_mm,
         d84_mm,
         coefficient_de_sinuosite,
         coefficient_rugosite,
         debit_plein_bord_m3_s,
         vitesse_moyenne_qb_m_s,
         cote_ligne_energie_qb,
         nombre_de_froude_qb,
         force_tractrice_qb_n_m2,
         modele_reference_img,
         montagne_plaine) %>%  # select columns
  na.omit() # remove NA values

Théorème central limite

  • Prennons un grand nombre d’échantillons de taille n d’une distribution non normale de moyenne \(\mu\) et d’écart-type \(\sigma\). Quelle est la distribution des moyennes si on effectue de nombreux tirage aléatoire de taille n?

  • Illustration dans le Grimoire de Lise Vaudor

  • La moyenne d’un grand nombre d’échantillons (n>30) de distribution quelconque de taille \(n\) s’approche d’une distribution normale \(N\) de moyenne \(\mu\) et d’écart-type \(\sigma\), soit \(\bar{x} \sim N(\mu, \frac{\sigma}{\sqrt{n}})\)

Erreur standard

  • L’écart type est un indicateur de la dispersion des valeurs d’un échantillon (ou d’une population) autour de la moyenne.

  • L’erreur standard est l’écart type d’un paramètre (moyenne, pourcentage, etc.). La moyenne de notre jeu de données (ou échantillon) n’est qu’une estimation de la moyenne de la population. Si on refaisait l’échantillonnage, on obtiendrait une autre moyenne à cause des fluctuations d’échantillonnage. L’erreur standard est l’écart type de ces moyennes.

  • L’erreur standard de la moyenne d’un échantillon peut être calculé : \(\frac{\sigma}{\sqrt{n}}\). Il a donc la particularité de diminuer avec la racine carrée de la taille de l’échantillon, contrairement à l’écart type d’un échantillon.

Intervalle de confiance de la moyenne (n>30, distribution quelconque)

  • Un intervalle de confiance d’un paramètre est un intervalle dans lequel on estime que le paramètre se trouve avec une certaine probabilité.

  • Selon le théorème central limite, la moyenne calculé sur un grand échantillon \(\bar x\) suit une loi approximativement normale de moyenne (de la population) \(\mu\) et d’écart type (ou erreur standard) \(\frac{\sigma}{\sqrt{n}}\).

  • Nous avons un grand échantillon (n>30), l’écart-type de l’échantillon est donc une bonne estimation de l’écart-type de la population.

  • Dans une distribution normale, 95% des valeurs se trouvent dans l’intervalle \(IC_{95\%} = [\bar x-1.96\frac{s}{\sqrt{n}},\bar x+1.96\frac{s}{\sqrt{n}}]\). La moyenne de l’échantillon a 95% de chance de se trouver dans cet intervalle. On peut remplacer 1.96 par une autre valeur critique de la loi normale avec son niveau de confiance associé (\(IC_{99\%}\), la valeur critique est de 2.575).

Intervalle de confiance de la moyenne (n<30, distribution normale)

  • La distribution est normale mais on ne peut plus remplacer l’écart-type de la population \(\sigma\) par l’écart-type de l’échantillon \(s\). L’écart-type de la population est alors remplacé par le \(t\) de Student pour \(n-1\) degrés de liberté (df ou degrees of freedom en anglais). William Sealy Gosset sous le nom de Student puis Ronald Fisher ont démontré que le rapport \(t = \frac{\bar x - \mu}{s/\sqrt{n}}\) suit une loi de Student à \(n-1\) degrés de liberté.

  • L’intervalle de confiance est alors pour \(IC_{95\%} = [\bar x-t_{0.975}\frac{s}{\sqrt{n}},\bar x+t_{0.975}\frac{s}{\sqrt{n}}]\). On peut remplacer \(t_{0.975}\) par n’importe quelle valeur critique de la loi de Student pour son niveau de confiance associé.

Intervalle de confiance de la moyenne (n>30 ou distribution normale) - calcul

# mean confidence interval for the sample with 95% confidence level
t.test(carhyce_stat$largeur_mouillee_qb_m, 
       conf.level = 0.95)

    One Sample t-test

data:  carhyce_stat$largeur_mouillee_qb_m
t = 54.892, df = 606, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
 5.955185 6.397115
sample estimates:
mean of x 
  6.17615 

Intervalle de confiance de la moyenne (n<30, distribution non normale)

  • La méthode du bootstrap : on simule d’une manière itérative une multitude d’échantillons analogues à l’échantillon initial. On génère une multitude de pseudo-échantillons à partir de l’échantillon initial (avec remise).

  • Exemple : prenons un échantillon \(x = [1,2,3,4,5,6,7,8,9]\). Un pseudo-échantillon pourrait être \(x_1 = [2,3,3,5,6,7,7,8,9]\) (avec remise => plusieurs 3 et 7).

  • On calcule la moyenne de chaque échantillon et on obtient la distribution des moyennes. L’intervalle de confiance est alors déterminé par les quantiles de cette distribution.

Bootstrap sur une moyenne

# sample 20 values from the population
sample_largeur <- sample(carhyce_stat$largeur_mouillee_qb_m, 20)
print(paste0("Moyenne du sous échantillon = ", mean(sample_largeur)))
[1] "Moyenne du sous échantillon = 5.94855"
bootstat <- function(x, i) mean(x[i]) # bootstrap function
# mean confidence interval for the sample with 95% confidence level
mean_ci_sample <- boot(data = sample_largeur, 
                       statistic = bootstat, R = 1000)
boot.ci(mean_ci_sample, type = "basic", conf = 0.95)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = mean_ci_sample, conf = 0.95, type = "basic")

Intervals : 
Level      Basic         
95%   ( 4.680,  7.236 )  
Calculations and Intervals on Original Scale

Intervalle de confiance d’une médiane

  • La méthode du bootstrap peut être utilisée.
print(paste0("Médiane = ", median(carhyce_stat$largeur_mouillee_qb_m)))
[1] "Médiane = 5.817"
bootstat <- function(x, i) median(x[i]) # bootstrap function
# mean confidence interval for the sample with 95% confidence level
median_ci_sample <- boot(data = carhyce_stat$largeur_mouillee_qb_m, 
                         statistic = bootstat, R = 1000)
boot.ci(median_ci_sample, type = "basic", conf = 0.95)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = median_ci_sample, conf = 0.95, type = "basic")

Intervals : 
Level      Basic         
95%   ( 5.574,  6.096 )  
Calculations and Intervals on Original Scale

Intervalle de confiance - synthèse

Test de comparaison des moyennes

Est-ce que les moyennes de deux échantillons sont significativement différentes :

  • Tests paramétriques (distribution normale ou n>30) :

    • Test de Student (t-test) : deux échantillons de variances égales.
    • Test de Welch : deux échantillons de variances différentes.
  • Test non paramétrique (distribution non-normale et n<30) :

    • Test de Wilcoxon-Mann-Whitney.

Si la distribution est très dissymétrique malgrés un échantillon >30, un test non paramétrique est préférable.

Les tests ont des variantes selon l’indépendance des variables. Non-apparié => échantillons indépendants (e.g. comparaison de largeur de cours d’eau entre le bassin du Rhône et de la Loire), apparié => échantillons dépendants (e.g. comparaison de concentration en nitrates avant traitement et après traitement de l’eau au même moment, comparaison point par point).

“two.sided”, “less”, “greater” sont les options pour le test bilatéral, unilatéral inférieur ou unilatéral supérieur selon si l’on souhaite tester si les moyennes sont différentes, si une moyenne est inférieure ou si une moyenne est supérieure.

Choix du test de comparaison des moyennes

*Si la distribution est très dissymétrique malgrés un échantillon >30 => test non paramétrique.

Comparaison des stations de plaine et de montagne

Est-ce que les rivières de montagne ont une granulométrie plus grossière que les rivières de plaine?


Séparation des jeux de données.

carhyce_stat_montagne <- carhyce_stat %>% filter(montagne_plaine == "montagne")
carhyce_stat_montagne_mean = mean(carhyce_stat_montagne$d50_mm, na.rm = TRUE)
print(paste0("Moyenne D50 station de montagne = ", round(carhyce_stat_montagne_mean, 2)))
[1] "Moyenne D50 station de montagne = 39.47"
carhyce_stat_plaine <- carhyce_stat %>% filter(montagne_plaine == "plaine")
carhyce_stat_plaine_mean = mean(carhyce_stat_plaine$d50_mm, na.rm = TRUE)
print(paste0("Moyenne D50 station de plaine = ", round(carhyce_stat_plaine_mean, 2)))
[1] "Moyenne D50 station de plaine = 32.94"

Vérification des distributions - code

# histogram with normal curve
par(mfrow=c(1,2))
h <- hist(carhyce_stat_montagne$d50_mm, col = "lightblue", main = "Montagne", 
          xlab = "D50 (mm)", ylim = c(0, 20))
xfit <- seq(min(carhyce_stat_montagne$d50_mm),
            max(carhyce_stat_montagne$d50_mm), length = 40) 
yfit <- dnorm(xfit, mean = mean(carhyce_stat_montagne$d50_mm), sd = sd(carhyce_stat_montagne$d50_mm)) 
yfit <- yfit * diff(h$mids[1:2]) * length(carhyce_stat_montagne$d50_mm) 
lines(xfit, yfit, col = "red", lwd = 2)
h <- hist(carhyce_stat_plaine$d50_mm, col = "lightgreen", main = "Plaine", 
          xlab = "D50 (mm)")
xfit <- seq(min(carhyce_stat_plaine$d50_mm),
            max(carhyce_stat_plaine$d50_mm), length = 40)
yfit <- dnorm(xfit, mean = mean(carhyce_stat_plaine$d50_mm), sd = sd(carhyce_stat_plaine$d50_mm))
yfit <- yfit * diff(h$mids[1:2]) * length(carhyce_stat_plaine$d50_mm)
lines(xfit, yfit, col = "red", lwd = 2)

Vérification des distributions

Comparaison de moyennes - IC95%

print(paste0("Taille de l'échantillon montagne : ", nrow(carhyce_stat_montagne)))
[1] "Taille de l'échantillon montagne : 123"
print(paste0("Taille de l'échantillon plaine : ", nrow(carhyce_stat_plaine)))
[1] "Taille de l'échantillon plaine : 484"


Condition n>30, distribution quelconque

# mean confidence interval with 95% confidence level
montagne_t_test <- t.test(carhyce_stat_montagne$d50_mm, conf.level = 0.95)
print(paste0("Montagne mean ", round(carhyce_stat_montagne_mean, 2), " IC95% = ", "[", round(montagne_t_test$conf.int[1], 2), " - ", round(montagne_t_test$conf.int[2], 2), "]"))
[1] "Montagne mean 39.47 IC95% = [35.23 - 43.71]"
plaine_t_test <- t.test(carhyce_stat_plaine$d50_mm, conf.level = 0.95)
print(paste0("Plaine mean ", round(carhyce_stat_plaine_mean, 2), " IC95% = ", "[", round(plaine_t_test$conf.int[1], 2), " - ", round(plaine_t_test$conf.int[2], 2), "]"))
[1] "Plaine mean 32.94 IC95% = [31.25 - 34.64]"

Comparaison de moyennes - IC boxplot

# boxplot with mean, confidence interval and their values
boxplot(carhyce_stat$d50_mm ~ carhyce_stat$montagne_plaine, main = "Granulométrie d50", xlab = "", ylab = "Granulométrie d50 (mm)", col = c("lightblue", "lightgreen"))
points(1, carhyce_stat_montagne_mean, pch = 19, col = "red")
segments(1, montagne_t_test$conf.int[1], 1, montagne_t_test$conf.int[2], col = "red")
points(2, carhyce_stat_plaine_mean, pch = 19, col = "red")
segments(2, plaine_t_test$conf.int[1], 2, plaine_t_test$conf.int[2], col = "red")
text(1, montagne_t_test$conf.int[2], paste0(round(carhyce_stat_montagne_mean, 2), " [", round(montagne_t_test$conf.int[1], 2), " - ", round(montagne_t_test$conf.int[2], 2), "]"), pos = 3) # 
text(2, plaine_t_test$conf.int[2], paste0(round(carhyce_stat_plaine_mean, 2), " [", round(plaine_t_test$conf.int[1], 2), " - ", round(plaine_t_test$conf.int[2], 2), "]"), pos = 3) # add values of means and confidence intervals
abline(h = 35, col = "red") # add horizontal line at 35 mm

Test de comparaison des variances - F-test

F-test pour comparer les variances :

  • \(H_0\) : les variances sont égales
  • \(H_1\) : les variances ne sont pas égales
# F-test
var.test(carhyce_stat_montagne$d50_mm, carhyce_stat_plaine$d50_mm)

    F test to compare two variances

data:  carhyce_stat_montagne$d50_mm and carhyce_stat_plaine$d50_mm
F = 1.5674, num df = 122, denom df = 483, p-value = 0.0009742
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 1.196609 2.102824
sample estimates:
ratio of variances 
          1.567369 
Interprétation La p-value < 0.05, l’hypothèse nulle est rejetée, les variances des granulométries des rivières de montagne et de plaine sont significativement différentes.

Test de comparaison des moyennes - choix du test

Caractéristiques des données plaine et montagne :

  • Deux sous-populations indépendantes (deux zones géographiques différentes)
  • Les variances sont différentes
  • Taille des stations de montagne et de plaine > 30
Test de comparaison des moyennes

=> Test de Welch non apparié pour comparer les moyennes de deux échantillons indépendants de variances différentes. (le t.test de R réalise toujours un test de variance et change pour le test de Welch si les variances sont différentes) :

  • \(H_0\) : les moyennes des deux échantillons sont égales.

  • \(H_1\) : les moyennes des deux échantillons sont différentes.

Test de comparaison des moyennes - Welch t-test

# Welch test
t.test(carhyce_stat_montagne$d50_mm, carhyce_stat_plaine$d50_mm,
       var.equal = FALSE, # Welch test
       alternative = "two.sided", # test difference of means
       paired = FALSE, # independant samples
       conf.level = 0.99) # 99% confidence level

    Welch Two Sample t-test

data:  carhyce_stat_montagne$d50_mm and carhyce_stat_plaine$d50_mm
t = 2.8296, df = 163.68, p-value = 0.005244
alternative hypothesis: true difference in means is not equal to 0
99 percent confidence interval:
  0.5154825 12.5425305
sample estimates:
mean of x mean of y 
 39.47073  32.94173 
Interprétation La p-value est inférieure à 0.01, l’hypothèse nulle est rejetée, les moyennes des granulométries des rivières de montagne et de plaine sont significativement différentes avec (risque \(\alpha = 1\)%)

Petits échantillons ou distributions non normales

Etudes des Vosges et des Plaine/collinéen calcaire.

# montagne data with only PYRENEES
carhyce_stat_montagne_vosges <- carhyce_stat %>% filter(modele_reference_img == "VOSGES")
# dataset dimension and mean
print(paste0("n = ", dim(carhyce_stat_montagne_vosges)[1]))
[1] "n = 34"
print(paste0("Moyenne Vosges = ", mean(carhyce_stat_montagne_vosges$d50_mm, na.rm = TRUE)))
[1] "Moyenne Vosges = 27.0588235294118"
carhyce_stat_plaine_collineen <- carhyce_stat %>% filter(modele_reference_img == "Plaine/collinéen calcaire")
# dataset dimension and mean
print(paste0("n = ", dim(carhyce_stat_plaine_collineen)[1]))
[1] "n = 14"
print(paste0("Moyenne = ", mean(carhyce_stat_plaine_collineen$d50_mm, na.rm = TRUE)))
[1] "Moyenne = 35.4642857142857"

Vérification des distributions - Code

# histogram with normal curve
par(mfrow=c(1,2))
h <- hist(carhyce_stat_montagne_vosges$d50_mm, col = "lightblue", main = "Vosges", 
          xlab = "D50 (mm)", ylim = c(0, 20))
xfit <- seq(min(carhyce_stat_montagne_vosges$d50_mm),
            max(carhyce_stat_montagne_vosges$d50_mm), length = 40)
yfit <- dnorm(xfit, mean = mean(carhyce_stat_montagne_vosges$d50_mm), sd = sd(carhyce_stat_montagne_vosges$d50_mm))
yfit <- yfit * diff(h$mids[1:2]) * length(carhyce_stat_montagne_vosges$d50_mm)
lines(xfit, yfit, col = "red", lwd = 2)
h <- hist(carhyce_stat_plaine_collineen$d50_mm, col = "lightgreen", main = "Plaine/collinéen calcaire", 
          xlab = "D50 (mm)")
xfit <- seq(min(carhyce_stat_plaine_collineen$d50_mm),
            max(carhyce_stat_plaine_collineen$d50_mm), length = 40)
yfit <- dnorm(xfit, mean = mean(carhyce_stat_plaine_collineen$d50_mm), sd = sd(carhyce_stat_plaine_collineen$d50_mm))
yfit <- yfit * diff(h$mids[1:2]) * length(carhyce_stat_plaine_collineen$d50_mm)
lines(xfit, yfit, col = "red", lwd = 2)

Vérification des distributions

Vérification des distributions - test de Shapiro-Wilk

# Shapiro-Wilk test - Vosges
shapiro.test(carhyce_stat_montagne_vosges$d50_mm)

    Shapiro-Wilk normality test

data:  carhyce_stat_montagne_vosges$d50_mm
W = 0.91553, p-value = 0.0121
# Shapiro-Wilk test - Plaine/collinéen calcaire
shapiro.test(carhyce_stat_plaine_collineen$d50_mm)

    Shapiro-Wilk normality test

data:  carhyce_stat_plaine_collineen$d50_mm
W = 0.96803, p-value = 0.8493
Interprétation Pour l’échantillon des Vosges, la p-value < 0.05, l’hypothèse nulle de normalité est rejetée. Pour l’échantillon de plaine/collinéen calcaire, la p-value > 0.05, on accepte l’hypothèse nulle de normalité même si le peu d’individus rend l’interprétation des graphiques difficiles.

Mes variances sont-elles égales?

F-test pour comparer les variances (seuil de significativité = 0.05)

- \(H_0\) : les variances sont égales - \(H_1\) : les variances sont différentes

# F-test
var.test(carhyce_stat_montagne_vosges$d50_mm, carhyce_stat_plaine_collineen$d50_mm)

    F test to compare two variances

data:  carhyce_stat_montagne_vosges$d50_mm and carhyce_stat_plaine_collineen$d50_mm
F = 1.2743, num df = 33, denom df = 13, p-value = 0.6597
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.4524558 2.9649559
sample estimates:
ratio of variances 
          1.274348 
Interprétation La p-value est supérieure à 0.05, on accepte l’hypothèse d’égalité des variances.

Comparaison des moyennes - choix du test

Caractéristiques Vosges et stations de plaine/collinéen calcaire :

  • Deux sous-populations indédendantes (deux régions géographiques différentes).
  • Les variances sont égales.
  • Taille de Vosges > 30, distribution non normale.
  • Taille de plaine/collinéen calcaire < 30, distribution normale.

Hypothèses :

  • \(H_0\) : les moyennes des deux granulométries sont égales.
  • \(H_1\) : les moyennes des deux granulométries sont différentes.
Test de comparaison des moyennes => Test de Student non apparié à variance égale (seuil de significativité de 5%)

Comparaison des moyennes - test de Student

# t test
t.test(carhyce_stat_montagne_vosges$d50_mm, carhyce_stat_plaine_collineen$d50_mm,
       var.equal = TRUE, # equal variance
       alternative = "two.sided", # test difference of means
       paired = FALSE, # independant samples
       conf.level = 0.95) # 95% confidence level

    Two Sample t-test

data:  carhyce_stat_montagne_vosges$d50_mm and carhyce_stat_plaine_collineen$d50_mm
t = -1.398, df = 46, p-value = 0.1688
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -20.508407   3.697483
sample estimates:
mean of x mean of y 
 27.05882  35.46429 
Interprétation p-value > 0.05, on accepte l’hypothèse nulle, les moyennes des granulométries sont égales. Ou plus exactement les données ne permettent pas de conclure à une différence significative.

Comparaison des moyennes - IC95%

Caractéristiques Vosges et stations de plaine/collinéen calcaire :

  • Taille de Vosges > 30 : Théorème central limite \(s \approx \sigma\).
  • Taille de plaine/collinéen calcaire < 30, distribution normale : \(\sigma\) remplacé par \(t\) de Student.
# IC95% Vosges
t.test(carhyce_stat_montagne_vosges$d50_mm, conf.level = 0.95)

    One Sample t-test

data:  carhyce_stat_montagne_vosges$d50_mm
t = 8.0754, df = 33, p-value = 2.553e-09
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
 20.24164 33.87600
sample estimates:
mean of x 
 27.05882 
# IC95% Plaine/collinéen calcaire
t.test(carhyce_stat_plaine_collineen$d50_mm, conf.level = 0.95)

    One Sample t-test

data:  carhyce_stat_plaine_collineen$d50_mm
t = 7.6668, df = 13, p-value = 3.551e-06
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
 25.47112 45.45745
sample estimates:
mean of x 
 35.46429 

Comparaison des moyennes - IC95% boxplot

# boxplot with mean, confidence interval and their values
boxplot(carhyce_stat_montagne_vosges$d50_mm, carhyce_stat_plaine_collineen$d50_mm, main = "Granulométrie d50", xlab = "", ylab = "Granulométrie d50 (mm)", col = c("lightblue", "lightgreen"), names = c("Vosges", "Plaine/collinéen calcaire"))
points(1, mean(carhyce_stat_montagne_vosges$d50_mm, na.rm = TRUE), pch = 19, col = "red")
segments(1, t.test(carhyce_stat_montagne_vosges$d50_mm, conf.level = 0.95)$conf.int[1], 1, t.test(carhyce_stat_montagne_vosges$d50_mm, conf.level = 0.95)$conf.int[2], col = "red")
points(2, mean(carhyce_stat_plaine_collineen$d50_mm, na.rm = TRUE), pch = 19, col = "red")
segments(2, t.test(carhyce_stat_plaine_collineen$d50_mm, conf.level = 0.95)$conf.int[1], 2, t.test(carhyce_stat_plaine_collineen$d50_mm, conf.level = 0.95)$conf.int[2], col = "red")
text(1, t.test(carhyce_stat_montagne_vosges$d50_mm, conf.level = 0.95)$conf.int[2], paste0(round(mean(carhyce_stat_montagne_vosges$d50_mm, na.rm = TRUE), 2), " [", round(t.test(carhyce_stat_montagne_vosges$d50_mm, conf.level = 0.95)$conf.int[1], 2), " - ", round(t.test(carhyce_stat_montagne_vosges$d50_mm, conf.level = 0.95)$conf.int[2], 2), "]"), pos = 3)
text(2, t.test(carhyce_stat_plaine_collineen$d50_mm, conf.level = 0.95)$conf.int[2], paste0(round(mean(carhyce_stat_plaine_collineen$d50_mm, na.rm = TRUE), 2), " [", round(t.test(carhyce_stat_plaine_collineen$d50_mm, conf.level = 0.95)$conf.int[1], 2), " - ", round(t.test(carhyce_stat_plaine_collineen$d50_mm, conf.level = 0.95)$conf.int[2], 2), "]"), pos = 3)

Analyse multivariée / multidimensionnelle

Principe d’une analyse multivariée

J’ai une banane, c’est un objet 3D que je souhaite représenter en 2D. Quel angle choisir pour avoir quelque chose de “reconnaissable” ?

Ma banane de droite est bien plus reconnaissable que celle de gauche. L’angle choisie permet de reconnaitre l’aspect allongé et courbé de la banane. La couleur est aussi une information complémentaire utile pour l’interprétation.

L’objectif d’une analyse multivariée est de trouver un plan (définis par deux axes) avec le plus d’information possible pour avoir une vue d’ensemble du comportement ou de la structure de nos données.

Analyse multivariée / multidimensionnelle

  • L’objectif est de synthétiser et de structurer l’information contenue dans des données multidimensionnelles (I individus, K variables) => méthode d’exploration des données.
Analyse Variables Fonction standard Fonction ade4 Fonctions FactoMineR
ACP plusieurs variables quantitatives stats::princomp() ade4::dudi.pca() FactoMineR::PCA()
AFC deux variables qualitatives MASS::corresp() ade4::dudi.coa() FactoMineR::CA()
ACM plusieurs variables qualitatives MASS::mca() ade4::dudi.acm() FactoMineR::MCA()
Analyse mixte plusieurs variables quantitatives et/ou qualitatives ade4::dudi.mix() FactoMineR::FAMD()

Etude des individus et des variables

  • Analyse de la variabilité entre les individus :
    • Quels sont leurs caractéristiques communes ?
    • Peut-on identifier des profils d’individus ?
  • Analyse des variables :
    • Quels sont les liaisons entre les variables ?
    • Peut-on identifier des groupes de variables ?
  • exemples : 30 individus et 4 variables :
    • les variables ont 30 dimensions dans l’espace des individus.
    • les individus ont 4 dimensions dans l’espace des variables.

Reprenons nos données

carhyce_stat <- carhyce %>% 
  # select the last date for each station
  group_by(code_station) %>% # group by station
  filter(date_realisation == max(date_realisation)) %>% # select the last date by group
  ungroup() %>%  # ungroup data
  mutate(surface_bv_km2 = ifelse(surface_bv_km2 %in% boxplot.stats(surface_bv_km2)$out, NA, surface_bv_km2),
         score_ripisylve = ifelse(score_ripisylve %in% boxplot.stats(score_ripisylve)$out, NA, score_ripisylve),
         profondeur_moyenne_qb_m = ifelse(profondeur_moyenne_qb_m %in% boxplot.stats(profondeur_moyenne_qb_m)$out, NA, profondeur_moyenne_qb_m),
         largeur_mouillee_qb_m = ifelse(largeur_mouillee_qb_m %in% boxplot.stats(largeur_mouillee_qb_m)$out, NA, largeur_mouillee_qb_m),
         surface_mouillee_qb_m2 = ifelse(surface_mouillee_qb_m2 %in% boxplot.stats(surface_mouillee_qb_m2)$out, NA, surface_mouillee_qb_m2),
         rayon_hydraulique_qb = ifelse(rayon_hydraulique_qb %in% boxplot.stats(rayon_hydraulique_qb)$out, NA, rayon_hydraulique_qb),
         d16_mm = ifelse(d16_mm %in% boxplot.stats(d16_mm)$out, NA, d16_mm),
         d50_mm = ifelse(d50_mm %in% boxplot.stats(d50_mm)$out, NA, d50_mm),
         d84_mm = ifelse(d84_mm %in% boxplot.stats(d84_mm)$out, NA, d84_mm),
         coefficient_de_sinuosite = ifelse(coefficient_de_sinuosite %in% boxplot.stats(coefficient_de_sinuosite)$out, NA, coefficient_de_sinuosite),
         coefficient_rugosite = ifelse(coefficient_rugosite %in% boxplot.stats(coefficient_rugosite)$out, NA, coefficient_rugosite),
         debit_plein_bord_m3_s = ifelse(debit_plein_bord_m3_s %in% boxplot.stats(debit_plein_bord_m3_s)$out, NA, debit_plein_bord_m3_s),
         vitesse_moyenne_qb_m_s = ifelse(vitesse_moyenne_qb_m_s %in% boxplot.stats(vitesse_moyenne_qb_m_s)$out, NA, vitesse_moyenne_qb_m_s),
         cote_ligne_energie_qb = ifelse(cote_ligne_energie_qb %in% boxplot.stats(cote_ligne_energie_qb)$out, NA, cote_ligne_energie_qb),
         nombre_de_froude_qb = ifelse(nombre_de_froude_qb %in% boxplot.stats(nombre_de_froude_qb)$out, NA, nombre_de_froude_qb),
         force_tractrice_qb_n_m2 = ifelse(force_tractrice_qb_n_m2 %in% boxplot.stats(force_tractrice_qb_n_m2)$out, NA, force_tractrice_qb_n_m2)) %>% # replace outliers by NA by Interquartile range (IQR) from boxplot function
  mutate(montagne_plaine = ifelse(modele_reference_img %in% c("ALPES INTERNES", "CEVENNES", "CORSE", "JURA-PREALPES DU NORD", "MASSIF CENTRAL NORD", "MASSIF CENTRAL SUD", "Montagne volcanique des DOM", "PREALPES DU SUD", "PYRENEES"), "montagne", "plaine")) %>% # try to classify in two category, montagne and plaine
  # select columns
  select(surface_bv_km2, 
         continuite_ripisylve_rive_gauche,
         continuite_ripisylve_rive_droite,
         score_ripisylve,
         profondeur_moyenne_qb_m,
         largeur_mouillee_qb_m,
         surface_mouillee_qb_m2,
         rayon_hydraulique_qb,
         d16_mm,
         d50_mm,
         d84_mm,
         coefficient_de_sinuosite,
         coefficient_rugosite,
         debit_plein_bord_m3_s,
         vitesse_moyenne_qb_m_s,
         cote_ligne_energie_qb,
         nombre_de_froude_qb,
         force_tractrice_qb_n_m2,
         montagne_plaine) # select columns

Analyse en composantes principales (ACP)

ACP sur tous les individus et toutes les variables :

# PCA
pca <- PCA(carhyce_stat[, c("score_ripisylve", "profondeur_moyenne_qb_m", "largeur_mouillee_qb_m", "surface_mouillee_qb_m2", "rayon_hydraulique_qb", "d16_mm", "d50_mm", "d84_mm", "coefficient_de_sinuosite", "coefficient_rugosite", "debit_plein_bord_m3_s", "vitesse_moyenne_qb_m_s", "cote_ligne_energie_qb", "nombre_de_froude_qb", "force_tractrice_qb_n_m2")], 
            ncp = Inf, # number of dimensions
            scale.unit = TRUE, # reduce
            graph = FALSE) # not display graph
print(pca)
**Results for the Principal Component Analysis (PCA)**
The analysis was performed on 2590 individuals, described by 15 variables
*The results are available in the following objects:

   name               description                          
1  "$eig"             "eigenvalues"                        
2  "$var"             "results for the variables"          
3  "$var$coord"       "coord. for the variables"           
4  "$var$cor"         "correlations variables - dimensions"
5  "$var$cos2"        "cos2 for the variables"             
6  "$var$contrib"     "contributions of the variables"     
7  "$ind"             "results for the individuals"        
8  "$ind$coord"       "coord. for the individuals"         
9  "$ind$cos2"        "cos2 for the individuals"           
10 "$ind$contrib"     "contributions of the individuals"   
11 "$call"            "summary statistics"                 
12 "$call$centre"     "mean of the variables"              
13 "$call$ecart.type" "standard error of the variables"    
14 "$call$row.w"      "weights for the individuals"        
15 "$call$col.w"      "weights for the variables"          

ACP - Vocabulaire et information

  • eig : eigenvalues (valeurs propres)
  • ind : individus
  • var : variables
  • coord : coordonnées dans l’espace des individus ou des variables
  • cos2 : qualité de représentation d’un individu ou d’une variable
  • contrib : contribution d’un individu ou d’une variable au calcul de l’axe

Centrage et réduction

  • Les variables sont souvent exprimées dans des unités différentes, les effets d’échelles les rendent difficile à comparer.

  • On les centre : on soustrait la moyenne de chaque variable à chaque observation.

  • On les réduit : on divise par l’écart-type de chaque variable.

  • On obtient des variables centrées-réduites, qui ont une moyenne nulle et une variance égale à 1.

Dimension des individus et des variables

  • Espace des individus (un individus caractérisé par X variables) :
surface_bv_km2 continuite_ripisylve_rive_gauche continuite_ripisylve_rive_droite score_ripisylve profondeur_moyenne_qb_m largeur_mouillee_qb_m surface_mouillee_qb_m2 rayon_hydraulique_qb d16_mm d50_mm d84_mm coefficient_de_sinuosite coefficient_rugosite debit_plein_bord_m3_s vitesse_moyenne_qb_m_s cote_ligne_energie_qb nombre_de_froude_qb force_tractrice_qb_n_m2 montagne_plaine
75.10 continue bosquets éparses NA 1.163 8.621 10.023 1.016 18 29.5 53.00 NA 3.474 2.242 0.234 100.982 0.071 40.452 plaine
399.65 bosquets éparses bosquets éparses 0.188 1.227 13.061 15.993 1.123 23 65.5 105.16 1.01 10.611 10.373 0.658 101.078 0.191 35.262 plaine
127.59 semi-continue bosquets éparses 0.350 1.171 10.929 12.705 1.064 25 38.0 63.32 1.01 7.931 6.492 0.520 100.810 0.154 39.888 plaine
  • Espace des variables (une variable caractérisée par X individus) :
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21 V22 V23 V24 V25 V26 V27 V28 V29 V30 V31 V32 V33 V34 V35 V36 V37 V38 V39 V40 V41 V42 V43 V44 V45 V46 V47 V48 V49 V50 V51 V52 V53 V54 V55 V56 V57 V58 V59 V60 V61 V62 V63 V64 V65 V66 V67 V68 V69 V70 V71 V72 V73 V74 V75 V76 V77 V78 V79 V80 V81 V82 V83 V84 V85 V86 V87 V88 V89 V90 V91 V92 V93 V94 V95 V96 V97 V98 V99 V100 V101 V102 V103 V104 V105 V106 V107 V108 V109 V110 V111 V112 V113 V114 V115 V116 V117 V118 V119 V120 V121 V122 V123 V124 V125 V126 V127 V128 V129 V130 V131 V132 V133 V134 V135 V136 V137 V138 V139 V140 V141 V142 V143 V144 V145 V146 V147 V148 V149 V150 V151 V152 V153 V154 V155 V156 V157 V158 V159 V160 V161 V162 V163 V164 V165 V166 V167 V168 V169 V170 V171 V172 V173 V174 V175 V176 V177 V178 V179 V180 V181 V182 V183 V184 V185 V186 V187 V188 V189 V190 V191 V192 V193 V194 V195 V196 V197 V198 V199 V200 V201 V202 V203 V204 V205 V206 V207 V208 V209 V210 V211 V212 V213 V214 V215 V216 V217 V218 V219 V220 V221 V222 V223 V224 V225 V226 V227 V228 V229 V230 V231 V232 V233 V234 V235 V236 V237 V238 V239 V240 V241 V242 V243 V244 V245 V246 V247 V248 V249 V250 V251 V252 V253 V254 V255 V256 V257 V258 V259 V260 V261 V262 V263 V264 V265 V266 V267 V268 V269 V270 V271 V272 V273 V274 V275 V276 V277 V278 V279 V280 V281 V282 V283 V284 V285 V286 V287 V288 V289 V290 V291 V292 V293 V294 V295 V296 V297 V298 V299 V300 V301 V302 V303 V304 V305 V306 V307 V308 V309 V310 V311 V312 V313 V314 V315 V316 V317 V318 V319 V320 V321 V322 V323 V324 V325 V326 V327 V328 V329 V330 V331 V332 V333 V334 V335 V336 V337 V338 V339 V340 V341 V342 V343 V344 V345 V346 V347 V348 V349 V350 V351 V352 V353 V354 V355 V356 V357 V358 V359 V360 V361 V362 V363 V364 V365 V366 V367 V368 V369 V370 V371 V372 V373 V374 V375 V376 V377 V378 V379 V380 V381 V382 V383 V384 V385 V386 V387 V388 V389 V390 V391 V392 V393 V394 V395 V396 V397 V398 V399 V400 V401 V402 V403 V404 V405 V406 V407 V408 V409 V410 V411 V412 V413 V414 V415 V416 V417 V418 V419 V420 V421 V422 V423 V424 V425 V426 V427 V428 V429 V430 V431 V432 V433 V434 V435 V436 V437 V438 V439 V440 V441 V442 V443 V444 V445 V446 V447 V448 V449 V450 V451 V452 V453 V454 V455 V456 V457 V458 V459 V460 V461 V462 V463 V464 V465 V466 V467 V468 V469 V470 V471 V472 V473 V474 V475 V476 V477 V478 V479 V480 V481 V482 V483 V484 V485 V486 V487 V488 V489 V490 V491 V492 V493 V494 V495 V496 V497 V498 V499 V500 V501 V502 V503 V504 V505 V506 V507 V508 V509 V510 V511 V512 V513 V514 V515 V516 V517 V518 V519 V520 V521 V522 V523 V524 V525 V526 V527 V528 V529 V530 V531 V532 V533 V534 V535 V536 V537 V538 V539 V540 V541 V542 V543 V544 V545 V546 V547 V548 V549 V550 V551 V552 V553 V554 V555 V556 V557 V558 V559 V560 V561 V562 V563 V564 V565 V566 V567 V568 V569 V570 V571 V572 V573 V574 V575 V576 V577 V578 V579 V580 V581 V582 V583 V584 V585 V586 V587 V588 V589 V590 V591 V592 V593 V594 V595 V596 V597 V598 V599 V600 V601 V602 V603 V604 V605 V606 V607 V608 V609 V610 V611 V612 V613 V614 V615 V616 V617 V618 V619 V620 V621 V622 V623 V624 V625 V626 V627 V628 V629 V630 V631 V632 V633 V634 V635 V636 V637 V638 V639 V640 V641 V642 V643 V644 V645 V646 V647 V648 V649 V650 V651 V652 V653 V654 V655 V656 V657 V658 V659 V660 V661 V662 V663 V664 V665 V666 V667 V668 V669 V670 V671 V672 V673 V674 V675 V676 V677 V678 V679 V680 V681 V682 V683 V684 V685 V686 V687 V688 V689 V690 V691 V692 V693 V694 V695 V696 V697 V698 V699 V700 V701 V702 V703 V704 V705 V706 V707 V708 V709 V710 V711 V712 V713 V714 V715 V716 V717 V718 V719 V720 V721 V722 V723 V724 V725 V726 V727 V728 V729 V730 V731 V732 V733 V734 V735 V736 V737 V738 V739 V740 V741 V742 V743 V744 V745 V746 V747 V748 V749 V750 V751 V752 V753 V754 V755 V756 V757 V758 V759 V760 V761 V762 V763 V764 V765 V766 V767 V768 V769 V770 V771 V772 V773 V774 V775 V776 V777 V778 V779 V780 V781 V782 V783 V784 V785 V786 V787 V788 V789 V790 V791 V792 V793 V794 V795 V796 V797 V798 V799 V800 V801 V802 V803 V804 V805 V806 V807 V808 V809 V810 V811 V812 V813 V814 V815 V816 V817 V818 V819 V820 V821 V822 V823 V824 V825 V826 V827 V828 V829 V830 V831 V832 V833 V834 V835 V836 V837 V838 V839 V840 V841 V842 V843 V844 V845 V846 V847 V848 V849 V850 V851 V852 V853 V854 V855 V856 V857 V858 V859 V860 V861 V862 V863 V864 V865 V866 V867 V868 V869 V870 V871 V872 V873 V874 V875 V876 V877 V878 V879 V880 V881 V882 V883 V884 V885 V886 V887 V888 V889 V890 V891 V892 V893 V894 V895 V896 V897 V898 V899 V900 V901 V902 V903 V904 V905 V906 V907 V908 V909 V910 V911 V912 V913 V914 V915 V916 V917 V918 V919 V920 V921 V922 V923 V924 V925 V926 V927 V928 V929 V930 V931 V932 V933 V934 V935 V936 V937 V938 V939 V940 V941 V942 V943 V944 V945 V946 V947 V948 V949 V950 V951 V952 V953 V954 V955 V956 V957 V958 V959 V960 V961 V962 V963 V964 V965 V966 V967 V968 V969 V970 V971 V972 V973 V974 V975 V976 V977 V978 V979 V980 V981 V982 V983 V984 V985 V986 V987 V988 V989 V990 V991 V992 V993 V994 V995 V996 V997 V998 V999 V1000 V1001 V1002 V1003 V1004 V1005 V1006 V1007 V1008 V1009 V1010 V1011 V1012 V1013 V1014 V1015 V1016 V1017 V1018 V1019 V1020 V1021 V1022 V1023 V1024 V1025 V1026 V1027 V1028 V1029 V1030 V1031 V1032 V1033 V1034 V1035 V1036 V1037 V1038 V1039 V1040 V1041 V1042 V1043 V1044 V1045 V1046 V1047 V1048 V1049 V1050 V1051 V1052 V1053 V1054 V1055 V1056 V1057 V1058 V1059 V1060 V1061 V1062 V1063 V1064 V1065 V1066 V1067 V1068 V1069 V1070 V1071 V1072 V1073 V1074 V1075 V1076 V1077 V1078 V1079 V1080 V1081 V1082 V1083 V1084 V1085 V1086 V1087 V1088 V1089 V1090 V1091 V1092 V1093 V1094 V1095 V1096 V1097 V1098 V1099 V1100 V1101 V1102 V1103 V1104 V1105 V1106 V1107 V1108 V1109 V1110 V1111 V1112 V1113 V1114 V1115 V1116 V1117 V1118 V1119 V1120 V1121 V1122 V1123 V1124 V1125 V1126 V1127 V1128 V1129 V1130 V1131 V1132 V1133 V1134 V1135 V1136 V1137 V1138 V1139 V1140 V1141 V1142 V1143 V1144 V1145 V1146 V1147 V1148 V1149 V1150 V1151 V1152 V1153 V1154 V1155 V1156 V1157 V1158 V1159 V1160 V1161 V1162 V1163 V1164 V1165 V1166 V1167 V1168 V1169 V1170 V1171 V1172 V1173 V1174 V1175 V1176 V1177 V1178 V1179 V1180 V1181 V1182 V1183 V1184 V1185 V1186 V1187 V1188 V1189 V1190 V1191 V1192 V1193 V1194 V1195 V1196 V1197 V1198 V1199 V1200 V1201 V1202 V1203 V1204 V1205 V1206 V1207 V1208 V1209 V1210 V1211 V1212 V1213 V1214 V1215 V1216 V1217 V1218 V1219 V1220 V1221 V1222 V1223 V1224 V1225 V1226 V1227 V1228 V1229 V1230 V1231 V1232 V1233 V1234 V1235 V1236 V1237 V1238 V1239 V1240 V1241 V1242 V1243 V1244 V1245 V1246 V1247 V1248 V1249 V1250 V1251 V1252 V1253 V1254 V1255 V1256 V1257 V1258 V1259 V1260 V1261 V1262 V1263 V1264 V1265 V1266 V1267 V1268 V1269 V1270 V1271 V1272 V1273 V1274 V1275 V1276 V1277 V1278 V1279 V1280 V1281 V1282 V1283 V1284 V1285 V1286 V1287 V1288 V1289 V1290 V1291 V1292 V1293 V1294 V1295 V1296 V1297 V1298 V1299 V1300 V1301 V1302 V1303 V1304 V1305 V1306 V1307 V1308 V1309 V1310 V1311 V1312 V1313 V1314 V1315 V1316 V1317 V1318 V1319 V1320 V1321 V1322 V1323 V1324 V1325 V1326 V1327 V1328 V1329 V1330 V1331 V1332 V1333 V1334 V1335 V1336 V1337 V1338 V1339 V1340 V1341 V1342 V1343 V1344 V1345 V1346 V1347 V1348 V1349 V1350 V1351 V1352 V1353 V1354 V1355 V1356 V1357 V1358 V1359 V1360 V1361 V1362 V1363 V1364 V1365 V1366 V1367 V1368 V1369 V1370 V1371 V1372 V1373 V1374 V1375 V1376 V1377 V1378 V1379 V1380 V1381 V1382 V1383 V1384 V1385 V1386 V1387 V1388 V1389 V1390 V1391 V1392 V1393 V1394 V1395 V1396 V1397 V1398 V1399 V1400 V1401 V1402 V1403 V1404 V1405 V1406 V1407 V1408 V1409 V1410 V1411 V1412 V1413 V1414 V1415 V1416 V1417 V1418 V1419 V1420 V1421 V1422 V1423 V1424 V1425 V1426 V1427 V1428 V1429 V1430 V1431 V1432 V1433 V1434 V1435 V1436 V1437 V1438 V1439 V1440 V1441 V1442 V1443 V1444 V1445 V1446 V1447 V1448 V1449 V1450 V1451 V1452 V1453 V1454 V1455 V1456 V1457 V1458 V1459 V1460 V1461 V1462 V1463 V1464 V1465 V1466 V1467 V1468 V1469 V1470 V1471 V1472 V1473 V1474 V1475 V1476 V1477 V1478 V1479 V1480 V1481 V1482 V1483 V1484 V1485 V1486 V1487 V1488 V1489 V1490 V1491 V1492 V1493 V1494 V1495 V1496 V1497 V1498 V1499 V1500 V1501 V1502 V1503 V1504 V1505 V1506 V1507 V1508 V1509 V1510 V1511 V1512 V1513 V1514 V1515 V1516 V1517 V1518 V1519 V1520 V1521 V1522 V1523 V1524 V1525 V1526 V1527 V1528 V1529 V1530 V1531 V1532 V1533 V1534 V1535 V1536 V1537 V1538 V1539 V1540 V1541 V1542 V1543 V1544 V1545 V1546 V1547 V1548 V1549 V1550 V1551 V1552 V1553 V1554 V1555 V1556 V1557 V1558 V1559 V1560 V1561 V1562 V1563 V1564 V1565 V1566 V1567 V1568 V1569 V1570 V1571 V1572 V1573 V1574 V1575 V1576 V1577 V1578 V1579 V1580 V1581 V1582 V1583 V1584 V1585 V1586 V1587 V1588 V1589 V1590 V1591 V1592 V1593 V1594 V1595 V1596 V1597 V1598 V1599 V1600 V1601 V1602 V1603 V1604 V1605 V1606 V1607 V1608 V1609 V1610 V1611 V1612 V1613 V1614 V1615 V1616 V1617 V1618 V1619 V1620 V1621 V1622 V1623 V1624 V1625 V1626 V1627 V1628 V1629 V1630 V1631 V1632 V1633 V1634 V1635 V1636 V1637 V1638 V1639 V1640 V1641 V1642 V1643 V1644 V1645 V1646 V1647 V1648 V1649 V1650 V1651 V1652 V1653 V1654 V1655 V1656 V1657 V1658 V1659 V1660 V1661 V1662 V1663 V1664 V1665 V1666 V1667 V1668 V1669 V1670 V1671 V1672 V1673 V1674 V1675 V1676 V1677 V1678 V1679 V1680 V1681 V1682 V1683 V1684 V1685 V1686 V1687 V1688 V1689 V1690 V1691 V1692 V1693 V1694 V1695 V1696 V1697 V1698 V1699 V1700 V1701 V1702 V1703 V1704 V1705 V1706 V1707 V1708 V1709 V1710 V1711 V1712 V1713 V1714 V1715 V1716 V1717 V1718 V1719 V1720 V1721 V1722 V1723 V1724 V1725 V1726 V1727 V1728 V1729 V1730 V1731 V1732 V1733 V1734 V1735 V1736 V1737 V1738 V1739 V1740 V1741 V1742 V1743 V1744 V1745 V1746 V1747 V1748 V1749 V1750 V1751 V1752 V1753 V1754 V1755 V1756 V1757 V1758 V1759 V1760 V1761 V1762 V1763 V1764 V1765 V1766 V1767 V1768 V1769 V1770 V1771 V1772 V1773 V1774 V1775 V1776 V1777 V1778 V1779 V1780 V1781 V1782 V1783 V1784 V1785 V1786 V1787 V1788 V1789 V1790 V1791 V1792 V1793 V1794 V1795 V1796 V1797 V1798 V1799 V1800 V1801 V1802 V1803 V1804 V1805 V1806 V1807 V1808 V1809 V1810 V1811 V1812 V1813 V1814 V1815 V1816 V1817 V1818 V1819 V1820 V1821 V1822 V1823 V1824 V1825 V1826 V1827 V1828 V1829 V1830 V1831 V1832 V1833 V1834 V1835 V1836 V1837 V1838 V1839 V1840 V1841 V1842 V1843 V1844 V1845 V1846 V1847 V1848 V1849 V1850 V1851 V1852 V1853 V1854 V1855 V1856 V1857 V1858 V1859 V1860 V1861 V1862 V1863 V1864 V1865 V1866 V1867 V1868 V1869 V1870 V1871 V1872 V1873 V1874 V1875 V1876 V1877 V1878 V1879 V1880 V1881 V1882 V1883 V1884 V1885 V1886 V1887 V1888 V1889 V1890 V1891 V1892 V1893 V1894 V1895 V1896 V1897 V1898 V1899 V1900 V1901 V1902 V1903 V1904 V1905 V1906 V1907 V1908 V1909 V1910 V1911 V1912 V1913 V1914 V1915 V1916 V1917 V1918 V1919 V1920 V1921 V1922 V1923 V1924 V1925 V1926 V1927 V1928 V1929 V1930 V1931 V1932 V1933 V1934 V1935 V1936 V1937 V1938 V1939 V1940 V1941 V1942 V1943 V1944 V1945 V1946 V1947 V1948 V1949 V1950 V1951 V1952 V1953 V1954 V1955 V1956 V1957 V1958 V1959 V1960 V1961 V1962 V1963 V1964 V1965 V1966 V1967 V1968 V1969 V1970 V1971 V1972 V1973 V1974 V1975 V1976 V1977 V1978 V1979 V1980 V1981 V1982 V1983 V1984 V1985 V1986 V1987 V1988 V1989 V1990 V1991 V1992 V1993 V1994 V1995 V1996 V1997 V1998 V1999 V2000 V2001 V2002 V2003 V2004 V2005 V2006 V2007 V2008 V2009 V2010 V2011 V2012 V2013 V2014 V2015 V2016 V2017 V2018 V2019 V2020 V2021 V2022 V2023 V2024 V2025 V2026 V2027 V2028 V2029 V2030 V2031 V2032 V2033 V2034 V2035 V2036 V2037 V2038 V2039 V2040 V2041 V2042 V2043 V2044 V2045 V2046 V2047 V2048 V2049 V2050 V2051 V2052 V2053 V2054 V2055 V2056 V2057 V2058 V2059 V2060 V2061 V2062 V2063 V2064 V2065 V2066 V2067 V2068 V2069 V2070 V2071 V2072 V2073 V2074 V2075 V2076 V2077 V2078 V2079 V2080 V2081 V2082 V2083 V2084 V2085 V2086 V2087 V2088 V2089 V2090 V2091 V2092 V2093 V2094 V2095 V2096 V2097 V2098 V2099 V2100 V2101 V2102 V2103 V2104 V2105 V2106 V2107 V2108 V2109 V2110 V2111 V2112 V2113 V2114 V2115 V2116 V2117 V2118 V2119 V2120 V2121 V2122 V2123 V2124 V2125 V2126 V2127 V2128 V2129 V2130 V2131 V2132 V2133 V2134 V2135 V2136 V2137 V2138 V2139 V2140 V2141 V2142 V2143 V2144 V2145 V2146 V2147 V2148 V2149 V2150 V2151 V2152 V2153 V2154 V2155 V2156 V2157 V2158 V2159 V2160 V2161 V2162 V2163 V2164 V2165 V2166 V2167 V2168 V2169 V2170 V2171 V2172 V2173 V2174 V2175 V2176 V2177 V2178 V2179 V2180 V2181 V2182 V2183 V2184 V2185 V2186 V2187 V2188 V2189 V2190 V2191 V2192 V2193 V2194 V2195 V2196 V2197 V2198 V2199 V2200 V2201 V2202 V2203 V2204 V2205 V2206 V2207 V2208 V2209 V2210 V2211 V2212 V2213 V2214 V2215 V2216 V2217 V2218 V2219 V2220 V2221 V2222 V2223 V2224 V2225 V2226 V2227 V2228 V2229 V2230 V2231 V2232 V2233 V2234 V2235 V2236 V2237 V2238 V2239 V2240 V2241 V2242 V2243 V2244 V2245 V2246 V2247 V2248 V2249 V2250 V2251 V2252 V2253 V2254 V2255 V2256 V2257 V2258 V2259 V2260 V2261 V2262 V2263 V2264 V2265 V2266 V2267 V2268 V2269 V2270 V2271 V2272 V2273 V2274 V2275 V2276 V2277 V2278 V2279 V2280 V2281 V2282 V2283 V2284 V2285 V2286 V2287 V2288 V2289 V2290 V2291 V2292 V2293 V2294 V2295 V2296 V2297 V2298 V2299 V2300 V2301 V2302 V2303 V2304 V2305 V2306 V2307 V2308 V2309 V2310 V2311 V2312 V2313 V2314 V2315 V2316 V2317 V2318 V2319 V2320 V2321 V2322 V2323 V2324 V2325 V2326 V2327 V2328 V2329 V2330 V2331 V2332 V2333 V2334 V2335 V2336 V2337 V2338 V2339 V2340 V2341 V2342 V2343 V2344 V2345 V2346 V2347 V2348 V2349 V2350 V2351 V2352 V2353 V2354 V2355 V2356 V2357 V2358 V2359 V2360 V2361 V2362 V2363 V2364 V2365 V2366 V2367 V2368 V2369 V2370 V2371 V2372 V2373 V2374 V2375 V2376 V2377 V2378 V2379 V2380 V2381 V2382 V2383 V2384 V2385 V2386 V2387 V2388 V2389 V2390 V2391 V2392 V2393 V2394 V2395 V2396 V2397 V2398 V2399 V2400 V2401 V2402 V2403 V2404 V2405 V2406 V2407 V2408 V2409 V2410 V2411 V2412 V2413 V2414 V2415 V2416 V2417 V2418 V2419 V2420 V2421 V2422 V2423 V2424 V2425 V2426 V2427 V2428 V2429 V2430 V2431 V2432 V2433 V2434 V2435 V2436 V2437 V2438 V2439 V2440 V2441 V2442 V2443 V2444 V2445 V2446 V2447 V2448 V2449 V2450 V2451 V2452 V2453 V2454 V2455 V2456 V2457 V2458 V2459 V2460 V2461 V2462 V2463 V2464 V2465 V2466 V2467 V2468 V2469 V2470 V2471 V2472 V2473 V2474 V2475 V2476 V2477 V2478 V2479 V2480 V2481 V2482 V2483 V2484 V2485 V2486 V2487 V2488 V2489 V2490 V2491 V2492 V2493 V2494 V2495 V2496 V2497 V2498 V2499 V2500 V2501 V2502 V2503 V2504 V2505 V2506 V2507 V2508 V2509 V2510 V2511 V2512 V2513 V2514 V2515 V2516 V2517 V2518 V2519 V2520 V2521 V2522 V2523 V2524 V2525 V2526 V2527 V2528 V2529 V2530 V2531 V2532 V2533 V2534 V2535 V2536 V2537 V2538 V2539 V2540 V2541 V2542 V2543 V2544 V2545 V2546 V2547 V2548 V2549 V2550 V2551 V2552 V2553 V2554 V2555 V2556 V2557 V2558 V2559 V2560 V2561 V2562 V2563 V2564 V2565 V2566 V2567 V2568 V2569 V2570 V2571 V2572 V2573 V2574 V2575 V2576 V2577 V2578 V2579 V2580 V2581 V2582 V2583 V2584 V2585 V2586 V2587 V2588 V2589 V2590
continuite_ripisylve_rive_gauche continue bosquets éparses semi-continue semi-continue semi-continue semi-continue continue continue continue continue espacée-régulière bosquets éparses isolée isolée bosquets éparses semi-continue bosquets éparses espacée-régulière absence bosquets éparses semi-continue bosquets éparses continue semi-continue semi-continue semi-continue absence bosquets éparses semi-continue semi-continue semi-continue semi-continue bosquets éparses bosquets éparses semi-continue semi-continue continue continue bosquets éparses bosquets éparses bosquets éparses bosquets éparses continue continue continue continue continue continue semi-continue semi-continue continue semi-continue continue semi-continue semi-continue continue bosquets éparses espacée-régulière semi-continue continue semi-continue semi-continue continue isolée bosquets éparses continue continue semi-continue semi-continue isolée continue bosquets éparses continue continue continue semi-continue semi-continue continue espacée-régulière bosquets éparses continue continue continue semi-continue semi-continue isolée continue continue semi-continue semi-continue bosquets éparses bosquets éparses semi-continue bosquets éparses semi-continue continue semi-continue continue continue continue continue continue continue semi-continue bosquets éparses semi-continue semi-continue semi-continue semi-continue bosquets éparses bosquets éparses semi-continue semi-continue semi-continue espacée-régulière semi-continue bosquets éparses absence bosquets éparses bosquets éparses absence bosquets éparses continue bosquets éparses bosquets éparses continue semi-continue bosquets éparses semi-continue continue semi-continue continue bosquets éparses semi-continue espacée-régulière semi-continue continue continue semi-continue semi-continue isolée semi-continue semi-continue continue continue continue semi-continue bosquets éparses bosquets éparses semi-continue semi-continue bosquets éparses continue continue espacée-régulière isolée continue continue isolée semi-continue semi-continue NA continue bosquets éparses NA semi-continue espacée-régulière semi-continue semi-continue continue semi-continue absence semi-continue bosquets éparses bosquets éparses semi-continue semi-continue isolée isolée semi-continue espacée-régulière semi-continue continue continue semi-continue continue continue semi-continue continue bosquets éparses semi-continue bosquets éparses bosquets éparses semi-continue espacée-régulière espacée-régulière continue semi-continue continue continue continue semi-continue semi-continue semi-continue bosquets éparses semi-continue espacée-régulière bosquets éparses semi-continue semi-continue semi-continue continue bosquets éparses semi-continue bosquets éparses espacée-régulière semi-continue bosquets éparses semi-continue semi-continue semi-continue semi-continue bosquets éparses semi-continue semi-continue espacée-régulière NA continue isolée bosquets éparses bosquets éparses semi-continue semi-continue semi-continue absence isolée semi-continue continue continue absence bosquets éparses semi-continue semi-continue continue semi-continue semi-continue semi-continue continue semi-continue continue continue semi-continue continue semi-continue bosquets éparses espacée-régulière continue continue bosquets éparses bosquets éparses semi-continue continue NA continue NA continue continue semi-continue semi-continue semi-continue bosquets éparses bosquets éparses semi-continue bosquets éparses continue continue semi-continue continue continue semi-continue continue semi-continue semi-continue continue semi-continue absence semi-continue continue continue absence semi-continue semi-continue continue bosquets éparses NA continue continue continue continue continue bosquets éparses isolée continue semi-continue absence semi-continue semi-continue semi-continue absence continue continue bosquets éparses continue absence continue continue continue absence absence bosquets éparses semi-continue continue semi-continue absence absence continue semi-continue continue continue bosquets éparses semi-continue absence isolée absence continue continue continue semi-continue semi-continue absence continue continue espacée-régulière absence bosquets éparses espacée-régulière absence absence espacée-régulière absence semi-continue bosquets éparses semi-continue semi-continue bosquets éparses isolée semi-continue semi-continue espacée-régulière semi-continue espacée-régulière isolée continue semi-continue absence bosquets éparses continue continue isolée absence continue semi-continue continue absence espacée-régulière absence semi-continue bosquets éparses bosquets éparses isolée continue absence espacée-régulière absence semi-continue continue continue semi-continue continue semi-continue isolée absence absence absence continue semi-continue continue espacée-régulière continue continue semi-continue absence isolée absence semi-continue continue continue continue espacée-régulière continue continue semi-continue continue isolée absence continue semi-continue semi-continue absence isolée semi-continue bosquets éparses espacée-régulière espacée-régulière espacée-régulière espacée-régulière bosquets éparses semi-continue espacée-régulière semi-continue bosquets éparses bosquets éparses semi-continue espacée-régulière espacée-régulière isolée continue absence continue continue bosquets éparses bosquets éparses bosquets éparses semi-continue continue semi-continue bosquets éparses continue continue continue semi-continue bosquets éparses semi-continue semi-continue isolée continue continue continue semi-continue semi-continue absence absence isolée absence bosquets éparses semi-continue isolée semi-continue continue continue bosquets éparses semi-continue semi-continue absence absence continue continue bosquets éparses isolée continue continue isolée semi-continue semi-continue continue continue continue semi-continue continue bosquets éparses continue isolée semi-continue semi-continue semi-continue semi-continue isolée bosquets éparses bosquets éparses semi-continue continue semi-continue semi-continue espacée-régulière espacée-régulière continue continue continue continue continue isolée semi-continue continue continue semi-continue continue semi-continue semi-continue bosquets éparses continue absence semi-continue continue continue semi-continue continue absence semi-continue absence bosquets éparses semi-continue absence continue bosquets éparses semi-continue semi-continue continue bosquets éparses semi-continue semi-continue semi-continue continue continue espacée-régulière continue continue isolée continue semi-continue espacée-régulière semi-continue continue semi-continue bosquets éparses continue continue semi-continue isolée isolée espacée-régulière semi-continue continue bosquets éparses isolée continue semi-continue semi-continue continue continue continue espacée-régulière absence continue espacée-régulière semi-continue continue bosquets éparses continue semi-continue continue semi-continue continue semi-continue semi-continue isolée semi-continue isolée semi-continue espacée-régulière semi-continue continue semi-continue isolée continue isolée isolée absence continue continue continue semi-continue isolée semi-continue bosquets éparses bosquets éparses absence absence semi-continue continue continue bosquets éparses continue continue bosquets éparses semi-continue semi-continue espacée-régulière continue espacée-régulière continue absence absence absence isolée semi-continue bosquets éparses semi-continue espacée-régulière continue continue absence continue semi-continue bosquets éparses absence bosquets éparses continue continue isolée isolée continue continue semi-continue bosquets éparses bosquets éparses semi-continue semi-continue semi-continue semi-continue bosquets éparses semi-continue isolée bosquets éparses absence bosquets éparses semi-continue absence espacée-régulière continue continue continue continue isolée bosquets éparses bosquets éparses semi-continue espacée-régulière isolée semi-continue semi-continue espacée-régulière bosquets éparses bosquets éparses espacée-régulière semi-continue continue isolée semi-continue semi-continue continue isolée semi-continue semi-continue semi-continue continue continue absence bosquets éparses continue absence continue continue continue semi-continue bosquets éparses semi-continue isolée continue semi-continue semi-continue continue continue continue isolée semi-continue bosquets éparses semi-continue semi-continue semi-continue semi-continue semi-continue continue continue semi-continue bosquets éparses continue semi-continue absence bosquets éparses isolée isolée espacée-régulière semi-continue semi-continue semi-continue semi-continue absence bosquets éparses continue semi-continue continue bosquets éparses bosquets éparses continue semi-continue semi-continue absence bosquets éparses continue continue continue semi-continue bosquets éparses semi-continue continue isolée isolée isolée absence semi-continue isolée continue semi-continue semi-continue semi-continue bosquets éparses continue continue semi-continue espacée-régulière continue absence isolée semi-continue isolée semi-continue continue bosquets éparses bosquets éparses absence semi-continue absence absence isolée absence continue continue bosquets éparses absence semi-continue isolée bosquets éparses absence absence bosquets éparses semi-continue isolée continue absence continue bosquets éparses isolée isolée espacée-régulière isolée continue continue continue bosquets éparses semi-continue semi-continue bosquets éparses semi-continue bosquets éparses continue absence semi-continue continue absence semi-continue isolée semi-continue continue isolée semi-continue continue semi-continue semi-continue semi-continue semi-continue bosquets éparses semi-continue bosquets éparses semi-continue semi-continue espacée-régulière continue continue bosquets éparses semi-continue bosquets éparses espacée-régulière semi-continue isolée semi-continue semi-continue semi-continue semi-continue continue semi-continue absence continue semi-continue isolée bosquets éparses bosquets éparses semi-continue semi-continue semi-continue semi-continue bosquets éparses semi-continue continue espacée-régulière espacée-régulière semi-continue continue continue continue absence absence continue semi-continue continue continue isolée absence continue isolée continue continue continue continue isolée isolée continue bosquets éparses semi-continue continue bosquets éparses isolée bosquets éparses semi-continue semi-continue semi-continue isolée continue continue semi-continue continue continue continue bosquets éparses semi-continue continue bosquets éparses continue semi-continue semi-continue semi-continue continue isolée continue espacée-régulière continue continue espacée-régulière semi-continue continue semi-continue semi-continue bosquets éparses absence bosquets éparses continue continue bosquets éparses isolée continue bosquets éparses bosquets éparses absence espacée-régulière absence isolée semi-continue semi-continue isolée continue continue continue continue semi-continue semi-continue continue semi-continue bosquets éparses semi-continue semi-continue espacée-régulière continue semi-continue bosquets éparses absence bosquets éparses continue absence semi-continue semi-continue semi-continue continue absence semi-continue continue continue semi-continue continue continue semi-continue continue semi-continue absence bosquets éparses semi-continue continue continue semi-continue bosquets éparses continue semi-continue absence semi-continue continue continue absence isolée continue bosquets éparses continue semi-continue semi-continue semi-continue semi-continue continue semi-continue semi-continue semi-continue bosquets éparses bosquets éparses continue bosquets éparses semi-continue semi-continue continue continue absence absence semi-continue semi-continue bosquets éparses isolée semi-continue bosquets éparses bosquets éparses espacée-régulière isolée semi-continue continue semi-continue continue continue continue continue continue continue semi-continue semi-continue semi-continue continue continue semi-continue continue semi-continue continue semi-continue bosquets éparses bosquets éparses bosquets éparses continue semi-continue semi-continue continue semi-continue semi-continue semi-continue continue continue semi-continue continue semi-continue espacée-régulière semi-continue espacée-régulière semi-continue bosquets éparses semi-continue semi-continue bosquets éparses espacée-régulière continue continue semi-continue bosquets éparses continue semi-continue semi-continue semi-continue semi-continue semi-continue continue isolée continue semi-continue semi-continue continue espacée-régulière semi-continue espacée-régulière semi-continue semi-continue continue isolée semi-continue isolée espacée-régulière semi-continue continue espacée-régulière absence isolée bosquets éparses continue bosquets éparses continue semi-continue continue semi-continue absence semi-continue continue semi-continue continue semi-continue continue bosquets éparses bosquets éparses espacée-régulière continue bosquets éparses bosquets éparses semi-continue semi-continue semi-continue semi-continue continue bosquets éparses continue isolée isolée continue espacée-régulière continue semi-continue semi-continue semi-continue semi-continue continue absence semi-continue continue semi-continue continue continue continue absence continue continue continue semi-continue semi-continue semi-continue semi-continue espacée-régulière semi-continue semi-continue continue continue semi-continue isolée semi-continue isolée semi-continue isolée isolée bosquets éparses continue semi-continue continue espacée-régulière semi-continue semi-continue bosquets éparses bosquets éparses semi-continue semi-continue isolée bosquets éparses semi-continue continue bosquets éparses continue continue absence continue semi-continue continue continue bosquets éparses bosquets éparses continue continue semi-continue continue continue isolée semi-continue continue continue continue semi-continue isolée isolée continue continue isolée semi-continue semi-continue semi-continue bosquets éparses continue semi-continue continue semi-continue semi-continue isolée isolée semi-continue semi-continue bosquets éparses continue absence continue semi-continue semi-continue semi-continue continue continue bosquets éparses bosquets éparses continue isolée continue semi-continue continue continue semi-continue semi-continue continue bosquets éparses continue continue bosquets éparses semi-continue bosquets éparses continue continue continue absence semi-continue continue semi-continue isolée continue semi-continue semi-continue continue continue continue continue continue bosquets éparses continue bosquets éparses continue semi-continue semi-continue semi-continue isolée semi-continue semi-continue continue continue semi-continue semi-continue semi-continue isolée bosquets éparses continue isolée continue espacée-régulière absence continue semi-continue semi-continue continue semi-continue semi-continue bosquets éparses semi-continue semi-continue espacée-régulière espacée-régulière isolée semi-continue absence continue semi-continue semi-continue espacée-régulière absence bosquets éparses semi-continue continue semi-continue absence absence continue continue continue continue semi-continue bosquets éparses semi-continue continue isolée espacée-régulière semi-continue bosquets éparses bosquets éparses semi-continue continue semi-continue continue isolée semi-continue continue semi-continue semi-continue continue continue semi-continue continue continue absence continue semi-continue continue semi-continue continue continue continue continue semi-continue bosquets éparses isolée bosquets éparses continue continue continue isolée continue semi-continue isolée semi-continue absence absence continue continue semi-continue isolée semi-continue isolée semi-continue semi-continue isolée semi-continue semi-continue continue semi-continue absence continue continue bosquets éparses isolée semi-continue semi-continue semi-continue bosquets éparses bosquets éparses semi-continue isolée absence continue absence bosquets éparses semi-continue bosquets éparses continue bosquets éparses espacée-régulière isolée continue semi-continue bosquets éparses continue semi-continue semi-continue semi-continue continue bosquets éparses continue continue semi-continue isolée isolée semi-continue absence isolée absence isolée bosquets éparses espacée-régulière bosquets éparses isolée semi-continue semi-continue bosquets éparses semi-continue continue continue isolée semi-continue continue semi-continue espacée-régulière semi-continue semi-continue continue semi-continue isolée espacée-régulière continue semi-continue continue continue semi-continue absence semi-continue semi-continue continue semi-continue semi-continue isolée absence bosquets éparses isolée semi-continue bosquets éparses isolée absence continue continue continue absence espacée-régulière bosquets éparses continue semi-continue continue semi-continue continue continue continue semi-continue continue continue semi-continue continue espacée-régulière continue semi-continue semi-continue espacée-régulière bosquets éparses bosquets éparses semi-continue bosquets éparses continue semi-continue semi-continue bosquets éparses continue continue absence continue continue continue continue bosquets éparses semi-continue bosquets éparses bosquets éparses semi-continue semi-continue bosquets éparses continue semi-continue bosquets éparses continue semi-continue continue continue continue bosquets éparses continue continue semi-continue absence isolée continue semi-continue absence semi-continue continue semi-continue continue semi-continue absence bosquets éparses bosquets éparses bosquets éparses bosquets éparses bosquets éparses semi-continue bosquets éparses continue bosquets éparses continue bosquets éparses semi-continue isolée semi-continue espacée-régulière continue semi-continue bosquets éparses semi-continue semi-continue semi-continue semi-continue continue continue semi-continue isolée bosquets éparses espacée-régulière semi-continue semi-continue bosquets éparses semi-continue continue semi-continue continue continue continue continue continue continue continue continue bosquets éparses continue continue continue absence continue continue continue semi-continue continue continue continue bosquets éparses continue espacée-régulière bosquets éparses semi-continue absence bosquets éparses continue espacée-régulière absence isolée absence absence absence continue isolée continue bosquets éparses semi-continue continue semi-continue semi-continue semi-continue continue continue isolée bosquets éparses continue continue continue continue continue semi-continue continue continue continue continue bosquets éparses isolée semi-continue absence semi-continue continue absence absence continue espacée-régulière continue absence absence absence absence semi-continue absence semi-continue bosquets éparses semi-continue continue absence isolée bosquets éparses continue continue continue continue continue continue continue continue semi-continue continue bosquets éparses continue isolée continue continue continue continue continue continue continue semi-continue continue isolée continue continue isolée continue semi-continue continue espacée-régulière bosquets éparses semi-continue continue continue bosquets éparses continue continue continue continue bosquets éparses continue semi-continue semi-continue bosquets éparses continue semi-continue semi-continue semi-continue absence bosquets éparses semi-continue semi-continue continue continue continue absence isolée continue continue continue continue continue semi-continue semi-continue continue semi-continue continue semi-continue continue semi-continue bosquets éparses continue continue continue semi-continue bosquets éparses continue continue continue continue semi-continue continue continue semi-continue continue semi-continue isolée semi-continue bosquets éparses semi-continue semi-continue continue continue semi-continue semi-continue continue continue semi-continue semi-continue bosquets éparses semi-continue espacée-régulière semi-continue semi-continue semi-continue continue continue continue absence absence continue semi-continue semi-continue absence continue continue semi-continue continue continue isolée bosquets éparses isolée continue continue semi-continue semi-continue semi-continue semi-continue semi-continue bosquets éparses semi-continue semi-continue semi-continue continue semi-continue espacée-régulière bosquets éparses bosquets éparses continue continue semi-continue isolée bosquets éparses continue absence continue absence continue isolée semi-continue espacée-régulière isolée bosquets éparses absence absence bosquets éparses bosquets éparses absence continue continue semi-continue bosquets éparses semi-continue continue semi-continue semi-continue continue continue continue continue absence continue bosquets éparses continue continue semi-continue semi-continue bosquets éparses semi-continue bosquets éparses semi-continue continue espacée-régulière semi-continue continue semi-continue semi-continue semi-continue semi-continue continue continue semi-continue espacée-régulière semi-continue bosquets éparses continue bosquets éparses semi-continue semi-continue isolée absence absence absence semi-continue semi-continue continue semi-continue bosquets éparses bosquets éparses bosquets éparses semi-continue semi-continue semi-continue semi-continue semi-continue semi-continue isolée isolée semi-continue isolée absence isolée semi-continue espacée-régulière continue semi-continue absence continue continue continue continue bosquets éparses bosquets éparses bosquets éparses continue bosquets éparses bosquets éparses continue semi-continue continue bosquets éparses bosquets éparses semi-continue continue semi-continue continue semi-continue semi-continue continue semi-continue semi-continue continue continue semi-continue bosquets éparses continue semi-continue semi-continue continue semi-continue semi-continue continue continue semi-continue isolée absence isolée semi-continue continue continue continue continue continue isolée bosquets éparses isolée bosquets éparses continue continue absence continue continue espacée-régulière semi-continue isolée semi-continue semi-continue semi-continue absence continue isolée continue continue bosquets éparses semi-continue continue semi-continue continue isolée continue semi-continue absence continue absence absence continue semi-continue continue continue absence semi-continue continue semi-continue bosquets éparses espacée-régulière semi-continue continue bosquets éparses semi-continue semi-continue isolée semi-continue semi-continue isolée absence absence continue semi-continue isolée semi-continue semi-continue semi-continue semi-continue semi-continue bosquets éparses isolée isolée continue isolée continue semi-continue continue isolée bosquets éparses bosquets éparses semi-continue continue semi-continue continue absence semi-continue continue absence continue continue continue espacée-régulière semi-continue isolée continue continue isolée semi-continue semi-continue absence espacée-régulière espacée-régulière espacée-régulière espacée-régulière continue bosquets éparses bosquets éparses bosquets éparses continue absence continue continue continue semi-continue continue absence semi-continue continue isolée bosquets éparses continue semi-continue continue continue semi-continue semi-continue semi-continue isolée espacée-régulière semi-continue absence bosquets éparses semi-continue semi-continue continue semi-continue espacée-régulière absence isolée bosquets éparses bosquets éparses isolée semi-continue semi-continue continue continue continue semi-continue continue continue continue espacée-régulière semi-continue semi-continue semi-continue continue semi-continue continue semi-continue absence isolée continue semi-continue continue continue continue continue continue continue continue absence isolée continue continue semi-continue semi-continue continue continue bosquets éparses continue isolée semi-continue absence continue semi-continue continue semi-continue semi-continue semi-continue continue isolée continue continue continue semi-continue bosquets éparses continue bosquets éparses semi-continue bosquets éparses absence semi-continue semi-continue isolée semi-continue semi-continue semi-continue absence semi-continue semi-continue semi-continue continue espacée-régulière semi-continue continue continue semi-continue absence semi-continue semi-continue continue absence bosquets éparses isolée continue continue semi-continue continue semi-continue semi-continue continue continue absence continue semi-continue semi-continue isolée continue bosquets éparses continue continue continue semi-continue continue bosquets éparses isolée semi-continue continue absence espacée-régulière semi-continue absence semi-continue absence absence espacée-régulière isolée espacée-régulière espacée-régulière espacée-régulière semi-continue continue semi-continue continue continue absence semi-continue continue semi-continue continue continue continue continue bosquets éparses isolée espacée-régulière continue semi-continue semi-continue continue continue continue bosquets éparses continue continue semi-continue semi-continue continue bosquets éparses semi-continue semi-continue semi-continue isolée bosquets éparses absence continue continue semi-continue semi-continue bosquets éparses continue continue semi-continue semi-continue semi-continue semi-continue semi-continue bosquets éparses bosquets éparses semi-continue isolée continue continue semi-continue continue continue continue espacée-régulière continue semi-continue isolée continue continue continue continue isolée semi-continue continue semi-continue continue semi-continue isolée semi-continue continue semi-continue isolée isolée semi-continue continue continue continue continue continue bosquets éparses semi-continue semi-continue absence continue semi-continue semi-continue absence continue isolée continue absence semi-continue isolée bosquets éparses semi-continue continue bosquets éparses isolée continue semi-continue bosquets éparses bosquets éparses isolée absence semi-continue semi-continue isolée bosquets éparses absence continue absence espacée-régulière semi-continue continue absence bosquets éparses semi-continue semi-continue isolée semi-continue semi-continue espacée-régulière continue isolée continue continue semi-continue continue bosquets éparses absence isolée continue continue continue semi-continue bosquets éparses semi-continue semi-continue bosquets éparses continue isolée continue semi-continue semi-continue bosquets éparses semi-continue isolée bosquets éparses continue continue semi-continue espacée-régulière continue continue bosquets éparses espacée-régulière continue semi-continue bosquets éparses bosquets éparses semi-continue continue absence continue continue semi-continue continue bosquets éparses semi-continue bosquets éparses semi-continue espacée-régulière continue continue continue continue continue continue continue semi-continue semi-continue isolée semi-continue continue continue continue isolée continue espacée-régulière continue semi-continue continue semi-continue semi-continue bosquets éparses semi-continue bosquets éparses semi-continue semi-continue bosquets éparses espacée-régulière semi-continue semi-continue isolée semi-continue continue continue semi-continue isolée continue semi-continue semi-continue continue continue semi-continue semi-continue espacée-régulière semi-continue bosquets éparses bosquets éparses espacée-régulière semi-continue continue semi-continue continue semi-continue isolée semi-continue semi-continue isolée semi-continue continue continue continue continue bosquets éparses bosquets éparses semi-continue semi-continue continue semi-continue isolée semi-continue absence semi-continue semi-continue semi-continue isolée bosquets éparses espacée-régulière semi-continue isolée isolée continue semi-continue semi-continue semi-continue semi-continue absence bosquets éparses continue continue continue bosquets éparses continue semi-continue semi-continue semi-continue espacée-régulière semi-continue continue isolée continue bosquets éparses absence semi-continue semi-continue continue continue bosquets éparses continue semi-continue semi-continue bosquets éparses semi-continue isolée continue bosquets éparses continue semi-continue semi-continue continue semi-continue semi-continue semi-continue semi-continue semi-continue semi-continue espacée-régulière continue absence continue isolée espacée-régulière semi-continue absence semi-continue semi-continue continue continue continue continue absence bosquets éparses continue semi-continue semi-continue isolée continue continue continue bosquets éparses bosquets éparses continue semi-continue continue espacée-régulière semi-continue isolée bosquets éparses isolée continue continue semi-continue semi-continue bosquets éparses absence espacée-régulière espacée-régulière bosquets éparses semi-continue bosquets éparses semi-continue absence continue absence bosquets éparses semi-continue continue semi-continue continue isolée continue espacée-régulière absence espacée-régulière isolée continue bosquets éparses isolée bosquets éparses espacée-régulière absence bosquets éparses isolée continue continue continue isolée bosquets éparses isolée bosquets éparses absence bosquets éparses absence semi-continue isolée espacée-régulière continue absence bosquets éparses semi-continue isolée semi-continue continue semi-continue semi-continue semi-continue semi-continue absence absence continue isolée semi-continue bosquets éparses isolée semi-continue continue semi-continue semi-continue absence bosquets éparses semi-continue continue isolée isolée semi-continue semi-continue bosquets éparses bosquets éparses continue bosquets éparses semi-continue bosquets éparses isolée absence semi-continue bosquets éparses continue continue semi-continue continue continue semi-continue bosquets éparses isolée isolée semi-continue continue bosquets éparses continue semi-continue semi-continue semi-continue continue absence semi-continue continue isolée semi-continue continue semi-continue bosquets éparses semi-continue continue continue continue
continuite_ripisylve_rive_droite bosquets éparses bosquets éparses bosquets éparses absence bosquets éparses isolée continue continue continue continue continue isolée isolée isolée bosquets éparses semi-continue bosquets éparses espacée-régulière semi-continue espacée-régulière continue semi-continue semi-continue continue bosquets éparses espacée-régulière semi-continue semi-continue semi-continue semi-continue semi-continue semi-continue espacée-régulière bosquets éparses semi-continue semi-continue continue semi-continue semi-continue semi-continue continue continue semi-continue semi-continue continue continue continue continue isolée bosquets éparses continue isolée continue semi-continue continue continue semi-continue espacée-régulière espacée-régulière continue semi-continue continue bosquets éparses semi-continue semi-continue continue continue espacée-régulière continue semi-continue continue semi-continue continue continue semi-continue continue semi-continue continue isolée espacée-régulière bosquets éparses continue semi-continue semi-continue semi-continue isolée continue continue continue continue continue semi-continue continue bosquets éparses continue continue semi-continue continue continue semi-continue continue continue continue semi-continue bosquets éparses continue semi-continue continue semi-continue bosquets éparses continue semi-continue semi-continue semi-continue semi-continue bosquets éparses isolée isolée semi-continue continue continue semi-continue continue semi-continue bosquets éparses semi-continue semi-continue bosquets éparses semi-continue semi-continue semi-continue semi-continue continue semi-continue espacée-régulière bosquets éparses continue continue semi-continue bosquets éparses isolée continue bosquets éparses continue absence semi-continue continue semi-continue bosquets éparses semi-continue bosquets éparses continue continue semi-continue isolée isolée continue continue espacée-régulière semi-continue semi-continue NA continue bosquets éparses NA isolée continue isolée semi-continue semi-continue semi-continue absence semi-continue bosquets éparses bosquets éparses semi-continue semi-continue isolée espacée-régulière continue espacée-régulière continue continue continue semi-continue continue continue semi-continue continue bosquets éparses semi-continue absence continue bosquets éparses bosquets éparses espacée-régulière continue semi-continue semi-continue semi-continue continue semi-continue bosquets éparses semi-continue semi-continue semi-continue continue semi-continue bosquets éparses bosquets éparses semi-continue continue semi-continue bosquets éparses bosquets éparses semi-continue continue bosquets éparses semi-continue semi-continue bosquets éparses bosquets éparses bosquets éparses continue semi-continue semi-continue NA continue isolée semi-continue isolée semi-continue continue semi-continue absence isolée continue semi-continue semi-continue continue bosquets éparses bosquets éparses continue semi-continue continue bosquets éparses semi-continue continue semi-continue semi-continue continue continue continue semi-continue isolée espacée-régulière bosquets éparses semi-continue bosquets éparses semi-continue semi-continue continue NA continue absence semi-continue continue continue semi-continue semi-continue bosquets éparses bosquets éparses bosquets éparses bosquets éparses continue continue continue continue continue semi-continue continue continue semi-continue continue semi-continue absence semi-continue continue continue absence semi-continue semi-continue continue isolée NA continue continue continue continue continue semi-continue bosquets éparses continue semi-continue absence isolée continue semi-continue absence continue bosquets éparses semi-continue continue absence continue continue continue absence absence bosquets éparses bosquets éparses continue continue absence absence continue continue continue continue continue semi-continue bosquets éparses continue isolée continue espacée-régulière continue semi-continue semi-continue isolée continue continue espacée-régulière absence bosquets éparses espacée-régulière bosquets éparses absence espacée-régulière absence semi-continue continue semi-continue semi-continue semi-continue semi-continue isolée semi-continue semi-continue semi-continue isolée isolée semi-continue semi-continue absence bosquets éparses continue continue bosquets éparses espacée-régulière continue semi-continue continue absence espacée-régulière absence isolée continue isolée semi-continue continue continue continue absence semi-continue continue absence bosquets éparses isolée semi-continue isolée isolée absence absence semi-continue semi-continue continue espacée-régulière continue continue isolée bosquets éparses isolée absence espacée-régulière continue semi-continue continue espacée-régulière continue continue semi-continue continue espacée-régulière absence isolée continue bosquets éparses absence absence continue isolée espacée-régulière espacée-régulière semi-continue semi-continue continue semi-continue isolée semi-continue semi-continue semi-continue semi-continue isolée isolée semi-continue bosquets éparses isolée continue continue bosquets éparses isolée isolée semi-continue bosquets éparses semi-continue semi-continue continue continue continue semi-continue continue semi-continue semi-continue isolée continue continue continue continue bosquets éparses absence absence continue continue bosquets éparses semi-continue absence semi-continue continue continue isolée semi-continue semi-continue bosquets éparses absence continue continue isolée isolée continue continue continue semi-continue semi-continue continue espacée-régulière isolée espacée-régulière continue semi-continue continue semi-continue semi-continue continue semi-continue espacée-régulière semi-continue continue bosquets éparses semi-continue continue bosquets éparses semi-continue espacée-régulière espacée-régulière continue continue semi-continue continue continue bosquets éparses absence continue continue continue continue continue semi-continue bosquets éparses continue absence semi-continue semi-continue continue semi-continue continue absence semi-continue absence bosquets éparses semi-continue isolée continue continue semi-continue semi-continue continue espacée-régulière semi-continue continue continue continue bosquets éparses continue semi-continue continue isolée continue semi-continue semi-continue espacée-régulière continue continue bosquets éparses continue continue semi-continue isolée espacée-régulière espacée-régulière continue continue bosquets éparses continue continue continue isolée continue isolée continue espacée-régulière absence continue isolée continue continue isolée continue semi-continue continue semi-continue continue continue bosquets éparses semi-continue continue isolée semi-continue bosquets éparses semi-continue semi-continue semi-continue isolée semi-continue bosquets éparses isolée absence semi-continue continue continue semi-continue isolée semi-continue bosquets éparses continue absence isolée continue continue semi-continue bosquets éparses continue semi-continue semi-continue semi-continue semi-continue isolée continue semi-continue continue absence absence absence isolée semi-continue isolée continue espacée-régulière continue continue absence continue semi-continue bosquets éparses isolée bosquets éparses continue continue semi-continue isolée continue continue continue semi-continue bosquets éparses semi-continue continue continue semi-continue bosquets éparses semi-continue continue semi-continue isolée bosquets éparses semi-continue continue bosquets éparses absence continue continue continue espacée-régulière semi-continue bosquets éparses semi-continue espacée-régulière semi-continue semi-continue semi-continue espacée-régulière bosquets éparses bosquets éparses espacée-régulière semi-continue continue absence semi-continue semi-continue continue isolée bosquets éparses semi-continue absence semi-continue absence absence absence continue absence continue continue isolée semi-continue isolée bosquets éparses bosquets éparses continue bosquets éparses semi-continue continue continue isolée bosquets éparses continue isolée isolée semi-continue isolée bosquets éparses continue continue semi-continue semi-continue semi-continue continue espacée-régulière semi-continue semi-continue absence semi-continue absence absence bosquets éparses continue continue isolée continue semi-continue absence continue bosquets éparses bosquets éparses continue semi-continue semi-continue absence continue continue continue continue continue bosquets éparses bosquets éparses semi-continue espacée-régulière isolée isolée isolée absence bosquets éparses continue bosquets éparses semi-continue bosquets éparses semi-continue continue continue semi-continue bosquets éparses continue absence bosquets éparses bosquets éparses isolée semi-continue bosquets éparses bosquets éparses bosquets éparses absence absence absence absence isolée absence continue continue semi-continue absence bosquets éparses isolée bosquets éparses isolée absence espacée-régulière semi-continue isolée continue absence continue isolée continue espacée-régulière espacée-régulière absence semi-continue continue continue continue semi-continue semi-continue semi-continue bosquets éparses semi-continue semi-continue absence continue semi-continue absence semi-continue bosquets éparses semi-continue isolée absence semi-continue continue bosquets éparses continue continue semi-continue bosquets éparses semi-continue semi-continue continue semi-continue semi-continue semi-continue absence bosquets éparses semi-continue bosquets éparses absence bosquets éparses isolée semi-continue semi-continue semi-continue semi-continue semi-continue semi-continue bosquets éparses continue semi-continue semi-continue continue semi-continue semi-continue continue semi-continue bosquets éparses semi-continue semi-continue continue semi-continue espacée-régulière semi-continue continue continue continue absence absence semi-continue absence continue bosquets éparses isolée absence continue espacée-régulière bosquets éparses continue continue continue bosquets éparses absence isolée bosquets éparses semi-continue continue bosquets éparses isolée bosquets éparses semi-continue isolée continue bosquets éparses continue continue semi-continue continue continue semi-continue continue semi-continue continue bosquets éparses continue bosquets éparses semi-continue continue continue continue semi-continue espacée-régulière continue continue espacée-régulière semi-continue continue semi-continue continue espacée-régulière bosquets éparses semi-continue continue continue bosquets éparses semi-continue continue bosquets éparses semi-continue absence isolée absence isolée semi-continue semi-continue isolée continue continue bosquets éparses continue semi-continue semi-continue continue semi-continue continue continue semi-continue espacée-régulière semi-continue semi-continue isolée continue semi-continue continue absence absence continue continue continue continue absence continue bosquets éparses isolée continue continue bosquets éparses continue semi-continue absence semi-continue semi-continue isolée continue semi-continue continue continue continue absence continue continue continue absence bosquets éparses bosquets éparses continue continue bosquets éparses semi-continue bosquets éparses absence isolée bosquets éparses semi-continue isolée bosquets éparses continue espacée-régulière isolée continue semi-continue continue semi-continue semi-continue absence bosquets éparses bosquets éparses bosquets éparses semi-continue semi-continue bosquets éparses espacée-régulière isolée bosquets éparses semi-continue continue semi-continue continue continue continue continue continue continue semi-continue semi-continue continue continue continue semi-continue continue bosquets éparses continue continue semi-continue isolée continue continue semi-continue semi-continue continue semi-continue bosquets éparses semi-continue continue continue semi-continue continue semi-continue espacée-régulière semi-continue espacée-régulière semi-continue espacée-régulière semi-continue semi-continue bosquets éparses isolée continue continue semi-continue semi-continue semi-continue bosquets éparses semi-continue semi-continue semi-continue semi-continue continue espacée-régulière continue continue semi-continue isolée espacée-régulière continue semi-continue bosquets éparses espacée-régulière semi-continue isolée isolée espacée-régulière isolée continue semi-continue semi-continue absence isolée continue continue bosquets éparses continue continue semi-continue continue semi-continue bosquets éparses semi-continue continue continue semi-continue continue bosquets éparses continue espacée-régulière semi-continue continue semi-continue semi-continue semi-continue bosquets éparses continue continue semi-continue semi-continue espacée-régulière espacée-régulière continue espacée-régulière continue semi-continue isolée semi-continue semi-continue continue continue continue continue continue semi-continue bosquets éparses semi-continue bosquets éparses isolée continue semi-continue semi-continue semi-continue continue semi-continue espacée-régulière bosquets éparses isolée semi-continue continue semi-continue semi-continue continue isolée bosquets éparses bosquets éparses isolée bosquets éparses semi-continue semi-continue continue bosquets éparses semi-continue semi-continue bosquets éparses semi-continue semi-continue semi-continue isolée continue bosquets éparses continue semi-continue continue continue absence continue semi-continue continue continue semi-continue semi-continue continue continue isolée continue semi-continue semi-continue continue continue continue continue semi-continue isolée absence continue continue continue semi-continue continue isolée bosquets éparses continue semi-continue continue semi-continue continue bosquets éparses absence semi-continue semi-continue isolée continue absence continue semi-continue semi-continue continue continue continue semi-continue semi-continue continue isolée continue semi-continue continue continue semi-continue semi-continue continue bosquets éparses continue continue bosquets éparses bosquets éparses isolée semi-continue semi-continue semi-continue isolée semi-continue isolée bosquets éparses bosquets éparses continue semi-continue semi-continue semi-continue continue continue semi-continue continue isolée continue bosquets éparses continue isolée bosquets éparses bosquets éparses isolée isolée bosquets éparses semi-continue isolée semi-continue continue espacée-régulière isolée continue continue continue continue bosquets éparses isolée semi-continue semi-continue semi-continue continue continue semi-continue semi-continue semi-continue semi-continue semi-continue semi-continue absence semi-continue absence semi-continue semi-continue continue bosquets éparses isolée continue bosquets éparses absence bosquets éparses absence absence continue continue continue espacée-régulière bosquets éparses bosquets éparses semi-continue continue absence bosquets éparses continue bosquets éparses semi-continue continue continue continue continue espacée-régulière semi-continue continue semi-continue semi-continue continue continue semi-continue continue absence semi-continue continue continue continue semi-continue continue continue continue semi-continue semi-continue continue semi-continue semi-continue continue continue continue bosquets éparses continue isolée absence semi-continue continue continue continue continue semi-continue continue semi-continue semi-continue continue semi-continue isolée semi-continue semi-continue continue semi-continue absence semi-continue continue espacée-régulière espacée-régulière absence semi-continue semi-continue continue semi-continue semi-continue semi-continue absence bosquets éparses absence isolée continue continue continue bosquets éparses continue bosquets éparses continue semi-continue semi-continue continue semi-continue continue continue continue isolée continue continue bosquets éparses bosquets éparses semi-continue semi-continue isolée semi-continue isolée espacée-régulière semi-continue espacée-régulière isolée absence isolée semi-continue semi-continue semi-continue continue continue absence bosquets éparses semi-continue bosquets éparses isolée semi-continue semi-continue continue semi-continue isolée espacée-régulière semi-continue bosquets éparses continue continue semi-continue absence isolée bosquets éparses semi-continue bosquets éparses bosquets éparses espacée-régulière espacée-régulière bosquets éparses isolée semi-continue semi-continue bosquets éparses absence continue continue continue absence continue bosquets éparses bosquets éparses continue continue continue isolée continue semi-continue bosquets éparses continue continue continue continue espacée-régulière continue continue semi-continue isolée continue semi-continue continue semi-continue continue continue semi-continue semi-continue continue absence absence continue continue continue continue isolée semi-continue isolée bosquets éparses semi-continue bosquets éparses semi-continue semi-continue semi-continue bosquets éparses semi-continue continue continue continue continue absence continue espacée-régulière continue absence absence continue semi-continue absence semi-continue semi-continue continue isolée continue isolée bosquets éparses bosquets éparses bosquets éparses bosquets éparses bosquets éparses semi-continue semi-continue semi-continue continue bosquets éparses espacée-régulière bosquets éparses isolée semi-continue espacée-régulière continue semi-continue continue semi-continue semi-continue semi-continue continue continue continue semi-continue isolée isolée isolée semi-continue semi-continue bosquets éparses semi-continue continue isolée continue continue semi-continue continue semi-continue continue semi-continue continue bosquets éparses continue continue continue isolée continue continue continue continue continue continue continue continue continue isolée bosquets éparses continue absence bosquets éparses continue espacée-régulière absence bosquets éparses absence absence absence continue semi-continue continue continue espacée-régulière continue continue semi-continue semi-continue continue semi-continue espacée-régulière semi-continue continue continue continue continue continue semi-continue semi-continue continue continue isolée bosquets éparses isolée continue absence continue continue absence absence continue espacée-régulière continue absence absence absence absence semi-continue bosquets éparses bosquets éparses continue continue continue absence bosquets éparses semi-continue continue continue continue continue continue continue continue continue semi-continue continue semi-continue continue bosquets éparses continue continue continue continue continue continue semi-continue continue continue isolée continue continue isolée isolée semi-continue continue bosquets éparses semi-continue semi-continue continue continue continue semi-continue continue continue semi-continue bosquets éparses continue semi-continue isolée semi-continue continue semi-continue isolée continue absence absence semi-continue semi-continue continue continue continue absence isolée continue continue continue continue continue bosquets éparses semi-continue semi-continue semi-continue absence semi-continue continue semi-continue continue continue continue semi-continue semi-continue isolée semi-continue continue continue continue continue continue continue semi-continue continue semi-continue semi-continue semi-continue continue bosquets éparses semi-continue continue continue semi-continue semi-continue semi-continue continue semi-continue semi-continue bosquets éparses semi-continue espacée-régulière semi-continue semi-continue semi-continue continue continue continue absence absence continue semi-continue semi-continue absence continue continue semi-continue semi-continue continue bosquets éparses bosquets éparses absence continue continue semi-continue semi-continue semi-continue continue continue semi-continue semi-continue semi-continue continue continue continue isolée semi-continue semi-continue continue continue semi-continue isolée isolée semi-continue absence continue absence continue isolée continue continue bosquets éparses bosquets éparses absence absence espacée-régulière bosquets éparses semi-continue continue continue semi-continue semi-continue continue continue espacée-régulière continue continue continue semi-continue semi-continue absence continue bosquets éparses semi-continue continue semi-continue semi-continue bosquets éparses semi-continue bosquets éparses semi-continue continue continue semi-continue continue semi-continue continue semi-continue semi-continue continue continue continue espacée-régulière semi-continue semi-continue bosquets éparses bosquets éparses semi-continue semi-continue isolée absence continue absence semi-continue continue continue bosquets éparses continue semi-continue semi-continue continue semi-continue bosquets éparses bosquets éparses semi-continue absence isolée bosquets éparses semi-continue semi-continue absence absence semi-continue bosquets éparses continue continue absence continue continue continue semi-continue semi-continue semi-continue bosquets éparses semi-continue semi-continue semi-continue continue semi-continue continue bosquets éparses continue semi-continue continue semi-continue continue semi-continue semi-continue continue continue semi-continue continue semi-continue bosquets éparses semi-continue semi-continue semi-continue continue continue semi-continue continue semi-continue continue semi-continue isolée absence continue semi-continue continue semi-continue continue continue continue isolée semi-continue absence continue continue continue absence continue continue continue semi-continue isolée semi-continue bosquets éparses semi-continue continue continue isolée continue semi-continue bosquets éparses continue continue continue semi-continue bosquets éparses espacée-régulière semi-continue absence continue absence absence continue semi-continue continue continue absence bosquets éparses continue continue bosquets éparses isolée espacée-régulière semi-continue continue semi-continue semi-continue isolée semi-continue semi-continue isolée absence isolée continue continue absence semi-continue semi-continue semi-continue semi-continue continue bosquets éparses absence semi-continue continue continue continue semi-continue semi-continue absence bosquets éparses isolée semi-continue continue semi-continue continue continue bosquets éparses semi-continue absence continue semi-continue semi-continue espacée-régulière semi-continue isolée continue continue isolée semi-continue semi-continue absence espacée-régulière continue continue absence continue bosquets éparses continue continue bosquets éparses absence continue semi-continue espacée-régulière continue isolée absence absence bosquets éparses semi-continue absence semi-continue continue continue isolée espacée-régulière semi-continue absence isolée continue continue isolée semi-continue semi-continue semi-continue continue semi-continue continue absence continue semi-continue bosquets éparses semi-continue espacée-régulière semi-continue continue continue continue espacée-régulière continue continue continue espacée-régulière semi-continue semi-continue continue continue semi-continue continue semi-continue continue isolée continue semi-continue continue continue continue continue continue continue semi-continue isolée absence semi-continue continue bosquets éparses bosquets éparses continue continue semi-continue continue isolée semi-continue absence semi-continue semi-continue continue isolée semi-continue semi-continue continue isolée continue continue continue continue bosquets éparses espacée-régulière bosquets éparses continue semi-continue absence semi-continue semi-continue isolée continue semi-continue bosquets éparses continue continue semi-continue semi-continue semi-continue isolée semi-continue bosquets éparses semi-continue semi-continue absence bosquets éparses semi-continue continue isolée bosquets éparses isolée continue continue isolée continue semi-continue semi-continue semi-continue continue absence semi-continue semi-continue semi-continue bosquets éparses bosquets éparses continue semi-continue semi-continue semi-continue semi-continue continue semi-continue isolée semi-continue continue absence absence continue isolée semi-continue absence absence espacée-régulière isolée espacée-régulière espacée-régulière espacée-régulière semi-continue semi-continue semi-continue semi-continue continue continue continue continue semi-continue bosquets éparses continue continue continue semi-continue isolée continue bosquets éparses semi-continue continue continue continue continue bosquets éparses continue continue continue continue continue bosquets éparses continue semi-continue semi-continue espacée-régulière bosquets éparses absence continue continue bosquets éparses bosquets éparses bosquets éparses continue continue semi-continue semi-continue semi-continue bosquets éparses semi-continue semi-continue bosquets éparses bosquets éparses continue continue continue continue continue continue continue continue bosquets éparses semi-continue absence semi-continue continue continue continue absence bosquets éparses continue semi-continue continue bosquets éparses semi-continue semi-continue continue semi-continue isolée isolée isolée isolée isolée continue continue continue bosquets éparses semi-continue bosquets éparses isolée semi-continue semi-continue semi-continue absence continue continue semi-continue bosquets éparses semi-continue bosquets éparses continue semi-continue continue semi-continue semi-continue continue semi-continue bosquets éparses semi-continue continue semi-continue semi-continue continue bosquets éparses bosquets éparses absence continue continue bosquets éparses semi-continue continue absence semi-continue semi-continue semi-continue isolée semi-continue semi-continue semi-continue semi-continue semi-continue continue continue semi-continue continue bosquets éparses absence bosquets éparses continue continue semi-continue isolée bosquets éparses continue semi-continue bosquets éparses continue absence continue semi-continue continue bosquets éparses semi-continue bosquets éparses bosquets éparses continue continue bosquets éparses espacée-régulière continue continue semi-continue espacée-régulière semi-continue semi-continue continue semi-continue continue bosquets éparses semi-continue semi-continue semi-continue semi-continue semi-continue bosquets éparses semi-continue bosquets éparses continue espacée-régulière continue continue continue continue semi-continue continue continue continue semi-continue bosquets éparses semi-continue continue semi-continue espacée-régulière absence continue continue continue semi-continue continue semi-continue semi-continue bosquets éparses semi-continue espacée-régulière bosquets éparses bosquets éparses bosquets éparses continue semi-continue continue isolée bosquets éparses continue continue bosquets éparses isolée isolée semi-continue absence semi-continue continue isolée semi-continue bosquets éparses continue isolée semi-continue continue semi-continue continue semi-continue continue semi-continue semi-continue semi-continue semi-continue isolée semi-continue continue continue continue isolée continue bosquets éparses semi-continue semi-continue continue semi-continue continue espacée-régulière absence bosquets éparses continue isolée isolée semi-continue espacée-régulière semi-continue isolée espacée-régulière continue continue continue isolée bosquets éparses absence semi-continue semi-continue continue continue semi-continue continue continue continue semi-continue espacée-régulière semi-continue continue isolée continue continue absence continue semi-continue continue continue semi-continue semi-continue semi-continue semi-continue espacée-régulière absence semi-continue isolée semi-continue semi-continue semi-continue semi-continue isolée continue semi-continue semi-continue semi-continue semi-continue bosquets éparses bosquets éparses continue absence semi-continue espacée-régulière espacée-régulière semi-continue absence bosquets éparses semi-continue semi-continue continue continue continue absence bosquets éparses isolée semi-continue semi-continue semi-continue continue semi-continue continue bosquets éparses continue continue semi-continue semi-continue espacée-régulière semi-continue semi-continue bosquets éparses isolée bosquets éparses semi-continue semi-continue semi-continue espacée-régulière absence bosquets éparses continue bosquets éparses continue bosquets éparses semi-continue bosquets éparses continue absence semi-continue semi-continue semi-continue bosquets éparses continue bosquets éparses espacée-régulière semi-continue absence absence isolée continue semi-continue espacée-régulière semi-continue continue absence bosquets éparses continue absence continue continue continue bosquets éparses semi-continue continue absence bosquets éparses absence semi-continue continue semi-continue continue absence bosquets éparses semi-continue semi-continue semi-continue semi-continue continue semi-continue semi-continue continue absence absence continue absence continue semi-continue isolée bosquets éparses semi-continue espacée-régulière semi-continue absence continue semi-continue semi-continue semi-continue absence semi-continue continue bosquets éparses continue bosquets éparses continue semi-continue absence semi-continue absence semi-continue espacée-régulière continue continue isolée semi-continue espacée-régulière bosquets éparses bosquets éparses isolée bosquets éparses semi-continue continue bosquets éparses continue bosquets éparses continue continue continue absence semi-continue semi-continue isolée semi-continue continue continue bosquets éparses semi-continue continue continue continue
score_ripisylve NA 0.188 0.350 NA NA NA 1.299 0.650 NA 0.650 0.487 0.058 0.029 0.029 0.310 1.126 0.087 0.325 0.231 0.144 0.595 0.487 0.595 0.595 0.487 0.087 0.058 0.101 0.390 0.541 0.931 0.736 0.072 0.433 0.541 0.541 1.299 0.595 0.487 0.350 0.115 0.541 0.595 0.801 0.650 0.866 1.010 0.469 0.072 0.101 0.866 0.144 1.299 0.736 0.801 0.650 0.671 0.325 0.433 1.010 0.390 0.801 0.390 0.271 0.487 1.083 0.650 0.310 0.397 0.072 0.144 0.101 0.650 0.144 0.599 0.769 0.541 1.299 0.087 0.379 0.548 0.144 0.599 0.707 0.115 0.029 1.299 0.866 0.599 0.130 0.548 0.498 0.595 0.173 0.769 0.830 0.541 1.083 1.299 0.429 0.144 0.144 0.866 0.541 NA 0.429 0.390 0.429 0.390 0.310 0.115 0.736 0.541 0.736 0.433 0.487 0.058 0.014 0.101 0.541 0.072 0.487 0.650 NA NA 1.007 0.707 0.606 0.231 1.007 0.548 0.429 0.390 0.548 0.476 0.350 1.299 0.866 0.707 0.487 0.152 0.595 0.350 0.650 0.072 1.007 0.595 0.350 0.447 0.115 0.350 0.541 0.866 0.595 0.271 0.058 0.650 0.866 0.043 0.390 0.238 NA 0.866 0.310 NA 0.072 0.487 0.144 0.541 0.595 0.541 0.000 0.390 0.310 0.310 0.736 0.541 0.029 0.271 1.212 0.115 1.007 1.299 1.083 0.390 0.866 0.650 0.541 1.083 0.310 0.736 0.043 0.541 0.487 0.397 0.325 0.866 0.390 1.212 1.212 1.299 0.541 0.101 1.126 0.487 0.541 0.101 0.101 0.213 NA NA 0.650 NA NA NA 0.433 NA NA 0.231 NA 0.213 NA NA 0.595 0.736 0.310 NA 0.650 0.029 0.101 0.058 0.548 0.801 1.126 0.000 0.433 1.212 1.212 1.212 0.072 0.433 0.350 0.595 0.595 0.595 0.671 0.541 0.866 0.541 0.801 1.083 0.801 0.866 0.541 0.058 0.325 0.707 0.801 0.310 0.671 0.390 0.866 NA 1.299 NA 0.938 1.010 1.212 1.126 1.126 0.087 0.433 0.487 0.433 1.299 0.866 0.429 0.866 0.469 1.126 0.650 0.595 0.390 0.650 0.541 0.000 0.115 0.866 0.650 0.000 0.541 0.541 1.299 0.058 NA 0.144 0.650 0.650 0.469 0.469 0.487 0.058 0.650 0.541 0.000 0.072 1.212 0.931 NA 1.299 0.390 0.498 0.866 0.000 1.299 1.299 1.299 0.000 0.000 0.087 0.350 1.299 0.938 0.000 0.000 1.083 0.595 0.650 0.650 0.541 0.541 0.191 NA 0.014 1.299 0.350 0.650 0.390 0.390 0.014 1.299 1.299 0.462 0.000 0.087 0.058 0.043 0.000 0.476 0.108 0.541 0.390 0.390 0.390 0.350 0.072 0.144 0.390 0.087 0.390 0.191 0.029 1.212 0.390 0.000 0.087 0.650 0.469 0.231 0.029 1.299 0.541 0.866 0.000 0.058 0.000 0.072 0.231 0.058 0.072 0.469 0.072 0.671 0.000 0.115 1.299 0.144 0.487 0.310 0.390 0.029 0.014 NA 0.289 1.212 0.390 0.469 0.325 0.866 0.866 0.379 0.043 0.029 0.000 0.310 1.299 0.595 0.866 0.577 0.650 0.650 0.115 1.083 0.271 0.217 0.087 0.130 0.350 0.000 0.014 0.801 0.231 0.231 0.476 0.087 0.087 0.548 0.115 0.043 0.736 0.350 0.350 0.390 0.043 0.087 0.072 0.390 0.014 0.469 1.299 0.087 0.058 0.058 0.541 0.541 0.390 0.202 0.469 1.299 1.299 0.541 0.736 0.541 0.541 0.029 1.299 0.650 1.083 0.429 0.487 0.000 0.000 0.433 0.072 0.433 0.115 0.014 0.548 0.650 1.083 0.231 0.541 0.541 0.043 0.433 1.299 1.299 0.231 0.029 0.650 0.650 0.310 0.541 0.541 1.299 0.350 0.087 0.433 0.650 0.350 0.650 0.072 0.115 0.595 0.115 0.433 0.072 0.541 0.087 0.390 0.469 0.101 0.541 0.231 0.231 0.650 0.866 0.429 0.650 0.469 0.058 0.058 0.866 0.650 0.595 1.083 0.595 0.541 0.310 0.866 0.000 0.541 0.429 0.650 0.390 0.650 0.000 0.390 0.000 0.433 0.390 0.014 0.469 0.390 0.541 0.541 0.830 0.271 0.541 0.595 0.595 1.083 0.548 0.350 1.007 1.299 0.029 1.299 0.541 0.310 0.310 0.469 0.595 0.087 1.299 0.650 0.541 0.029 0.043 0.325 0.595 0.650 0.087 0.188 1.299 0.595 0.271 1.083 0.722 1.083 0.058 0.000 0.650 0.043 0.595 0.650 0.231 0.650 1.126 0.866 0.541 0.650 0.595 0.487 0.271 0.595 0.029 1.126 0.379 0.390 0.429 0.548 NA 0.595 0.058 0.029 0.000 0.595 0.866 0.650 0.390 0.029 0.390 0.310 0.541 0.000 0.014 0.801 1.299 0.595 0.433 0.866 0.595 0.487 0.541 0.390 0.043 0.866 0.310 1.299 0.000 0.000 0.000 NA 0.541 0.231 0.595 0.325 0.650 0.866 0.000 0.650 0.390 0.433 0.014 0.310 1.299 0.866 0.072 0.029 0.650 0.650 0.769 1.039 0.310 1.126 0.595 0.801 0.541 0.173 0.541 0.310 0.350 0.014 0.310 0.231 0.379 0.144 0.217 0.650 0.866 1.299 0.043 0.671 0.087 0.231 0.115 0.379 0.866 0.866 0.325 0.310 0.087 0.058 0.390 0.144 0.014 0.115 1.126 1.299 0.029 0.350 0.541 0.058 0.595 0.379 0.000 0.043 1.299 0.000 1.299 1.299 0.260 0.390 0.115 0.487 0.325 1.299 0.101 0.541 1.299 1.299 0.433 0.058 1.212 0.058 0.072 0.115 0.379 0.487 0.801 0.866 1.212 0.541 0.350 1.299 0.433 0.058 0.487 0.014 0.379 0.217 0.058 0.487 0.595 0.595 0.014 0.541 0.595 0.058 NA 0.087 0.310 1.299 0.390 0.390 0.108 0.541 0.650 0.650 0.866 0.599 0.087 0.350 0.130 0.087 0.029 0.029 0.014 0.058 0.058 1.299 0.487 0.541 0.487 0.487 1.299 0.866 0.541 0.271 1.299 0.108 0.231 0.487 0.029 0.541 0.541 0.087 0.087 0.000 0.058 0.000 0.000 0.029 0.000 1.299 0.866 0.350 0.433 0.350 0.058 0.087 0.014 0.000 0.072 0.390 0.029 1.299 0.000 1.299 0.058 0.433 0.271 0.325 0.014 0.595 1.299 0.650 0.541 0.541 0.390 0.487 0.101 0.487 0.599 0.000 0.595 0.595 0.000 0.115 0.058 0.541 0.606 0.014 0.390 1.299 0.101 1.007 0.429 0.115 0.087 0.115 0.350 0.599 0.931 0.606 0.801 NA NA 0.390 0.310 0.000 0.487 0.029 0.736 0.115 0.541 0.390 0.801 0.707 NA 0.650 0.115 0.650 0.541 0.487 0.736 0.801 0.736 0.498 0.498 0.548 0.650 0.310 0.058 0.231 1.299 0.830 1.299 0.000 0.000 0.130 0.000 1.299 0.541 0.000 0.000 1.299 0.043 0.541 1.299 1.299 1.299 0.115 0.014 0.310 0.310 0.541 0.650 0.310 0.029 0.087 0.541 0.271 0.769 0.577 1.299 1.299 NA 1.010 1.299 1.212 1.126 0.548 1.299 NA NA 0.350 0.390 0.429 1.299 0.087 1.212 0.058 0.144 0.144 0.058 NA 0.650 0.115 0.595 0.271 0.043 0.487 1.299 1.083 0.310 0.271 0.866 0.433 0.671 0.000 0.191 0.108 0.029 0.541 0.931 0.029 0.650 0.650 0.541 0.650 0.541 0.931 1.299 0.390 0.541 1.007 0.541 0.325 0.595 0.390 NA NA NA 1.083 0.000 0.058 1.007 0.595 0.866 NA NA 1.299 0.541 0.866 1.299 0.866 0.487 1.299 0.390 NA 0.487 0.541 0.953 0.650 1.126 NA 0.650 0.801 NA 0.801 1.299 0.650 NA NA NA 1.126 1.299 0.487 0.390 0.350 NA 0.065 0.350 0.390 0.271 NA 0.390 0.350 NA 0.595 0.541 1.083 0.595 NA NA NA NA NA NA 0.541 NA NA 0.271 NA 0.736 1.299 0.541 1.299 0.650 1.083 1.083 1.083 1.299 0.931 0.931 0.801 0.866 1.083 0.931 0.866 0.487 0.866 0.801 0.350 NA NA 0.650 1.126 0.390 1.299 0.736 0.671 0.390 1.299 0.866 0.541 0.650 0.736 0.346 NA 0.346 0.390 0.379 0.541 0.548 NA 0.032 0.866 0.650 0.390 0.487 1.212 0.855 0.541 0.541 0.541 0.390 0.469 0.271 0.650 0.429 0.541 NA 0.325 0.599 0.433 0.487 0.433 1.212 NA 0.397 NA NA 0.595 NA 0.433 NA NA 0.541 0.650 0.310 0.650 0.801 0.595 1.007 0.325 0.202 0.599 1.212 1.010 1.126 0.650 0.433 0.548 0.325 0.801 0.541 NA 0.866 1.126 NA 0.429 1.299 1.039 1.212 0.043 0.191 1.299 0.058 0.650 0.541 NA 0.541 0.541 1.299 0.072 0.595 1.299 0.429 1.212 0.541 1.007 0.191 NA 1.083 0.595 1.126 1.126 0.769 0.548 0.779 NA NA 0.595 1.299 0.736 0.271 1.212 0.029 0.794 NA 0.029 NA 0.801 0.736 1.299 0.541 0.541 1.126 0.953 0.487 1.126 1.126 NA NA NA 0.866 0.487 0.650 0.650 NA 0.650 0.541 1.299 0.866 0.350 0.487 1.299 0.866 NA 1.299 0.429 0.397 0.595 1.083 1.299 1.299 0.541 NA NA 1.083 1.299 NA 0.541 1.212 NA NA 1.299 0.541 1.299 1.126 0.595 NA NA 0.541 1.126 NA 1.299 NA 1.299 0.541 0.736 1.212 0.866 1.083 0.487 0.671 1.299 NA 1.299 0.541 0.650 1.299 0.541 0.541 0.650 NA 0.650 1.299 0.447 1.039 NA 0.595 0.801 1.212 NA 1.126 0.433 0.855 0.058 1.299 0.541 0.736 0.595 1.299 0.866 0.769 0.650 0.231 0.650 0.433 1.299 0.379 0.487 0.794 0.217 NA 0.487 0.801 0.433 0.541 1.007 0.433 NA 0.541 0.866 NA 0.866 0.072 0.014 0.599 0.707 0.931 1.083 0.801 0.541 NA 0.548 0.548 0.606 0.606 NA 1.126 0.433 1.212 0.390 0.595 NA NA NA 0.487 0.217 0.487 NA 0.217 1.299 1.299 1.083 0.487 0.671 NA 0.548 0.650 NA 0.397 NA 0.433 NA 0.599 0.866 1.007 0.866 NA 0.736 1.299 1.126 0.736 0.469 0.650 0.541 0.866 NA NA 0.650 1.212 1.299 0.931 1.299 0.469 1.010 0.595 0.931 NA 0.397 0.303 0.650 1.299 0.650 NA 1.299 NA NA 0.736 NA NA 1.083 0.866 0.548 0.606 0.736 NA 0.595 NA 0.152 NA 0.541 1.299 0.390 NA 0.595 1.083 0.271 NA 0.231 0.541 0.541 0.390 0.487 0.736 0.072 NA 0.736 0.072 NA 0.801 0.541 0.866 NA 0.487 0.476 1.083 0.548 1.039 1.299 0.541 1.007 1.212 1.299 NA 1.083 0.650 NA NA NA 0.866 NA 0.379 NA 0.271 1.039 0.231 NA NA NA 1.126 NA 0.736 1.299 1.299 NA NA 0.595 0.487 0.411 0.541 NA 0.650 0.541 NA 0.325 0.801 0.487 1.299 0.650 NA 0.217 NA 0.671 0.595 0.487 0.487 0.411 NA NA NA 0.541 0.487 NA NA 0.650 0.650 1.083 NA 0.487 NA 0.541 1.212 NA 1.212 NA NA 1.212 0.487 0.866 0.866 1.212 1.299 0.325 0.650 1.212 0.541 NA 0.541 0.487 0.595 0.350 0.650 1.212 0.931 0.350 0.650 NA NA 0.866 1.299 1.299 1.299 NA 0.931 NA NA 0.541 NA 0.855 0.599 0.390 NA NA 0.938 0.650 0.650 0.650 NA 1.299 NA 0.595 NA NA 0.650 0.541 NA 0.390 0.595 1.007 NA 1.212 NA NA 0.433 0.606 0.779 0.433 0.931 0.487 0.595 0.541 0.931 0.379 0.487 0.152 0.541 0.325 1.299 0.541 0.541 0.541 0.736 NA 1.212 1.083 0.650 0.541 NA 0.628 NA 0.931 0.390 0.310 0.931 0.469 NA 1.083 1.083 0.595 1.299 0.801 0.650 1.007 1.299 NA 0.650 0.650 1.083 NA 1.083 0.650 1.299 0.801 0.650 1.083 0.866 0.931 1.299 NA NA NA 0.108 NA 1.299 0.325 0.325 0.325 NA 0.217 NA 1.299 NA 0.866 1.126 0.310 1.010 0.429 0.736 0.390 0.650 0.595 0.191 0.350 0.469 1.299 0.650 0.830 0.650 1.126 0.599 0.650 0.650 NA NA NA 0.938 0.144 0.938 1.299 NA 0.325 0.469 NA 0.650 0.108 0.217 0.433 0.433 0.541 NA 0.350 0.541 0.595 1.299 NA NA 0.487 0.650 1.299 1.299 1.299 1.299 1.299 1.299 1.299 0.390 1.299 0.350 1.299 NA 1.299 1.299 1.299 1.299 1.299 0.650 1.212 0.938 1.299 0.029 0.650 0.866 NA 0.953 0.541 0.650 0.379 NA 0.541 1.299 1.299 0.931 0.938 1.299 1.299 1.212 0.585 1.299 0.390 0.704 NA 1.083 0.541 0.541 0.938 NA NA 1.126 NA 0.830 1.299 1.299 NA NA 1.299 1.299 1.299 1.299 1.299 NA 0.736 0.801 1.126 NA 0.541 1.299 1.126 0.931 1.299 1.299 0.938 NA NA 0.599 1.299 1.299 1.299 1.007 1.299 1.299 0.931 0.650 1.126 NA 0.736 0.541 0.487 0.541 0.866 1.299 1.126 NA 0.599 NA NA 0.931 NA NA NA NA NA 0.736 1.299 0.866 0.650 0.000 NA 1.010 0.390 0.541 NA 0.866 0.650 0.541 0.595 0.469 NA NA NA 1.299 1.299 0.390 0.736 0.541 0.429 0.595 0.350 0.541 0.541 0.595 1.299 0.595 0.032 0.498 0.350 1.299 0.650 1.126 NA NA 0.595 NA 0.650 NA 0.650 NA 0.595 1.039 NA NA NA NA NA 0.065 0.628 1.299 0.650 1.126 NA 0.595 0.650 0.433 0.429 1.299 0.866 1.007 1.212 NA 1.010 NA 0.801 1.299 1.126 0.541 0.585 1.126 0.953 0.866 NA 0.487 0.736 0.650 0.541 1.007 NA 0.541 0.650 0.650 1.212 0.325 0.541 0.487 0.541 0.779 1.126 0.736 NA 0.108 0.271 NA 0.541 1.212 0.650 0.350 NA NA 0.487 0.595 0.390 NA NA NA NA NA NA 0.390 0.379 NA NA NA NA 0.866 0.801 0.108 1.299 1.299 1.299 0.801 0.855 0.487 0.310 0.801 0.671 0.487 0.650 0.541 NA 0.310 0.931 NA 0.866 0.541 1.299 0.736 0.541 1.299 1.212 1.126 1.299 0.801 0.487 0.487 1.212 0.736 1.212 1.299 0.931 1.212 0.801 1.299 0.390 0.245 0.108 0.310 0.736 0.650 0.595 1.299 0.866 1.083 0.065 0.671 NA 0.548 1.299 1.299 0.108 0.650 0.866 1.039 1.126 0.152 1.126 0.487 0.541 NA 0.866 NA 1.299 1.212 NA 0.429 1.299 0.595 0.130 NA 1.039 0.541 0.433 1.299 0.433 NA 0.866 0.866 1.299 1.299 NA 0.487 1.299 0.599 0.310 NA 0.065 0.097 0.541 0.541 0.541 NA 0.541 0.541 0.152 NA NA 0.650 0.595 NA 0.541 0.541 0.541 0.390 1.212 NA NA NA 0.650 0.606 0.650 0.390 0.769 NA NA NA 0.707 0.650 0.541 1.299 NA 0.350 0.599 NA 0.650 0.599 0.390 NA 0.736 NA 1.299 0.830 NA 0.541 0.541 NA 0.325 1.039 0.855 NA 0.830 NA NA 1.126 0.390 0.108 1.083 1.212 1.039 0.595 NA NA NA 0.866 0.650 NA 0.595 0.429 1.299 NA 0.433 1.126 NA NA 1.039 0.595 NA NA 0.541 0.931 0.650 0.541 1.039 NA NA 0.350 0.310 0.271 0.310 0.548 1.083 1.083 1.083 0.310 0.866 0.866 0.469 NA 0.548 0.736 0.801 1.299 0.548 0.469 1.126 NA NA 1.083 0.736 1.083 1.299 1.299 1.299 1.299 1.299 0.801 NA NA 0.595 1.299 0.350 1.039 1.299 0.650 0.487 0.866 NA 0.541 0.433 0.595 1.126 1.083 0.379 0.736 0.548 0.650 0.245 0.866 0.866 1.083 0.769 0.447 1.039 0.065 0.801 0.350 0.000 0.736 1.126 NA 0.595 0.548 0.671 NA 0.595 0.736 NA 0.595 NA 1.126 0.736 0.801 0.541 NA NA 0.541 0.650 NA 0.722 NA 0.650 0.650 NA 1.299 1.126 0.541 1.212 0.866 0.072 0.595 0.707 0.541 NA 0.866 1.126 0.595 0.595 1.212 0.736 1.299 1.039 NA 1.126 1.299 0.433 NA 0.429 NA NA NA 0.108 0.779 NA 0.779 0.628 0.779 0.931 0.595 0.541 0.801 1.299 NA 0.595 1.299 0.541 0.390 1.083 1.299 1.299 0.498 NA 1.039 1.126 1.126 1.007 1.299 0.650 1.083 0.433 1.299 1.083 0.595 0.595 1.083 NA 0.595 0.736 0.736 NA 0.310 0.433 1.299 0.650 0.671 NA NA 1.299 1.083 1.126 0.390 0.541 NA NA NA 0.310 0.487 NA 0.650 0.866 0.595 0.650 1.299 1.299 0.671 1.126 0.541 NA 1.212 1.083 1.299 1.083 NA 0.350 0.866 NA 0.866 0.671 NA 0.541 1.299 0.541 NA NA 0.271 NA 0.433 0.650 0.866 1.299 0.433 1.126 NA 0.112 0.595 0.541 0.541 0.108 NA 0.310 0.595 NA 0.736 0.231 0.548 0.541 0.650 0.671 0.541 0.866 0.541 0.433 0.487 NA NA NA 0.595 NA NA NA 1.299 NA NA 0.541 0.650 0.108 1.039 0.541 1.126 0.606 0.390 0.541 0.310 0.595 0.866 0.650 0.650 0.541 1.299 0.606 NA NA 1.299 0.866 0.801 NA 0.433 1.212 0.736 NA 1.299 NA 0.866 0.541 0.595 NA NA NA 0.433 0.650 0.650 NA NA 1.299 1.299 0.487 NA 0.801 0.541 NA NA 0.595 NA NA 1.212 0.595 0.931 0.595 0.433 0.390 0.310 0.595 0.325 1.299 1.299 1.010 0.866 0.769 1.083 0.830 1.212 1.126 NA 0.541 1.299 0.595 1.039 NA 1.083 0.855 0.650 0.390 0.650 0.541 0.541 0.433 0.931 0.523 0.498 0.498 0.310 0.487 0.541 0.595 0.152 NA 1.299 1.083 0.498 0.152 NA 0.390 NA 0.801 0.469 NA 0.736 NA 0.801 0.346 0.487 0.487 0.548 0.650 0.541 0.650 0.390 0.541 NA 0.541 NA 0.390 0.866 0.866 NA NA NA NA 0.541 0.736 0.866 0.390 NA NA NA 0.671 0.599 0.541 NA 0.487 0.325 0.541 NA 0.191 0.866 0.801 0.429 0.271 0.487 0.108 0.350 0.595 1.083 0.650 0.671 0.866 0.599 0.429 NA 0.325 0.390 1.083 NA 1.299 1.126 NA 0.599 0.541 1.299 1.299 NA 0.801 NA 1.126 NA NA 0.054 NA 0.487 0.801 0.548 0.931 NA NA 0.390 0.736 0.736 0.736 NA NA 0.650 NA 0.595 0.271 0.231 0.541 NA 0.487 0.736 1.212 0.866 1.083 0.866 0.289 NA NA 0.736 0.548 0.704 0.830 0.595 1.083 0.722 0.541 1.083 0.931 1.007 0.231 0.390 NA NA 0.339 0.736 1.212 0.736 NA NA NA 0.379 0.487 0.310 1.212 0.433 NA NA 0.650 0.108 0.487 0.087 0.595 0.487 1.010 NA 0.152 0.310 NA NA NA NA NA NA NA 0.350 NA 0.310 NA NA NA 0.650 0.953 0.953 0.397 1.126 NA 0.433 NA 0.736 0.433 0.433 0.866 NA NA 0.541 NA 0.541 0.595 0.595 0.541 0.541 0.595 NA 0.108 0.469 NA 0.801 0.487 NA 0.350 1.007 0.433 NA NA 0.541 0.541 1.212 0.271 NA 0.541 0.595 NA 1.126 1.126 0.541 1.126 NA NA NA 1.126 0.379 1.083 0.650 0.866 0.595 1.039 0.350 NA NA NA NA 1.299 0.310 1.299 0.487 1.007 0.595 1.299 0.217 0.541 NA NA 0.541 1.010 0.595 NA 0.390 0.650 0.650 0.650

ACP - Analyse des valeurs propres

  • Quantité de variance expliquée par chaque axe (ou inertie). Deux axes nous permettent de visualiser les données en 2D.
head(pca$eig)
       eigenvalue percentage of variance cumulative percentage of variance
comp 1  4.5242747              30.161831                          30.16183
comp 2  2.5086174              16.724116                          46.88595
comp 3  2.1560245              14.373497                          61.25944
comp 4  1.0842269               7.228179                          68.48762
comp 5  0.9562415               6.374943                          74.86257
comp 6  0.8620502               5.747001                          80.60957
Interprétation Le premier axe explique 30% de la variance. Les trois premiers axes permettent d’expliquer 61% de la variance. On va donc s’intéresser à ces trois axes pour représenter l’information. Un plan (2D) avec les deux premiers axes permet de représenter 47 % de l’information d’un jeu de données en 15 dimensions (15 variables quantitatives).

ACP - Analyse graphique des valeurs propres

Peut-on résumer l’essentiel de l’information avec un nombre réduit de dimensions (ou axes) ? => On cherche des “coude” ou points d’inflexion.

# Scree plot
fviz_eig(pca, addlabels = TRUE)

Interprétation On trouve 2 points d’inflexion, un après le premier axe et le second après le troisième axe. Le premier axe est particulièrement intéressant, il représente 30% de l’inertie.

ACP - Critère de Kaiser

On ne garde que les axes dont la valeur propre est supérieure à 1 (1 = inertie moyenne si les variables sont centrées et réduites).

barplot(pca$eig[,1],xlab = "facteur", ylab = " Inertie (eigenvalue) ", col="blue")
abline(h=1, col="red", lty=2) # add a line at 1

ACP - Contribution au premier axe

Un axe est composé des différentes variables dans des proportions variées. Quelles sont les variables qui contribuent le plus à l’inertie du premier axe ? Ou quelles sont les contributions des modalités de l’axe ?

fviz_contrib(pca, choice = "var", axes = 1)

Interprétation Le premier axe se composent principalement de variables de géométrie avec le débit

ACP - Contribution au deuxième axe


fviz_contrib(pca, choice = "var", axes = 2)

Interprétation Le deuxième axe se compose essentiellement de variables décrivant la granulométrie et l’énergie du cours d’eau

ACP - Interprétation graphique

ACP - Modalités dans le plan factoriel

fviz_pca_var(pca, col.var = "contrib", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), repel = TRUE)

Les variables bien représentées sur les axes 1 et 2 sont celles des valeurs propres. Nous avons les géométries des cours d’eau qui sont aussi fortement corrélées positivement entre elles (profondeur, rayon, largeur, surface), les indicateurs de la granulométrie sont aussi fortement corrélés positivement entre eux. Nous n’observons pas de corrélation entre ces deux groupes. Les indicateurs d’énergie des cours d’eau sont moins bien représentés et sont plutôt proches des indicateurs de la granulométrie à l’exception de la cote de ligne d’énergie.

ACP - Les individus dans le plan factoriel

fviz_pca_ind(pca, geom.ind = "point",
             alpha.ind = 0.3) # densité de points superposées

Nous n’observons pas de groupes de stations bien identifiés sur les axes 1 et 2. Les stations sont réparties de manière homogène dans l’espace des individus.

ACP Explor

Des variables et/ou individus supplémentaires, non pris en compte dans les calculs, peuvent être ajoutés pour l’interprétation.

pca <- PCA(carhyce_stat, 
           quanti.sup = 1, # surface_bv_km2
           quali.sup = c(2,3,4,19), # ripisyle gauche et droite, montagne/plaine
           ncp = Inf, # number of dimensions
           scale.unit = TRUE, # reduce
           graph = FALSE) # not display graph

Visualisation avec explor (ouvre une application web) :

# package explor
# explor(pca)

ACP Explor - Graphique

L’ajout de la variable qualitative montagne_plaine permet d’identifier deux profils de stations. Au regard du cercle des corrélations, les stations de montagne on tendance à avoir une granulométrie plus grossière et probablement une énergie plus forte (vitesse, force tractrice, nombre de froude) que les stations de plaine. Les deux groupes ne sont cependant pas clairement distincts. Les variables de géométrie ou le débit ne permet pas clairement d’expliquer ces différences.

Classification

Classification supervisée vs non supervisée

  • Supervisée : on connait les classes à l’avance, on cherche à prédire la classe d’un nouvel individu à partir de différentes variables.
    • Exemple : on a une image satellite et on cherche à identifier les zones urbaines sur la base des valeurs des pixels. On identifie des zones urbains et non urbaines pour entrainer le modèle. On se sert du modèle pour prédire les zones urbaines sur une nouvelle image.
    • Méthodes : régression logistique, SVM, arbres de décision, random forest
  • Non supervisée : on ne connait pas les classes à l’avance, on cherche à regrouper les individus en fonction de leurs ressemblances.
    • Exemple : à partir d’une image satellite, on cherche à regrouper les pixels en fonction de leurs valeurs et identifier des zones homogènes que l’on suppose correspondre à des occupations du sol différentes.
    • Méthodes : K-means, CAH

Classification ascendante hiérarchique (CAH)

  • Une méthode non supervisée qui permet de regrouper des individus en fonction de leurs ressemblances.
  • On cherche à ce que les individus regroupés au sein d’une même classe (homogénéité intra-classe) soient le plus semblables possibles tandis que les classes soient le plus dissemblables (hétérogénéité inter-classe).
  • La ressemblance ou la dissemblance entre les individus est mesurée à l’aide d’une matrice distances entre chaque individus pris deux à deux. Plus la distance est faible, plus les individus sont semblables.
  • La CAH part des individus (ascendante) et les regroupe progressivement en classes de plus en plus grandes (hiérarchique) => dendrogramme.

Principes de la CAH

  • On commence par considérer chaque individu comme une classe à part entière.
  • On regroupe les deux individus les plus proches pour former une nouvelle classe.
  • On répète l’opération jusqu’à ce que tous les individus soient regroupés dans une seule classe.
  • On obtient un dendrogramme qui permet de visualiser les regroupements successifs.

Reprenons nos données

carhyce_stat <- carhyce %>% 
  # select the last date for each station
  group_by(code_station) %>% # group by station
  filter(date_realisation == max(date_realisation)) %>% # select the last date by group
  ungroup() %>%  # ungroup data
  # remove duplicated code_station
  filter(!duplicated(code_station)) %>% # remove duplicated code_station %>% 
  mutate(surface_bv_km2 = ifelse(surface_bv_km2 %in% boxplot.stats(surface_bv_km2)$out, NA, surface_bv_km2),
         score_ripisylve = ifelse(score_ripisylve %in% boxplot.stats(score_ripisylve)$out, NA, score_ripisylve),
         profondeur_moyenne_qb_m = ifelse(profondeur_moyenne_qb_m %in% boxplot.stats(profondeur_moyenne_qb_m)$out, NA, profondeur_moyenne_qb_m),
         largeur_mouillee_qb_m = ifelse(largeur_mouillee_qb_m %in% boxplot.stats(largeur_mouillee_qb_m)$out, NA, largeur_mouillee_qb_m),
         surface_mouillee_qb_m2 = ifelse(surface_mouillee_qb_m2 %in% boxplot.stats(surface_mouillee_qb_m2)$out, NA, surface_mouillee_qb_m2),
         rayon_hydraulique_qb = ifelse(rayon_hydraulique_qb %in% boxplot.stats(rayon_hydraulique_qb)$out, NA, rayon_hydraulique_qb),
         d16_mm = ifelse(d16_mm %in% boxplot.stats(d16_mm)$out, NA, d16_mm),
         d50_mm = ifelse(d50_mm %in% boxplot.stats(d50_mm)$out, NA, d50_mm),
         d84_mm = ifelse(d84_mm %in% boxplot.stats(d84_mm)$out, NA, d84_mm),
         coefficient_de_sinuosite = ifelse(coefficient_de_sinuosite %in% boxplot.stats(coefficient_de_sinuosite)$out, NA, coefficient_de_sinuosite),
         coefficient_rugosite = ifelse(coefficient_rugosite %in% boxplot.stats(coefficient_rugosite)$out, NA, coefficient_rugosite),
         debit_plein_bord_m3_s = ifelse(debit_plein_bord_m3_s %in% boxplot.stats(debit_plein_bord_m3_s)$out, NA, debit_plein_bord_m3_s),
         vitesse_moyenne_qb_m_s = ifelse(vitesse_moyenne_qb_m_s %in% boxplot.stats(vitesse_moyenne_qb_m_s)$out, NA, vitesse_moyenne_qb_m_s),
         cote_ligne_energie_qb = ifelse(cote_ligne_energie_qb %in% boxplot.stats(cote_ligne_energie_qb)$out, NA, cote_ligne_energie_qb),
         nombre_de_froude_qb = ifelse(nombre_de_froude_qb %in% boxplot.stats(nombre_de_froude_qb)$out, NA, nombre_de_froude_qb),
         force_tractrice_qb_n_m2 = ifelse(force_tractrice_qb_n_m2 %in% boxplot.stats(force_tractrice_qb_n_m2)$out, NA, force_tractrice_qb_n_m2)) %>% # replace outliers by NA by Interquartile range (IQR) from boxplot function
  mutate(montagne_plaine = ifelse(modele_reference_img %in% c("ALPES INTERNES", "CEVENNES", "CORSE", "JURA-PREALPES DU NORD", "MASSIF CENTRAL NORD", "MASSIF CENTRAL SUD", "Montagne volcanique des DOM", "PREALPES DU SUD", "PYRENEES"), "montagne", "plaine")) %>% # try to classify in two category, montagne and plaine
  # select columns
  select(surface_bv_km2,
         profondeur_moyenne_qb_m,
         largeur_mouillee_qb_m,
         surface_mouillee_qb_m2,
         rayon_hydraulique_qb,
         d16_mm,
         d50_mm,
         d84_mm,
         debit_plein_bord_m3_s,
         vitesse_moyenne_qb_m_s,
         cote_ligne_energie_qb,
         nombre_de_froude_qb,
         force_tractrice_qb_n_m2, 
         code_station) %>%  # select columns
  column_to_rownames(var = "code_station") %>% # set code_station as rownames
  na.omit() # remove NA

Normalisation des données

  • Toujours avoir une étape de description des données (distribution, qualité, graph de corrélation, etc.).

  • Homogénéisation des données pour éviter les effets d’échelle (unités différentes) et que les variables à forte variance soit prépondérante dans les résultats.

Transformation de Milligan & Cooper (utilisée pour la suite, donne une meilleur découverte de cluster)

# Milligan & Cooper transformation function
normalize_MC <- function(x) {
  return ((x - min(x, na.rm = TRUE)) / (max(x, na.rm = TRUE) - min(x, na.rm = TRUE)))
}
# normalize data
carhyce_stat_mc<-as.data.frame(lapply(carhyce_stat, normalize_MC))


Transformation z-score (centrage-réduction)

# z-score transformation
carhyce_stat_z <- scale(carhyce_stat, center = TRUE, scale = TRUE)

La matrice de distance

Calul de la distance entre chaque individu.

  • Plusieurs méthode de calcul de distance :
    • Variables quantitative : euclidienne, manhattan
    • Avec des variables qualitatives : Gower, \(\phi^2\) (utilisé dans les analyses de correspondance multiples ou ACM)
# Euclidean distance
dist_euclid <- dist(carhyce_stat_mc, method = "euclidean")

Méthode d’aggrégation

Comment regrouper des classes entres elles ou calculer la distance entre deux classes ?

  • Saut maximum (ou complete linkage) : distance maximum entre deux individus de deux classes. Tend à créer des classes de diamètre équivalent, sensible aux individus hors normes.
  • Saut minimum (ou single linkage) : distance minimum entre deux individus de deux classes. Permet de traiter des formes allongées mais peut avoir des effets de chaîne et regrouper deux classes éloignées reliées par une chaîne d’individus.
  • Distance moyenne (ou average linkage) : moyenne des distances entre tous les individus de deux classes. Moins sensible aux bruits, tend à créer des classes de même variance.
  • Distance des barycentre (ou centroid linkage) : distance entre les barycentres des deux classes. Peu sensible au bruit mais moins précise.
  • Distance de Ward : minimise l’inertie (ou la variance) intra-classe ou maximise l’intertie inter-classe (différences entre les classes). Une méthode très utilisée, peu sensible aux bruits et aux valeurs extrêmes, tend à créer des classes sphériques et de même effectifs.

Agrégation et dendrogramme

# Ward method
hc <- hclust(dist_euclid, method = "ward.D2")
# Dendrogram
plot(hc, hang = -1, cex = 0.6, main = "Dendrogramme CAH", label=FALSE)

Nombre de classes

  • Evaluation graphique sur le dendrogramme.
  • Représentation des pertes d’inertie inter-classe (mesure la séparation entre chaque classe). Plus le saut est grand plus la distance entre les clusters fusionnés est grande.

Nombre de classes - Inertie

v <- sort(hc$height,decreasing=T)
plot(1:length(v),v,type = "s", xlab = "Nombre de classes", ylab = "Inertie", xlim = c(0, 30),
     xaxt = "n")
axis(1, at = seq(1, 30, by = 1), las=2)

Découper les classes

plot(hc, labels = FALSE, main = "Partition en 2, 5 ou 7 classes", xlab = "", ylab = "", sub = "", axes = FALSE, hang = -1)
rect.hclust(hc, 2, border = "green3")
rect.hclust(hc, 4, border = "red3")
rect.hclust(hc, 7, border = "blue3")
# cut dendrograme in 4 classes
hc_gp <- cutree(hc,k=4)

Interprétation CAH

  • Quelles sont les distributions des variables dans chaque classe ?
  • Quelles sont les caractéristiques des individus dans chaque classe ?
  • Quelles sont les caractéristiques des classes ?
# box plot each class for each variable
carhyce_stat$group <- as.factor(hc_gp)
carhyce_stat %>%
  gather(key = "variable", value = "value", -group) %>%
  ggplot(aes(x = group, y = value, fill = group)) +
  geom_boxplot() +
  facet_wrap(~variable, scales = "free_y") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Interprétation CAH - boxplot variables

Répartition spatiale des classes - Code

tmap_mode(mode = "view") # set tmap mode to interactive
carhyce_stat_sf <- carhyce_stat %>% 
  rownames_to_column(var = "code_station") %>% 
  mutate(code_station = as.integer(code_station)) %>%
  # add x and y columns from carhyce from code_station and rownames
  left_join(carhyce %>% select(code_station, x, y), by = c("code_station" = "code_station")) %>% 
  st_as_sf(coords = c("x", "y")) # convert to sf object
st_crs(carhyce_stat_sf) <- 2154 # set projection
tm_shape(carhyce_stat_sf) + # tmap object
  tm_dots(col = "group", size = 0.1, palette = "Set1") + # plot points
  tm_layout(legend.position = c("right", "top")) # legend position

Répartition spatiale des classes - Code

Interprétation CAH - boxplot classes

# variables boxplots for class 2 only
carhyce_stat %>%
  filter(group == 2) %>%
  gather(key = "variable", value = "value", -group) %>%
  ggplot(aes(x = variable, y = value, fill = variable)) +
  geom_boxplot() + theme_minimal() + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Interprétation CAH - ACP

# PCA
pca <- PCA(carhyce_stat, ncp = Inf, scale.unit = TRUE, graph = FALSE,
            quali.sup = 14) # illustrative group variable
# explor(pca)

Un peu de détails

Test de la pente d’une régression linéaire

  • Hypothèse nulle \(H_0\) : la pente est égale à 0 (pas de relation linéaire entre les deux variables)
  • Hypothèse alternative \(H_1\) : la pente est différente de 0 (relation linéaire entre les deux variables)
  • Test de Student : \(t = \frac{b_1 - 0}{S(b_1)}\)\(b_1\) est la pente estimée et \(S(b_1)\) son écart-type.
  • Le test suit une loi de Student à \(n-2\) degrés de liberté.

Les degrés de liberté


Les degrées de liberté sont le nombre de valeurs susceptible de varier dans un calcul statistique. Les observations d’un échantillon peuvent variées d’un échantillon à l’autre, reflétant la variabilité inhérente des données dans la population. Les degrés de liberté sont un concept statistique qui quantifie combien de valeurs peuvent encore varier après que certaines restrictions ont été appliquées. Dans le cas de l’échantillon, si vous connaissez la moyenne \(\bar x\), toutes les valeurs de l’échantillon doivent s’ajuster pour que la somme totale des écarts à la moyenne soit nulle. Cela signifie que si n est la taille de l’échantillon, seulement n-1 valeurs peuvent varier indépendamment, la dernière est déterminée par les autres.

Eléments de calcul

Paramètres de dispersion

  • Variance => la moyenne des carrés des écarts à cette moyenne :

\(s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2\)

  • Ecart-type => la racine carrée de la variance :

\(s = \sqrt{s^2}\)

  • Ecart moyen => la moyenne des écarts absolus à la moyenne :

\(EM = \frac{1}{n} \sum_{i=1}^{n} |x_i - \bar{x}|\)

Droite des moindres carrés

Dans une relation linéaire simple, la droite de régression est celle qui minimise la somme des les carrées des distances.

Covariance et corrélation

  • Covariance => moyenne des produits des écarts à leur moyenne des deux variables :

\(Cov(X,Y) = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})\)

  • Coefficient de corrélation de Bravais-Pearson => rapport entre la covariance et la racine carrée des produits des variances des deux variables :

\(r = \frac{Cov(X,Y)}{\sqrt{Var(X)Var(Y)}}\) ou

\(r = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n} (x_i - \bar{x})^2 \sum_{i=1}^{n} (y_i - \bar{y})^2}}\)