Brevet FR3105844A1 — publié le 20210702

L’invention porte sur un procédé d’identification de variables pertinentes pour un jeu de données, lesdites variables étant issues d’une pluralité de variables mise en jeu au cours d’un traitement du jeu de données, ledit procédé comprenant : - une étape de génération d’un sous ensemble de variables à partir de la pluralité de variables, - une étape d’attribution d’une valeur de quantification de chaque variable du sous ensemble de variables généré, - une étape de sélection de variable pertinente, - une nouvelle étape de génération d’un nouveau sous ensemble de variables lorsque la valeur quantitative de la variable sélectionnée est inférieure à une valeur seuil prédéterminée. L’invention concerne en outre un système d’identification de variables pertinentes pour un jeu de données, sur un programme d’identification de variables pertinentes pour un jeu de données et sur un support d’enregistrement sur lequel est enregistré le programme de d’identification de variables pertinentes pour un jeu de données. Figure à publier avec l’abrégé : FIGURE 1 PROCEDE ET système D’IDENTIFICATION DE VARIABLES PERTINENTES L’invention concerne le domaine de l’analyse des données, et plus particulièrement le l’identification de variables pour un jeu de données, pouvant être utilisés notamment par la suite pour des phases de modélisation ou d’exploitation avancées des données. L’invention concerne un procédé d’identification de variables pertinentes pour un jeu de données ainsi qu’un système d’identification de variables pertinentes pour un jeu de données. L’invention se rapporte également à un module de sélection de variable pour l’identification de variables pertinentes pour un jeu de données. Avec l’expansion des activités liées au Big Data, le métier de Data Scientist s’est développé de façon importante ces dernières années. Ce métier, qui a pour objet de tirer profit des grandes quantités de données disponibles dans les sociétés et les grandes organisations, s’appuie sur des techniques statistiques et des outils informatiques variés, mais reste aujourd’hui largement « artisanal ». Chaque organisation et chaque jeu de données posent des problèmes spécifiques auxquels les Data Scientists tentent de répondre par des solutions « sur mesure ». Cet état de choses est notamment dû à la très grande hétérogénéité des données disponibles, à leur caractère souvent incomplet ainsi qu’aux erreurs et incohérences contenues dans presque tous les jeux de données de taille significative. Afin de prendre en compte ces aspects, les Data Scientists, avant de rentrer dans des phases de modélisation et d’exploitation avancée des données, doivent d’abord passer par une phase de prétraitement et d’analyse préliminaire de ces dernières (nettoyage, analyse exploratoire). Ces tâches s’avèrent cependant extrêmement lourdes et chronophages. Ainsi, comme le souligne l’étude menée par Forbes en 2016 et relayée dans l’article de G. PRESS, le Data Scientist passe 80% de son temps dans ce processus de prétraitement et d’analyse des données et 20% seulement dans l’algorithmique pure. La phase de prétraitement et d’analyse préliminaire de données, représentent une part considérable du travail des Data Scientists, qui reposent aujourd’hui essentiellement sur la mise en œuvre non automatisée et/ou systématisée de différents outils, et sans cadre fédérateur pour une comparaison aisée et pertinente des résultats obtenus sur un jeu de données suite à l’application de différentes techniques d’analyse. En 2011, les travaux de S. KANDEL et al. ont donné lieu au développement de l’outil Wrangler, puis à la création de la société Trifacta qui développe un outil de prétraitement performant [KANDEL, 2011]. Néanmoins, cet outil permet uniquement de faciliter les traitements de type textuels (utilisation d’expressions régulières par exemple) ; exploiter les données issues des bases de données (éclatements, regroupements de colonnes, etc.) ; analyser syntaxiquement les messages. Il est d’ailleurs comparé et évalué en termes de temps par rapport aux mêmes traitements effectués par Excel. De fait, il s’agit là uniquement d’un outil permettant de prétraiter des données brutes mais qui n’est aucunement capable d’effectuer des statistiques sur les données traitées. Précisément pour cette raison, les auteurs concluent dans leurs perspectives l’intérêt d’inclure d’autres techniques d’analyse, dont des techniques statistiques. Le programme open source OpenRefine, développé par Google est notamment décrit par R. Verborgh et M. De Wilde [VERBORGH, 2013]. Cependant, il s’agit d’un outil permettant de traiter des données désordonnées, dans le but de les nettoyer et de les convertir d’un format à un autre. Dans ce cas également, l’outil ne réalise aucune analyse statistique des données injectées. Le langage R permet de réaliser des calculs statistiques et également de développer des applications de Machine Learning. Il intègre de nombreux modules qui permettent au Data Scientist de réaliser facilement ce type de traitements ainsi que des prétraitements sur les données. Il permet ainsi : la manipulation des données, via de nombreuses bibliothèques de manipulation de données ; la visualisation de données, technique implémentée dans l’outil ggplot2 par exemple présenté par W. HADLEY [HADLEY, 2016]. Celui-ci permet de construire un ensemble d’objets géométriques » (« geoms ») à partir d’un jeu de données restreint. Cependant, il n'existe pas d’interface simple d’utilisation autre que le langage de programmation lui-même, rapide et accessible permettant à n’importe quel utilisateur maîtrisant ou non le langage informatique. Comme le langage R, le langage Python est très répandu dans le monde scientifique et dispose de librairies dédiées à l’analyse de données, notamment : Pandas , qui facilite la manipulation de données, par le biais de structures de données adaptées et d’opérations de nettoyage, de formatage ou d’autres prétraitements [MCKINNEY, 2011] ; Scikit-learn (parfois abrégé sklearn), qui fournit différents algorithmes de classification, régression et partitionnement (en anglais, clustering) pour l’analyse statistique [PEDREGOSA, 2011]. En outre, plusieurs conférences illustrent l’importance de la recherche actuelle dans le domaine du Data Analytics et mettent en évidence les défis restant à relever : La conférence VLDB (Very Large Data Bases), qui est un forum international pour les chercheurs, fournisseurs, développeurs et utilisations de bases de données. Cette conférence couvre notamment les problèmes liés à la gestion d’un grand volume de données. La conférence annuelle SIGMOD (Special Interest Group on Management of Data) dédiée au partage de connaissances liées aux bases de données, au cours de laquelle sont organisées diverses sessions d’échanges, tant sur des thèmes de recherche que sur des thèmes industriels. Y sont également présentés des tutoriels, des démonstrations et des ateliers ciblés. Toutefois, selon les valeurs à traiter, les algorithmes ne se comportent pas de la même manière et cela influe sur le résultat qu’ils retournent. Lorsque plusieurs méthodes d’estimation sont a priori pertinentes, il n’est donc pas garanti qu’elles fournissent le même résultat. De ce point de vue, il paraitrait utile de disposer de méthodes ou d’outils permettant de comparer la pertinence des résultats des tests de chaque méthode. Il est donc nécessaire de développer des procédés et des systèmes moins chronophage que ceux existant, plus simple d’utilisation et automatisé et/ou systématisé et pouvant supporter une grande quantité de données ainsi que des données hétérogènes. La conclusion globale est le constat du manque d’outils capables de réaliser les tâches de prétraitement et d’analyse de manière automatisée/systématisée. En effet, les outils de l’art antérieur se limitent à des prétraitements très basiques des données (formatage, ajouts de colonnes, etc.), sans se préoccuper de l’analyse qui en découle, rendant leur utilisation chronophage. En outre, il apparait ainsi utile de disposer d’un outil permettant lors de l’analyse d’identifier les variables les plus pertinentes pour un jeu de données.. En effet, il existe un risque qu’un même jeu de données puisse être interprété différemment par plusieurs techniques, qui fournissent alors des résultats divergents, lorsque son degré de complexité d’analyse augmente. Cette complexité d’analyse peut être due : à la volumétrie du jeu de données ; aux échantillons issus d’une même population pouvant être aléatoires ou manquants ; à des erreurs ou des incohérences contenues. Il devient alors indispensable de pouvoir juger de la pertinence des résultats fournis par les techniques d’analyses suite à leur application sur le jeu de données. Or, aucune solution existante ne permet de comparer directement, et simultanément, les résultats de corrélation des jeux de données selon plusieurs techniques d’analyse. De même, actuellement, il n’existe pas de solution proposant automatiquement à l’utilisateur la méthode implémentée la plus à-même d’interpréter le jeu de données et de corréler les variables. Il incombe donc à l’utilisateur d’analyser l’ensemble des résultats fournis par les différentes méthodes pour en tirer des conclusions et choisir l’interprétation lui semblant le plus correspondre au jeu de données étudié. Enfin, les solutions de l’état de l’art sont peu accessibles, en s’inscrivant dans une logique « boîte noire ». Elles s’adressent prioritairement à des experts en Data Science, que ce soit : pour la réalisation de l’ensemble des étapes de prétraitement, ou pour l’interprétation/la compréhension des résultats obtenus suite aux tests de corrélation. Les outils n’expliquent donc pas à l’utilisateur pourquoi la corrélation entre une méthode d’analyse et un jeu de données a réussi ou échoué. Par ailleurs, certains outils nécessitent de connaître/maîtriser la programmation et les langages informatiques pour être manipulés. [Problème technique] L’invention a donc pour but de remédier aux inconvénients de l’art antérieur. En particulier, l’invention a pour but de proposer un procédé d’identification de variables pertinentes pour un jeu de données, ledit procédé étant rapide et simple à mettre en œuvre, avec un nombre réduit d’étapes, permettant de maitriser la fiabilité et la pertinence des variables sélectionnées tout en étant simple d’utilisation. En outre, un tel procédé est automatisé et systématisé permettant un gain de temps. Ledit procédé est également accessible pour n’importe quel utilisateur tout en étant apte à supporter une grande quantité de données dont lesdites données peuvent être hétérogènes. L’invention a en outre pour but de proposer un système d’identification de variables pertinentes pour un jeu de données, ledit système étant simple et rapide d’utilisation. En outre, le système selon l’invention est accessible et capable de traiter un volume important de données. Le système selon l’invention permet également de maîtriser la fiabilité et la pertinence des variables sélectionnées. [Brève description de l’invention] A cet effet, l’invention porte sur un procédé d’identification de variables pertinentes pour un jeu de données, mis en œuvre par une ressource de calcul de type ordinateur, lesdites variables étant issues d’une pluralité de variables mise en jeu au cours d’un traitement du jeu de données, ledit procédé comprenant : une étape de génération d’un sous ensemble de variables à partir de la pluralité de variables mis en jeu au cours du traitement du jeu de données, par un module de sélection de variable, une étape d’attribution d’une valeur de quantification de chaque variable du sous ensemble de variables généré, par le module de sélection de variables, une étape de sélection de variable pertinente par application d’un algorithme génétique, ou par application de techniques de sélection, une nouvelle étape de génération d’un nouveau sous ensemble de variables lorsque la valeur quantitative de la variable sélectionnée est inférieure à une valeur seuil prédéterminée. Selon d’autres caractéristiques optionnelles du procédé : l’étape de génération d’un sous ensemble de variables comprend une étape préalable de réception de la pluralité de variables formant un espace de représentation en fonction d’une requête déterminée, le procédé comprend une étape de vérification de la pertinence de variables identifiées, par le module de sélection de variable, comprenant l’affectation d’indicateurs de performances, l’étape de vérification comprend en outre la comparaison des indicateurs de performances affectés aux variables identifiées avec des indicateurs de performances définis, l’étape de sélection de variable par application d’un algorithme génétique comprend - une étape de calcul d’une valeur d’adéquation pour chaque variable du sous ensemble de variable généré, - une étape de génération d’une nouvelle variable comprenant une étape de sélection de variable à partir d’une fonction de sélection prédéfinie, une étape de transformation des variables sélectionnées en fonction d’une fonction de transformation prédéfinies, - une étape de calcul d’une valeur d’adéquation pour la nouvelle variable générée, - une étape de comparaison de la valeur d’adéquation de la nouvelle variable générée avec les valeurs d’adéquation de chaque variable du sous ensemble de variable généré comprenant : une nouvelle étape de génération d’un nouveau sous ensemble de variables lorsque la valeur quantitative de la variable sélectionnée est inférieure à une valeur seuil prédéterminée, ladite valeur quantitative correspondant à la valeur d’adéquation de la nouvelle variable générée et la valeur seuil prédéterminée correspondant à la valeur d’adéquation la plus faible des variables du sous ensemble généré, l’étape de sélection de variable par application d’un algorithme génétique comprend au préalable : - une étape de calcul de corrélation entre les variables du sous ensemble de variable généré, - une étape d’encodage des variables en fonction de la corrélation calculée entre les variables du sous ensemble de variable généré, l’étape de sélection de variable par application de techniques de sélection comprend : - la sélection de variable univariée, ou - la sélection de variable multivariée, ou - la sélection de variable par élimination récursive, le procédé comprend une étape de suppression des variables du sous ensemble de variable généré lorsque les variables sont redondantes. et/ou l’étape d’attribution d’une valeur de quantification de chaque variable du sous ensemble de variables généré, par le module de sélection de variables, comprend la classification des variables à partir de la valeur de quantification, L’invention porte en outre sur un système d’identification de variable s pertinentes pour un jeu de données, mis en œuvre par une ressource de calcul de type ordinateur, lesdites variables étant issues d’une pluralité de variables mise en jeu au cours d’un traitement du jeu de données, ledit système comprenant un module de sélection de variable configuré pour : Générer un sous ensemble de variables à partir de la pluralité de variables mis en jeu au cours du traitement du jeu de données, Attribuer une valeur de quantification de chaque variable du sous ensemble de variables généré, par le module de sélection de variables, Sélectionner des variables pertinentes par application d’un algorithme génétique, ou par application de techniques de sélection, Générer un nouveau sous ensemble de variables lorsque la valeur quantitative de la variable sélectionnée est inférieure à une valeur seuil prédéterminée. L’invention porte en outre sur un module de sélection de variables pour l’identification de variables pertinentes pour un jeu de données, mis en œuvre par une ressource de calcul de type ordinateur, lesdites variables étant issues d’une pluralité de variables mise en jeu au cours d’un traitement du jeu de données, ledit module de sélection de variable comprenant un module de sélection de variables configuré pour : Générer un sous ensemble de variables à partir de la pluralité de variables mis en jeu au cours du traitement du jeu de données, Attribuer une valeur de quantification de chaque variable du sous ensemble de variables généré, par le module de sélection de variables, Sélectionner des variables pertinentes par application d’un algorithme génétique, ou par application de techniques de sélection, Générer un nouveau sous ensemble de variables lorsque la valeur quantitative de la variable sélectionnée est inférieure à une valeur seuil prédéterminée. L’invention porte en outre sur un programme d’identification de variables pertinentes pour un jeu de données mis en œuvre par une ressource de calcul de type ordinateur, faisant exécuter le procédé d’identification de variables pertinentes selon l’invention. Support d’enregistrement sur lequel est enregistré le programme d’identification de variables pertinentes selon l’invention. D’autres avantages et caractéristiques de l’invention apparaitront à la lecture de la description suivante donnée à titre d’exemple illustratif et non limitatif, en référence aux Figures annexées : représente un schéma d’un mode de réalisation du procédé selon l’invention. représente un schéma d’un mode de réalisation du procédé selon l’invention. représente un schéma d’un mode de réalisation d’une étape du procédé selon l’invention. représente un schéma d’un mode de réalisation du procédé selon l’invention. représente un schéma d’un mode de réalisation du procédé selon l’invention. représente un schéma d’un mode de réalisation d’un système selon l’invention. [Description de l’invention] Le terme « « modèle » ou « règle » ou « algorithme » » au sens de l’invention correspond à une suite finie d'opérations ou d'instructions permettant de calculer une valeur par l’intermédiaire d’un classement ou d’un partitionnement des données au sein de groupes préalablement définis Y et d’attribuer un score ou de hiérarchiser une ou plusieurs données au sein d’un classement. La mise en œuvre de cette suite finie d'opérations permet par exemple d’attribuer une étiquette Y à une observation décrite par un ensemble de caractéristiques ou paramètres X grâce par exemple à la mise en œuvre d’une fonction f susceptible, de reproduire Y ayant observé X. Y = f (X) + e où e symbolise le bruit ou erreur de mesure. On entend par « traiter », « calculer », « déterminer », « afficher », « extraire » « comparer » ou plus largement « opération exécutable » au sens de l’invention, une action effectuée par un dispositif ou un processeur sauf si le contexte indique autrement. À cet égard, les opérations se rapportent à des actions et/ou des processus d’un système de traitement de données, par exemple un système informatique ou un dispositif informatique électronique, qui manipule et transforme les données représentées en tant que quantités physiques (électroniques) dans les mémoires du système informatique ou d'autres dispositifs de stockage, de transmission ou d'affichage de l'information. Ces opérations peuvent se baser sur des applications ou des logiciels. On entend par « seuil prédéterminé » au sens de l’invention une valeur maximale de paramètre associée à chaque ressource permettant un bon fonctionnement de ladite ressource. Par exemple, cela correspond aux limites maximales acceptables de consommations de ressources pour une infrastructure informatique hébergeant une ou plusieurs briques applicatives. Ces limites peuvent être réelles ou hypothétiques et correspondent généralement à un niveau d’utilisation au-delà duquel des dysfonctionnements peuvent survenir et ayant pour conséquence un arrêt de la ressource, de l’infrastructure informatique ou bien à tout le moins des baisses de qualités de service. Par exemple, le tableau 1 ci-dessous présente les seuils prédéterminés d’utilisation maximum pour trois ressources CPU 1 Utilisation réseau Utilisation disque Seuil prédéterminé 80 % 350 KBps 60 o/s Par « règles d’exécution » on entend au sens de l’invention des paramètres prédéterminés d’exécution d’un plan d’ordonnancement dont le respect permet une exécution répondant aux besoins de l’administrateur SI. Ces règles peuvent notamment inclure des ordres d’enchainement à respecter, des horaires à respecter, ou des seuils de consommation en ressources à respecter, des fonctions prédéterminées à utiliser. Par « variable » on entend au sens de l’invention une caractéristique d'une unité statistique que l'on observe et pour laquelle une valeur numérique ou une catégorie d'une classification peut être attribuée. Par « techniques de sélection » on entend au sens de l’invention une suite finie d'opérations ou d'instructions permettant de calculer une valeur par l’intermédiaire de tests statistiques de type ANOVE, Test de l’information mutuelle entre deux variables aléatoires, Test du Chi², Tests de régression (e.g. régression linéaire, information mutuelle), SVM, ou élimination récursive, et permettant d’aboutir à un ensemble comprenant des variables pertinentes, notamment les meilleures variables ou les variables les plus pertientes. Procédé (100) d’identification de variables pertinentes dans un jeu de données comportant une pluralité de sous-ensembles de données mis en œuvre par une ressource de calcul de type ordinateur, chacun des sous-ensembles de données correspondant à une variable de façon à former un ensemble de variables, ledit procédé comprenant : - une étape (200) de génération d’un sous ensemble de variables à partir de l’ensemble de variables, par un module (1) de sélection de variable, - une étape (300) de calcul d’une valeur de performance à chaque variable du sous ensemble de variables généré, par le module de sélection de variables, - une étape (400) de sélection d’au moins une variable pertinente par application d’un algorithme génétique, ou par application de techniques de sélection, - une nouvelle étape (700) de génération d’un nouveau sous ensemble de variables lorsque la valeur performance de la variable sélectionnée est inférieure à une valeur seuil prédéterminée. Procédé selon la revendication 1, caractérisé en ce que l’étape (200) de génération d’un sous ensemble de variables comprend une étape (150) préalable de réception de la pluralité de variables formant un espace de représentation en fonction d’une requête déterminée. Procédé selon la revendication 1 ou 2, caractérisé en ce que le procédé comprend une étape (500) de vérification de la pertinence de variables identifiées, par le module (1) de sélection de variable, comprenant l’affectation (510) d’indicateurs de performances. Procédé selon la revendication 3, caractérisé en ce que l’étape (500) de vérification comprend en outre la comparaison (520) des indicateurs de performances affectés aux variables identifiées avec des indicateurs de performances définis. Procédé selon l’une quelconque des revendications 1 à 4, caractérisé en ce que l’étape (400) de sélection de variable par application d’un algorithme génétique comprend - une étape (630) de calcul d’une valeur d’adéquation pour chaque variable du sous ensemble de variable généré, - une étape (640) de génération d’une nouvelle variable comprenant - une étape (641) de sélection de variable à partir d’une fonction de sélection prédéfinie, - une étape (642) de transformation des variables sélectionnées en fonction d’une fonction de transformation prédéfinies, - une étape (650) de calcul d’une valeur d’adéquation pour la nouvelle variable générée, - une étape (660) de comparaison de la valeur d’adéquation de la nouvelle variable générée avec les valeurs d’adéquation de chaque variable du sous ensemble de variable généré comprenant : - une nouvelle étape (670) de génération d’un nouveau sous ensemble de variables lorsque la valeur quantitative de la variable sélectionnée est inférieure à une valeur seuil prédéterminée, ladite valeur quantitative correspondant à la valeur d’adéquation de la nouvelle variable générée et la valeur seuil prédéterminée correspondant à la valeur d’adéquation la plus faible des variables du sous ensemble généré. Procédé selon la revendication 5, caractérisé en ce que l’étape (400) de sélection de variable par application d’un algorithme génétique comprend au préalable : - une étape (610) de calcul de corrélation entre les variables du sous ensemble de variable généré, - une étape (620) d’encodage des variables en fonction de la corrélation calculée entre les variables du sous ensemble de variables généré. Procédé selon l’une quelconque des revendications 1 à 4, caractérisé en ce que l’étape (400) de sélection de variable par application (450) de techniques de sélection comprend : - la sélection (410) de variable univariée, ou - la sélection (420) de variable multivariée, ou - la sélection (430) de variable par élimination récursive. Procédé selon l’une quelconque des revendications 1 à 7, caractérisé en ce que le procédé comprend une étape (250) de suppression des variables du sous ensemble de variable généré lorsque les variables sont redondantes. Procédé selon l’une quelconque des revendications 1 à 8, caractérisé en ce que l’étape (300) d’attribution d’une valeur de quantification de chaque variable du sous ensemble de variables généré, par le module (1) de sélection de variables, comprend la classification (350) des variables à partir de la valeur de quantification. Système (10) d’identification de variables pertinentes pour un jeu de données, mis en œuvre par une ressource de calcul de type ordinateur, lesdites variables étant issues d’une pluralité de variables mise en jeu au cours d’un traitement du jeu de données, ledit système comprenant un module de sélection (1) de variable configuré pour : - Générer un sous ensemble de variables à partir de la pluralité de variables mis en jeu au cours du traitement du jeu de données, - Attribuer une valeur de quantification de chaque variable du sous ensemble de variables généré, par le module de sélection de variables, - Sélectionner des variables pertinentes par application d’un algorithme génétique, ou par application de techniques de sélection, - Générer un nouveau sous ensemble de variables lorsque la valeur quantitative de la variable sélectionnée est inférieure à une valeur seuil prédéterminée. Module (1) de sélection de variables pour l’identification de variables pertinentes pour un jeu de données, mis en œuvre par une ressource de calcul de type ordinateur, lesdites variables étant issues d’une pluralité de variables mise en jeu au cours d’un traitement du jeu de données, ledit module de sélection de variable comprenant un module de sélection de variables configuré pour : - Générer un sous ensemble de variables à partir de la pluralité de variables mis en jeu au cours du traitement du jeu de données, - Attribuer une valeur de quantification de chaque variable du sous ensemble de variables généré, par le module de sélection de variables, - Sélectionner des variables pertinentes par application d’un algorithme génétique, ou par application de techniques de sélection, - Générer un nouveau sous ensemble de variables lorsque la valeur quantitative de la variable sélectionnée est inférieure à une valeur seuil prédéterminée.