Agrégation floue

Mode d’emploi

Fenêtre de paramétrage

Champs « Couche 1 » et « Couche2 »

Les champs « couches » affiche la liste des couches chargées, limitées aux tables geopackage. En effet, la version actuelle ne prend en compte que des données stockées dans des fichiers geopackage (gpkg).

Champs « Champ flou 1 » et « Champ flou 2 »

Une fois sélectionnée les couches en entrée, ces menus déroulants affichent tous les champs suffixés _fuzzy de chacune d’elles.

Type d’opération spatiale

Cette option permet de gérer l’étendue spatiale de la couche résultante.

L’option intersection garde dans la couche résultat l’étendue correspondante à la superposition des deux couches en entrée.pour chaque intersection, l’attribut résultat est calculé à partir de la fonction définie plus loin. Mais ceci implique que si une couche n’a pas de données pour une zone, cette zone est ignorée dans la couche résultante. Dans un processus impliquant plusieurs agrégations d’étendue différente, la couche résultante sera amputée de manière importante. De plus, l’absence de données d’une zone empêchera son « rattrapage » dans les agrégations ultérieures.

L’option union garde dans la couche résultat l’étendue correspondante aux deux couches en entrée. Pour chaque zone de superposition, l’attribut résultat est calculé à partir de la fonction définie plus loin. Pour ls zones où une des deux couches n’a pas de données,l’attribut résultat est calculé à partir de la fonction définie plus loin en considérant que la valeur de la couche absente est « très mauvais ». Dans un processus impliquant plusieurs agrégations d’étendue différente, la couche résultante ne sera pas amputée du tout. De plus, l’absence de données d’une zone n’empêchera pas son « rattrapage » dans les agrégations ultérieures.

Nom de la couche résultat

Vous pouvez nommer la couche agrégée librement, mais elle aura comme suffixe « _agg ».

Historique des transformations

Chaque fois qu’une transformation ou une agrégation est réalisée par le plugin, une ligne est ajoutée à une table de gestion de l’historique, metafuzzy, qui est créée et maintenue au sein du geopackage des données.

Dans le cas des agrégations floues, les champs renseignés sont:

  • field: le nom du champ agrégé
  • function: le type d’opération spatiale et la fonction sélectionnée avec un code numérique représentant la réponse à chacune des trois questions (1=très bon, 5= très mauvais)
  • params: le détail des paramètres numériques utilisés pour la génération des fonctions non répértoriées
  • source1: le nom de la couche source 1 et de son attribut
  • source2: le nom de la couche source 2 et de son attribut

Définir la fonction d’agrégation

Vous devez cocher une réponse pour chacune des trois questions.

Si vous considérez que l’inversion des deux critères modifie vos réponses (asymétrie des critères), cochez la case Vérifier la symétrie. Une quatrième question vosu permettra de rentrer votre réponse.


Procédure de détermination de l’opération d’agrégation.

Dans le cas d’agrégation de deux objectifs il existe une procédure simple pour déterminer le type d’opération à effectuer. Elle consiste à proposer au décideur trois situations type et lui demander de les évaluer A partir des trois réponses données on recherche dans un catalogue de fonctions celle qui correspond le mieux aux souhaits du décideur.

Les trois situations type (Si, S2, S3) sont choisies en fonction des deux critères(C1, C2) de manière que:

  • – S1 soit incompatible (Note E ou 0) avec C1, mais totalement compatible (note A ou 1) avec C2;
  • – S2 soit moyennement compatible (note C ou 0.5) avec les deux objectifs C1 et C2;
  • – S3 soit moyennement compatible (note C ou 0.5) avec C1 et totalement compatible(note A ou 1) avec C2.

On obtient trois réponses (R1, R2, R3) à partir desquelles on cherche l’opération d’agrégation.

Les trois types de fonctions implémentées

Deux situations sont à étudier:

  • a) deux critères d’égale importance;
  • b) deux critères d’importance inégale

Critères de même importance (symétriques)

Deux critères ont la même importance si la fonction d’agrégation est symétrique, c’est à dire si la réponse aux trois questions d’évaluation est la même si l’on inverse l’ordre des critères.

Dans ce cas, à partir des trois réponses (R1, R2, R3) on recherche l’opération d’agrégation dans la table suivante:


Méthode d’ajustement pour critères asymétriques

Lorsqu’un utilisateur définit une fonction d’agrégation floue à partir de réponses non symétriques (par exemple, certains critères jugés plus importants que d’autres, ou des combinaisons jugées atypiques), le plugin utilise une méthode d’approximation afin de générer automatiquement une fonction d’agrégation personnalisée.

La fonction generate_asymmetric_function(code) :

  1. Points clés définis par l’utilisateur

    • L’utilisateur choisit quatre valeurs d’agrégation correspondant à des situations de référence :

      • (1, 0) : critère A totalement vrai, critère B totalement faux->vA1B0
      • (0.5, 0.5) : les deux critères moyens->vA05B05
      • (0.5, 1) : critère A moyen, critère B totalement vrai->vA05B1
      • (0, 1) : critère A totalement faux, critère B totalement vrai->vA0B1

    • Ces valeurs sont codées sous forme d’un code à 4 chiffres (chaque chiffre de 0 à 4 correspond à un degré de satisfaction entre 1.0 et 0.0).

  2. Construction de la fonction floue

    • Pour les quatre points clés, les valeurs sont affectées directement.
    • Pour toutes les autres combinaisons (x, y), la valeur est calculée par interpolation bilinéaire pondérée, à l’aide de la formule :
      vA05B05⋅x⋅y+vA05B1⋅x⋅∣x−y∣+vA0B1⋅(1−x)⋅y
    • Cette formule permet d’obtenir une surface continue qui reste cohérente avec les points clés définis.

  3. Résultat

    • La fonction retournée peut être appliquée à n’importe quelle paire (x, y) de valeurs floues.
    • Un dictionnaire de paramètres est également retourné, documentant le type, le code, les points clés et la formule d’approximation.


Méthode d’ajustement pour critères symétriques inhabituels

Les triplets présentés dans la table de fonction plus haut respectent les contraintes suivantes:

1) R3 >= max( R1,R2), l’évaluation d’une situation qui satisfait complètement le critère 2 et moyennement le critère 1 doit être au moins égale à la meilleure évaluation des deux autres situations (R1 et R2) dont l’une ne satisfait pas du tout le premier critère et l’autre satisfait que moyennement les deux critères;

2) R3 >= note C ou 0,5 , la satisfaction totale du deuxième critère ne peut faire chuter la satisfaction globale en dessous du niveau de satisfaction du premier critère.

Mais si cette logique est utilisée dans la plus grande partie des applications, il se peut qu’elle ne soit pas en accord dans des situations très particulières. Dans ce cas le plugin utilise la fonction generate_fuzzy_function(code) pour générer automatiquement une fonction d’agrégation adaptée.
Un message d’avertissement signale que l’on se trouve sur une combinaison inhabituelle de réponses.

  1. Points clés définis par l’utilisateur

    • L’utilisateur définit trois situations de référence, codées sur trois chiffres (de 0 à 4) représentant un degré d’agrégation compris entre 1.0 et 0.0 :

      • (1, 0) ou (0, 1) : un critère totalement vrai, l’autre totalement faux ->v1.
      • (0.5, 0.5) : les deux critères moyens->v2.
      • (0.5, 1) ou (1, 0.5) : un critère moyen, l’autre totalement vrai->v3.

  2. Construction de la fonction floue symétrique

    • Les valeurs des trois points clés sont affectées directement selon le code fourni.
    • Pour toutes les autres paires (x, y), la valeur est estimée par interpolation continue avec la formule :
      v2⋅x⋅y+v3⋅∣x−y∣
    • La symétrie est respectée car la formule et les points clés sont identiques si on échange x et y.

  3. Résultat

    • La fonction retournée peut être appliquée à n’importe quelle paire (x, y) de valeurs floues.
    • Un dictionnaire de paramètres est également renvoyé, documentant le type, le code, les points clés et la formule d’approximation.