BayesiaLab 4.2 : les nouveautés
- Données
- Imputation manuelle des noeuds cachés ou avec des valeurs manquantes
- Tirage aléatoire lors d'une équiprobabilité dans l'imputation
- Association automatique des valeurs discrètes sur noeuds continus
- Transfert des agrégats
- Utilisation de clés classe.modalité dans les dictionnaires
- Import/Export de dictionnaires de couleurs
- Génération de bases de données internes
- Import/Export de dictionnaires de noms longs pour les modalités
- Analyse
- Segmentation des variables
- Performance du réseau sur seuils multiples
- Inférence
- Probabilité jointe hors-ligne
- Inférence exacte pour les réseaux bayésiens dynamiques compacts
- Apprentissage
- Optimisations de l'apprentissage Taboo
- Refonte de la segmentation des données
- Représentation graphique des clusters obtenus
- Segmentation multiple
- Lancement d'EQ à partir d'un réseau déjà connecté
- Réseau
- Export de la couverture de Markov
- Éditeur de classes
- Dialogue d'affichage des cycles introduits lors de l'ajout d'un arc
- Nom long pour les modalités
- Import/export des arcs interdits
- Copie des classes
- Moniteurs
- Barre d'outils pour les moniteurs
- Affichage des modalités les plus impactées
- Fixation des probabilités de références
- Observation directe des probabilités
- Affichage des moniteurs triés pour les nœuds sélectionnés
- Option d'affichage du nom long des modalités
- Interface
- Conteneur des barres d'outils redimensionnable
- Bouton Quitter pour le rapport d'erreur
- Info-bulles sur les TPC pour les noms de modalités
- Icônes d'indicateurs de contraintes, constantes et classes
- Rotation sélective
- Tri des variables par ordre alphabétique dans l'éditeur de noeud
- Retour en mode sélection configurable pour l'édition des réseaux
- Grille de positionnement des noeuds affichable et modifiable
- Sécurité
- Installation, activation et désinstallation en administrateur
- Clé de désinstallation
- Paramétrage du serveur de licences dans les préférences
Données
Imputation manuelle des noeuds cachés ou avec des valeurs manquantes
Lorsqu'un noeud (ou un ensemble de noeuds) possède des valeurs manquantes dans la base de données associée au réseau, il est possible d'imputer les valeurs manquantes de ce/ces noeuds directement, sans faire d'imputation globale. En mode modélisation, il faut sélectionner ces variables et choisir Imputation dans le menu contextuel des noeuds. Les valeurs manquantes correspondantes dans la base de données seront remplacées par les valeurs imputées.
Lorsque le réseau contient des variables cachées et une base de données associée, il est également possible d'effectuer l'imputation de ces noeuds. C'est le cas par exemple pour l'imputation d'un noeud Cluster, résultat de la segmentation des données d'un réseau.
Tirage aléatoire lors d'une équiprobabilité dans l'imputation
Lorsque l'imputation d'un noeud donne lieu à une équiprobabilité entre au moins deux valeurs de ce noeud, un tirage aléatoire est effectué pour choisir la valeur finale.
Association automatique des valeurs discrètes sur noeuds continus
Lorsque l'on associe une base de données à un réseau, il est possible d'associer une colonne contenant des valeurs discrètes à un noeud continu. Si le nom de la colonne correspond au nom du noeud et que les noms des valeurs de la colonne correspondent à ceux des intervalles du noeud, l'association est faite automatiquement.
Il faut noter que dans un tel cas, il n'y aura évidemment pas de valeurs numériques associées à ce noeud dans la base de données chargée et que l'on ne pourra donc pas utiliser les graphiques avec valeurs continues.
Transfert des agrégats
Durant l'import de données, il est maintenant possible de transférer des agrégats définis sur une variable à d'autres variables. Pour cela, une fois les agrégats définis, on sélectionne les variables sur lesquelles on veut avoir les mêmes agrégats et on effectue le transfert. Pour qu'une agrégation soit appliquée à une variable cible, cette variable doit posséder les mêmes modalités que la variable initiale. Il est possible que le transfert ne soit pas effectué sur certaine variable dans le cas où le nombre final de modalités est inférieur à 2. Dans ces cas, la liste des variables sur lesquelles le transfert à échouer est affichée.
Utilisation de clés classe.modalité dans les dictionnaires
Pour associer une valeur ou un nom long à une modalité, il est maintenant possible d'utiliser une clé de type classe.modalité pour pouvoir affecter cette valeur ou ce nom long à la modalité spécifiée de tous les noeuds de la classe spécifiée. Cela évite d'avoir à énumérer tous les noeuds concernés.
Import/Export de dictionnaires de couleurs
Le dictionnaire de couleur permet d'associer des couleurs aux noeuds spécifiés ou aux noeuds des classes spécifiées. Ces couleurs sont définies en codage hexadécimal RVB avec 8 bits par canal. Une couleur s'écrira donc avec 6 caractères hexadécimaux : 2 caractères pour le rouge (de 00 à FF : de 0 à 255), suivi de 2 caractères pour le vert et de 2 caractères pour le bleu.
Exemples de couleurs :
- rouge : FF0000
- vert : 00FF00
- bleu : 0000FF
- gris : 929292
- jaune : FFFF00
- rose : FFC0FF
Génération de base de données internes
Il est maintenant possible de générer des données, en mémoire, en accord avec la distribution de probabilités jointe décrite par le réseau actif. Ces données peuvent ensuite être sauvegardées sur disque.
Import/Export de dictionnaires de noms longs pour les modalités
Un nom long peut être associé à chaque modalité d'un noeud et être utilisé à la place du nom par défaut dans les différents affichages. Ces noms longs peuvent être importés à partir de dictionnaires à l'instar des dictionnaires de valeurs. Ces noms longs peuvent également être exportés dans des dictionnaires.
Il est également possible d'utiliser ces noms longs pour la sauvegarde des données et pour l'imputation des données en cochant l'option correspondante.
Analyse
Segmentation des variables
Un nouvel outil d'analyse très puissant a été ajouté. Cet outil permet de regrouper les différentes variables du réseau en groupes de variables proches sémantiquement. Ces variables sont regroupées en fonction de leur proximité dans le graphe et de la force des arcs. Une couleur est automatiquement associée à chaque cluster pour mettre en évidence la segmentation :

Le nombre de groupes est automatiquement calculé en fonction de la force des arcs (4 pour le cas précédent). La barre d'outil contient toutefois une gâchette qui permet d'agir sur le nombre de clusters que l'on désire obtenir :

Le bouton permet de valider la segmentation courante et d'affecter à chaque cluster une classe nommée Cluster_i.
Une fois les classes créées, il est possible d'effectuer la segmentation multiple, en mode modélisation, qui permet pour chaque classe Cluster_i de générer une variable synthétique des noeuds appartenant à cette classe.
Performance du réseau sur seuils multiples
L'outil d'analyse de performance des réseaux a été enrichi par la possibilité d'analyser sur plusieurs seuils d'acceptation des probabilités à la fois. Cela permet de déterminer quelle est la politique optimale à adopter en fonction des résultats obtenus sur les différents seuils d'acceptation. Il est possible de définir un seuil unique (0,5 par défaut) qui peut être modifié ou d'utiliser plusieurs seuils pour l'évaluation. On indique le nombre de seuils voulu et l'algorithme choisit les seuils de probabilité en suivant une distribution par égale fréquence. La boîte de dialogue suivante permet d'entrer les paramètres pour l'évaluation :

Dans la fenêtre de résultat, une boîte de choix permet de sélectionner le seuil pour lequel on veut afficher la matrice de confusion (occurrences, fiabilité, précision).

Un bouton Rapport global permet de générer un rapport Html faisant la synthèse de l'analyse sur les différents seuils.

Inférence
Probabilité jointe hors-ligne
Un nouvel outil permet de calculer la probabilité jointe de chaque enregistrement d'une base de données en utilisant le réseau Bayésien actif. Le processus de probabilité jointe hors-ligne peut être interrompu à n'importe quel moment sans perdre les données calculées. Les données déjà générées sont sauvegardées dans la base de données de sortie.
Cet outil peut être particulièrement utile pour détecter les enregistrements atypiques, i.e. ceux ayant une probabilité jointe très faible, en prenant en considération l'ensemble des variables.
Inférence exacte pour les réseaux Bayésiens dynamiques compacts
Il est maintenant possible de faire de l'inférence exacte sur les réseaux Bayésiens dynamiques compacts comportant des noeuds temporels dépendants. Il faut en fait expliciter qualitativement ces dépendances en ajoutant simplement des arcs entre ces noeuds dépendants (sans modifier la table de probabilités originale pour conserver l'éventuelle indépendance marginale), comme illustré ci-dessous avec les arcs marqués en rouge.
Apprentissage
Optimisations de l'apprentissage Taboo
L'algorithme d'apprentissage Taboo a été optimisé et son temps d'apprentissage a été réduit de 80% en moyenne.
Refonte de la segmentation des données
L'algorithme de segmentation des individus a été totalement repensé. La mise en oeuvre d'un nouveau score et l'élaboration d'une nouvelle stratégie de recherche permettent l'obtention de clusters beaucoup plus pertinents. Ces clusters sont d'une part plus stables (différences entre les distributions marginales et effectives sur l'ensemble d'apprentissage), et beaucoup plus pures (probabilité moyenne d'affectation des individus au cluster). Le nombre de clusters retournés peut donc s'en trouver réduit relativement à la précédente version (élimination des clusters qui sont finalement non pertinents).
Représentation graphique des clusters obtenus
Le rapport final d'analyse des clusters comporte désormais un nouveau bouton Cartographie. Il permet d'afficher une représentation graphique des clusters obtenus.

Ce graphique affiche trois caractéristiques des clusters trouvés :
- la couleur représente la pureté des clusters : plus un cluster est bleu plus il est pur (cf. Cluster 8 ci-dessus) ;
- la taille représente la probabilité a priori du cluster ;
- la distance entre deux clusters représente le voisinage moyen des deux clusters.
Il est possible de faire pivoter le graphique avec les deux boutons en bas à droite.
Segmentation multiple
Cet outil permet de lancer des segmentations des données sur plusieurs sous-ensembles de variables d'un même réseau. Les sous-ensembles sont définis par les lasses nommées Cluster_i. Les variables de chaque classe Cluster_i sont alors utilisées pour induire une nouvelle variable (variable latente, i.e. sans donnée associée dans la base) qui les synthétise.
Même s'il est possible de définir ces classes manuellement, la définition de ces ensembles de variables se fait automatiquement par l'outil de segmentation des variables.
Pour chaque groupe de variables ainsi défini, un nouveau réseau Bayésien contenant ces variables plus la variable de synthèse (Cluster) est créé. A l'issue de la synthèse de l'ensemble des variables latentes, un nouveau réseau Bayésien comprenant l'ensemble de ces variables Clusters est créé. A ce réseau est associé une base de données interne dans laquelle toutes les valeurs de ces variables cachées ont été inférées relativement à leur réseau Bayésien respectif. Il est également possible d'ajouter les noeuds initiaux (les variables manifestes) à ce réseau.
La boîte de dialogue suivante permet le paramétrage de la segmentation multiple. Elle reprend naturellement une grande partie des paramètres utilisés pour la segmentation des données.

En plus des paramètres communs à la segmentation des données, l'assistant permet de sélectionner le répertoire où seront sauvegardés les différents réseaux générés (un réseau par classe Cluster_i et le réseau final reprenant l'ensemble des variables latentes) et d'ajouter ou non tous les noeuds du réseau initial au réseau final. Comme dans le cas de la segmentation des données, le nombre de modalités des variables latentes peut être fixé a priori ou recherché par une marche aléatoire. Il peut toutefois être également défini comme étant le nombre moyen de modalités des variables appartenant à la classe Cluster_i. Le reste est strictement identique à la segmentation des données.
A l'issue de chaque segmentation, une analyse automatique du réseau Bayésien obtenu est réalisée et donne lieu à la synthèse d'un rapport d'analyse de la cible. Ce rapport est identique à celui généré par la segmentation des données.
Un rapport synthétique est également généré à l'issue de la dernière segmentation. Ce rapport reprend uniquement, pour chaque réseau Bayésien créé, la répartition des modalités de la variable latente sur l'ensemble d'apprentissage et la liste des noeuds triés suivant la quantité d'information apportée pour la connaissance de cette variable, d'une manière globale.
Lancement d'EQ à partir d'un réseau déjà connecté
Il est maintenant possible de lancer l'algorithme d'apprentissage EQ à partir d'un réseau possédant déjà des arcs. Il faut noter que les arcs fixés sont considérés comme des arcs normaux et sont susceptibles d'être enlevés ou inversés par l'algorithme.
La boîte de dialogue suivante donne la possibilité de choisir le mode de départ de l'algorithme :

Réseau
Export de la couverture de Markov
Afin de faciliter le déploiement des fonctions de scoring Bayésiennes, comme par exemple pour des problématiques de marketing direct, un nouvel outil d'export (
) permet maintenant d'exporter la couverture de Markov de la variable cible dans un langage de programmation externe. L'exportation est un fichier texte, un programme permettant l'inférence de la variable cible à partir des valeurs des noeuds de la couverture de Markov selon le langage de programmation choisi dans la boîte de dialogue suivante :

En SAS, par exemple, le fichier de sortie contient une macro SAS directement utilisable.
D'autres langages tels que SPSS, Java, C, C++ seront bientôt disponibles. Bayesia étudiera également toutes les demandes plus spécifiques afin d'enrichir les possibilités.
Note : ceci est une option qui n'est pas présente dans les versions classiques de BayesiaLab.
Éditeur de classes
Un éditeur de classes a été ajouté. En plus d'être accessibles à travers l'éditeur de noeuds, les classes peuvent être entièrement gérées par ce nouvel éditeur. On peut ajouter et supprimer des classes et modifier l'ensemble des noeuds contenus dans chaque classe.
En sélectionnant une ou plusieurs classes dans la liste il est possible de modifier la valeur de la couleur, de l'image, de l'index temporel et du coût pour tous les noeuds des classes sélectionnées. Chaque bouton correspondant ouvre un éditeur spécifique à chaque propriété :
- la couleur :

La seconde case à cocher permet de générer une couleur distincte pour chaque classe sélectionnée. Pour cela il faut donc avoir sélectionné plusieurs classes dans la liste.
- l'image

- l'index temporel

- le coût
Les modifications faites ne seront appliquées qu'au moment de la validation générale de la boîte de dialogue. Il faut également noter que les modifications faites aux propriétés n'agissent que sur les noeuds qui existent déjà dans la classe et non sur les noeuds qui seront ajoutés ultérieurement dans cette classe.
Dialogue d'affichage des cycles orientés introduits lors de l'ajout d'un arc
En mode modélisation, lorsque l'on ajoute un arc qui introduit un cycle orienté dans le graphe, une boîte de dialogue le signale et permet d'afficher une fenêtre dans laquelle la liste de cycles orientés introduits est affichée.
Dans le cas suivant l'ajout d'un arc entre Dyspnea et Age introduit 3 cycles orientés dont la longueur est indiquée entre parenthèse. En cliquant sur un cycle orienté dans la liste, les arcs de celui-ci s'affichent en rose dans le graphe et permettent de le voir précisément.
Nom long pour les modalités
Les modalités des noeuds peuvent maintenant avoir un nom long associé. Ce nom long peut être utilisé pour l'affichage dans les moniteurs, les rapports ainsi que dans les exportations de données (sauvegarde, imputation) dans lesquelles le nom (court) de la modalité sera remplacé par son nom long. L'éditeur de noms longs a été ajouté à l'éditeur de noeuds.

Import/export des arcs interdits
Les arcs interdits peuvent maintenant être importés et exportés dans un fichier texte.
Copie des classes
La copie des classes est maintenant gérée lors de la copie de noeuds appartenant à ces classes. Les noeuds copiés sont ajoutés aux classes auxquelles les noeuds initiaux appartiennent.
Moniteurs
Barre d'outils pour les moniteurs
Pour faciliter la manipulation des moniteurs et étendre leurs fonctions, une barre d'outil de gestion des moniteurs a été ajoutée et s'affiche en mode validation :
Elle comprend 5 outils :
la suppression des observations
la suppression des moniteurs affichés
la réinitialisation des flèches grises représentant le décalage des probabilités
la définition des distribution de probabilités de référence
la mise en évidence des décalages de probabilités maximaux.
Affichage des modalités les plus impactées
Le bouton
permet d'activer l'affichage des modalités qui ont été les plus impactées positivement et négativement lors d'une observation. Les barres de probabilités des modalités les plus impactées s'afficheront en vert pour le positif et en rouge pour le négatif.
Fixation des probabilités de références
Le bouton
permet de définir à partir de quelles distributions de probabiltés les variations de probabilités sont calculées après chaque observation. Par défaut, la variation des probabilités est toujours calculée par rapport à la distribution précédente.
Observation directe des distributions de probabilités
Un nouveau mode de saisie des observations a été ajouté pour permettre d'entrer directement une distribution de probabilités souhaitée.

Les vraisemblances sont calculées afin que la distribution de probabilités finale du noeud soit celle entrée par l'utilisateur. Le mode d'édition des probabilités est activable de deux manières : en pressant les touches Ctrl et Shift pendant un clic sur la barre d'une modalité, ou en utilisant le menu contextuel associé au moniteur. Des boutons vert et rouge apparaissent alors sur le moniteur. Les probabilités peuvent être saisies :
- en maintenant le bouton gauche de la souris enfoncé et en choisissant le niveau de vraisemblance désiré, ou
- directement, en éditant la valeur de la vraisemblance grâce à un double-clic sur la valeur.
- un clic sur le nom de la modalité (à droite) permet de figer la probabilité entrée (la barre de probabilité s'affiche en vert).
Une fois que les probabilités sont saisies, le bouton vert permet de valider. Les vraisemblances et les probabilités sont alors mises à jour. Le bouton rouge permet quant à lui d'annuler l'édition.
Affichage des moniteurs triés pour les nœuds sélectionnés
L'affichage des moniteurs triés selon le gain d'information par rapport à la cible ou bien à une modalité de la cible peut maintenant se faire uniquement sur les noeuds sélectionnés du graphe et non plus sur tous les noeuds.
Option d'affichage du nom long des modalités
Le menu contextuel des moniteurs permet de basculer entre l'affichage des labels des modalités et l'affichage des noms longs des modalités. Dans le cas de l'affichage des noms longs, si une modalité ne possède pas de nom long, son label sera affiché à la place.
Interface
Conteneur des barres d'outils redimensionnable
Afin de permettre l'affichage de toutes les barres d'outils sur toutes les tailles de fenêtres, le conteneur des barres se redimensionne et affiche à la ligne les barres d'outils qui seraient tronquées autrement. Il peut y avoir autant de lignes que de barres d'outils.

Bouton Quitter pour le rapport d'erreur
La boîte de dialogue du rapport d'erreur possède maintenant un bouton Quitter qui permet de quitter le programme sans avoir a envoyer le rapport d'erreur.
Info-bulles sur les TPC pour les noms de modalités
Lorsque les noms des modalités sont trop longs pour s'afficher entièrement dans les en-têtes de ligne et de colonne des tables de probabilités conditionnelles, une info-bulle avec le nom complet s'affiche quand le pointeur de la souris passe dessus.
Icônes d'indicateurs d'arcs interdits, constantes et classes
Dans la barre d'état des fenêtres de graphes, en bas à droite, trois nouvelles icônes s'affichent :
l'indicateur d'arcs interdits. Il n'est présent que si des arcs interdits sont définis. Un clic dessus permet d'ouvrir l'éditeur d'arcs interdits. Il n'est accessible qu'en mode modélisation.
l'indicateur de constantes. Il ne s'affiche que si des constantes ont été définies. Un clic dessus permet d'ouvrir l'éditeur de constantes. Il n'est accessible qu'en mode modélisation.
l'indicateur de classes. Il n'est présent que si des classes sont définies sur le réseau. Un clic dessus permet d'ouvrir l'éditeur de classes. Il n'est accessible qu'en mode modélisation.
Rotation sélective
Le comportement de la rotation des graphes a été modifié afin de pouvoir faire tourner tout ou partie du graphe. Lorsque aucun noeud n'est sélectionné ou que tous les noeuds sont sélectionnés, le graphe tournera entièrement autour de son barycentre. Si seulement certains noeuds sont sélectionnés, alors ces noeuds seulement tourneront autour de leur barycentre.
Tri des variables par ordre lexicographique dans l'éditeur de noeud
Afin de pouvoir accéder de manière immédiate aux différents noeuds dans l'éditeur de noeuds, la boîte de choix contient la liste des noeuds triés par ordre lexicographique et non plus par ordre de création.
Retour en mode sélection configurable pour l'édition des réseaux
Lorsque l'on modélise les réseaux, on passe souvent du mode de création de noeuds, ou d'arcs, directement au mode sélection. Il est maintenant possible de le faire de deux manières : soit par un clic droit qui permet de revenir en mode sélection sur demande, soit en activant l'option de retour automatique en mode sélection après chaque action. Cette option est activable dans les préférences de l'édition :

Grille de positionnement des noeuds affichable et modifiable
La grille de positionnement des noeuds dans la fenêtre du graphe est maintenant affichable et configurable. Son affichage est géré par le menu correspondant (
).
L'espacement en pixels des lignes est modifiable dans les préférences d'affichage.
Sécurité
Installation, activation et désinstallation en administrateur
L'installation, l'activation et la désinstallation du logiciel se font avec les droits d'administrateur.
Clé de désinstallation
A la désinstallation, le logiciel affiche une clé de désinstallation qui pourra être utilisée pour réinstaller BayesiaLab sur une autre machine en gardant le même licence.
Paramétrage du serveur de licences dans les préférences
Pour la version avec serveur de licence, les paramètres du serveur de licences peuvent être modifiés dans les préférences correspondantes et seront effectives au prochain redémarrage du logiciel.


