Maintenance prédictive avec DataRobot

Présentation
La technique consistant à prédire si l'équipement matériel va tomber en panne ou non peut s'avérer bénéfique pour les entreprises modernes qui utilisent des machines pour fournir des services.
Prenons l'exemple d'une compagnie de bus qui a récemment acheté une flotte de nouveaux bus. Des pannes de moteur peuvent survenir en raison de l'usure des pièces mécaniques et/ou d'une erreur humaine, ce qui entraînera l'insatisfaction de nombreux clients et une baisse des ventes de billets de la société. Si l'entreprise décide de procéder à un entretien régulier des moteurs des bus, afin de détecter toute panne à venir, cela pourrait réduire le risque associé, mais cela augmenterait les coûts de l'entreprise.
C'est l'une des raisons pour lesquelles la maintenance prédictive est devenue populaire de nos jours, et les grandes entreprises font appel à des data scientists pour créer des modèles d'apprentissage automatique afin d'effectuer de telles prédictions. Un secteur de marché dans lequel les bénéfices dépendent de manière significative des défaillances des machines est le marché du pétrole. Chaque fois que l'équipement de forage tombe en panne en cours de fonctionnement, la production d'extraction de pétrole s'arrête. En conséquence, l'offre de pétrole sur le marché diminue, ce qui entraîne des pertes pour l'entreprise. et potentiellement en cas de perturbation de l'approvisionnement et des marchés énergétiques mondiaux.
La toute prochaine question qui nous vient à l'esprit est de savoir si nous pourrions proposer une analyse en tant que data scientists, qui aiderait les entreprises à performer prédictions pour savoir si leurs machines ont besoin d'entretien. Heureusement, l'apprentissage automatique peut également être utilisé dans un tel scénario, où, en utilisant les bonnes données, nous pouvons développer des modèles qui nous permettraient de savoir si une telle entreprise doit procéder à des actions de maintenance.
Apprentissage automatique automatique avec DataRobot
Il faut beaucoup de temps et de dévouement pour maîtriser les notions de base de l'apprentissage automatique, et il faut encore plus de temps pour former et produire des modèles qui peuvent être mis en production et exposés aux utilisateurs finaux du côté commercial. Les raisons en sont la manipulation manuelle des données et l'écriture de code pour entraîner, tester, valider et comparer différents modèles.
Robot de données a développé une plateforme qui permet Apprentissage automatique (AML). Cette plateforme libère le data scientist ou l'analyste des données des tâches fastidieuses et répétitives liées à l'écriture du code de chaque modèle à entraîner, tester et comparer. DataRobot simplifie également considérablement le processus de transfert d'un modèle vers l'environnement de production car il permet le déploiement et la surveillance automatiques des modèles d'apprentissage automatique.
L'impact de ce produit est énorme dans les entreprises modernes, car elles peuvent intégrer des modèles d'apprentissage automatique en production afin d'optimiser leurs performances. Ici à Argouse, nous sommes fiers d'être partenaires de DataRobot, et avec cet article, nous aimerions démontrer comment l'application DataRobot peut nous aider à comprendre et à analyser les problèmes commerciaux et à tirer des conclusions utiles.
Dans cet exemple, nous utilisons un ensemble de données qui contient des informations sur quantité de machines qui ont été remplacées au cours d'une période donnée. Cet ensemble de données fait partie d'une riche collection de cas d'utilisation, qui ne sont disponibles que pour les partenaires de DataRobot, et il a été délibérément anonymisé pour des raisons de confidentialité. L'objectif de l'analyse est d'utiliser la fonctionnalité AML de DataRobot pour identifier les paramètres, pertinents pour l'ensemble de données, qui peuvent augmenter ou diminuer la probabilité de remplacement du matériel, c'est-à-dire une défaillance des machines.
Description de l'ensemble de données
L'ensemble de données comprend 10000 lignes X 28 des caractéristiques (colonnes) contenant des informations sur les matériaux de la machine (telles que le poids, les identifiants des matériaux, etc.), plus une variable booléenne (qty_remplacée) qui représente le fait qu'un remplacement a eu lieu (valeur 1) ou non (valeur 0). Par conséquent, la nature du problème auquel nous sommes confrontés est classification binaire.
Cette variable est notre variable cible c'est-à-dire que nous allons construire des modèles dans DataRobot afin de prédire la probabilité d'un changement dans l'équipement de forage.
Le fonctionnalités que nous utiliserons dans notre modèle sont composés de types catégoriels, numériques et booléens, et ils agissent comme des paramètres libres, dans le sens où DataRobot essaiera de construire un modèle en faisant varier leurs valeurs. Des exemples de telles caractéristiques dans notre ensemble de données sont le poids des composants de la machine et le type de matériau qui les compose.
Analyse DataRobot
En tenant compte des besoins des entreprises modernes, DataRobot a accru la flexibilité d'utilisation de son produit, en proposant une application Web et une API Python. Dans cet exemple, nous allons démontrer la puissance de DataRobot dans l'application Web.
Lorsque nous visitons la page Web de l'application, nous pouvons importer nos données de nombreuses manières : en téléchargeant un fichier local (tel que des fichiers csv ou Excel), en utilisant une URL (par exemple pour les données stockées dans AWS), en utilisant des fichiers HDFS si nous utilisons le système Hadoop, ou en nous connectant à une base de données relationnelle (par exemple SQL Server).
Une nouvelle fonctionnalité de DataRobot est que nous pouvons parcourir le catalogue AI, qui comprend les projets sur lesquels nous avons travaillé et partagés avec notre équipe. Il permet à tous les collaborateurs d'accéder facilement aux données nécessaires pour répondre aux problèmes commerciaux, de manière cohérente et sécurisée.
Figure 1: la page DataRobot sur laquelle l'utilisateur peut télécharger des données de différentes manières.

Après cette petite introduction, importons quelques données ! Nous choisissons de télécharger des données à partir d'un fichier local et pour l'ensemble de données actuel, il faut environ DataRobot 3 secondes pour lire et pré-analyser les données. La pré-analyse comprend des calculs statistiques pour chacune des colonnes de notre ensemble de données, ainsi que des informations sur la distribution des données sous forme d'histogrammes. La page principale de DataRobot après le téléchargement de nos données comprend un champ pour saisir la variable cible, un bouton avec le choix du mode d'analyse que nous voulons effectuer et une option pour activer un Séries chronologiques modélisation, au cas où nos données démontreraient une saisonnalité et que nous aurions aimé prévoir des variables dans le futur.
Quand on choisit la variable qty_remplacée en tant que variable cible, DataRobot propose l'histogramme de ces observations, ainsi que la reconnaissance automatique de l'analyse d'apprentissage automatique dont nos données ont besoin (classification). Le gros bouton Démarrer est là pour lancer l'analyse, et nous pouvons choisir le Mode de modélisation que nous préférons. Les choix sont les suivants :
- Pilote automatique, où les algorithmes DataRobot s'exécutent chaque fonctionnement automatique de l'analyse des données à la création de modèles.
- Rapide, qui offre les mêmes fonctionnalités que le pilote automatique, mais qui exécute l'analyse sur un sous-ensemble de nos données. Excellente option si notre ensemble de données est énorme et que nous voulons effectuer rapidement une modélisation.
- Manuel, où nous avons le contrôle total de l'analyse, en choisissant les modèles que nous allons utiliser pour nos données.
Figure 2: Après avoir téléchargé nos données, nous pouvons configurer l'analyse en fonction de nos besoins.

Dans cet exemple, nous allons utiliser le Pilote automatique option. DataRobot suggère également la fonction de pénalité que nous devrions utiliser pour mesurer la précision de nos modèles. Dans notre cas, la meilleure fonction est Perte de journal fonction.
Avant de passer à l'analyse, nous pouvons examiner rapidement les caractéristiques de nos données et inspecter leurs propriétés statistiques. DataRobot offre un aperçu des données brutes, les histogrammes de la distribution de chaque caractéristique et une reconnaissance automatique du type de variable de chaque caractéristique (catégorique, booléenne, etc.). Par exemple, nous pouvons voir que notre variable cible, qui est booléenne, a une valeur moyenne de 0,57 et un écart type de 0,50, ce qui nous indique immédiatement que notre variable cible est adéquate équilibré. L'équilibre, pour un problème de classification, fait référence à la propriété d'avoir un nombre égal ou presque égal d'observations pour les deux résultats (0 ou 1 dans ce cas). Pour notre analyse d'apprentissage automatique, les résultats devraient permettre de prédire la probabilité que certains équipements aient besoin d'être remplacés. Ces probabilités se présenteront sous forme de valeurs continues, de 0 à 1, et toute valeur inférieure à 0,5 signifierait qu'il n'y a pas de remplacement, tandis qu'une valeur supérieure à 0,5 signifierait un remplacement.
Figure 3: DataRobot offre une vue statistique de nos données avant de commencer à créer des modèles.

Dans la même liste, nous pouvons également cliquer sur une fonctionnalité et DataRobot dessinera automatiquement un histogramme pour nous. Par exemple, lorsque nous cliquons sur m_poids variable, nous pouvons inspecter la répartition des poids de nos équipements. Nous en concluons immédiatement que nos machines sont pour la plupart « légères », mais certaines unités sont nettement plus lourdes.
Figure 4: Histogramme du m_poids variable. Les valeurs de l'axe horizontal sont exprimées en unités abstraites, tandis que l'axe vertical fait référence au nombre de lignes qui présentent ces valeurs.

Passons maintenant à la partie amusante !
Nous cliquons sur le Démarrer bouton et nous utilisons l'option par défaut de Pilote automatique afin de permettre à DataRobot de fonctionner automatiquement ingénierie des fonctionnalités, qui comprend de nombreuses tâches fastidieuses telles que l'identification des valeurs manquantes et leur imputation, la mesure de la corrélation entre les caractéristiques, la création automatique d'une liste de caractéristiques en fonction de leur importance. Cette fonctionnalité peut être extrêmement utile à l'utilisateur de DataRobot en termes de temps et d'efforts.
Sur la figure 5, les caractéristiques de l'ensemble de données sont présentées, classées par importance, qui est une mesure statistique de l'impact de chaque caractéristique sur la variable cible. Cette vue est très pratique car nous pouvons avoir une première idée des relations entre la variable cible et notre ensemble de données.
Figure 5: affichage depuis le volet de chargement des données dans DataRobot après le lancement de l'analyse.

Dans le même ordre d'idées, nous remarquons Liste des fonctionnalités bouton, où nous pouvons voir une liste générée automatiquement de collections de fonctionnalités, avec un nombre différent de fonctionnalités. DataRobot utilise des sous-ensembles de nos données initiales (le long de l'axe des colonnes) afin de réduire le nombre de fonctionnalités. En général, un modèle plus simple est toujours plus favorable qu'un modèle plus complexe, à condition que partialité et écart ne vous surindemnisez pas ou ne vous sous-indemnisez pas les uns les autres. DataRobot a automatiquement créé une liste de 12 caractéristiques (en dehors de la version initiale) 28). Outre les avantages précédents, cela se traduit par des temps de calcul plus courts et une interprétation plus facile des résultats. Cependant, nous sommes toujours libres de choisir la liste initiale qui inclut toutes les fonctionnalités, ou même de créer nos propres listes.
Après l'ingénierie initiale des fonctionnalités, le pilote automatique commence à créer les premiers modèles. Un total de 75 les modèles sont exécutés automatiquement sur nos données en moins de 20 minutes, mais ce nombre est largement influencé par la taille des données et la vitesse du réseau. Il est important de mentionner que même si DataRobot continue de créer des modèles, nous sommes libres de travailler dans l'application et d'explorer tous les modèles qui ont été créés jusqu'à présent. Notez toutefois que puisque DataRobot est conçu pour effectuer une analyse d'apprentissage automatique de la manière la plus efficace, il effectue Validation croisée k-fold afin d'attribuer des notes aux modèles. Cette technique est incluse dans les meilleures pratiques de l'apprentissage automatique afin d'éviter l'introduction de biais dans nos prédictions et d'en maximiser la précision. La manière générale dont cela se fait dans DataRobot est
- Les données sont mélangées de manière aléatoire pour chaque colonne.
- Le données d'entraînement (80 %) pourcentage de notre ensemble de données) sont divisés en k = 5 groupes.
- Un groupe des groupes k = 5 est réservé à la validation de nos modèles, c'est-à-dire à la mesure de la précision du modèle. Ensuite, l'entraînement du modèle est effectué avec les 4 autres groupes. Le modèle est finalement validé sur le groupe réservé.
- L'étape précédente est répétée k = 5 fois, en utilisant à chaque fois un groupe différent pour la validation de nos modèles.
- Le résultat final est considéré comme la moyenne de ces scores de validation multipliés par 5.
Le reste des 20 % de nos données de l'étape 2 sont réservées en tant que Rétendez pour la validation finale de nos modèles. Comme étape supplémentaire pour améliorer la précision, DataRobot permet de tester notre modèle sur les données Holdout uniquement en tant qu'étape finale. Ceci est effectué afin de réduire le biais dans la sélection du modèle que l'utilisateur effectuera.
Une fois l'analyse terminée et les modèles créés, ils sont triés dans le Classement section en fonction du score de chaque modèle dans le Perte de journal métrique, où des valeurs plus petites donnent des modèles plus précis. Comme nous l'avons mentionné au début, DataRobot est conçu pour les besoins des entreprises modernes. Il comprend donc également des modèles qui ont fait un excellent travail en termes de vitesse de calcul et précision. Cela signifie que ces modèles sont de très bons candidats pour déploiement afin de réaliser des prévisions en production. DataRobot nous renseigne sur le modèle le plus adapté au déploiement.
La précision est donnée par deux valeurs dans le classement : Le score de validation est présenté dans Validation champ, qui n'est que la précision de notre modèle, mais en utilisant un seul bloc de nos données d'entraînement pour la validation, tandis que le score de validation croisée peut être consulté dans le Validation croisée champ. Entre les deux, il est recommandé de privilégier le score de validation croisée lors du choix de notre modèle. Nous avons également la possibilité de filtrer le classement en fonction des listes de fonctionnalités que nous avons incluses dans l'analyse. Dans cet exemple, nous utiliserons la liste générée automatiquement par DataRobot, qui est construite en utilisant 64 % de nos données. Les modèles les plus précis, comme le montre la figure 6, sont mixeur modèles qui sont des mélanges de différents modèles.
Figure 6: Classement des modèles DataRobot pour l'analyse de maintenance prédictive.

Nous pouvons recevoir des informations détaillées sur chaque modèle en un seul clic sur son nom. Par exemple, le Décrivez La section fournit des informations sur le plan, c'est-à-dire le diagramme de flux des opérations DataRobot qui ont été effectuées pour ce modèle, sur la vitesse de calcul, et nous pouvons même lire le fichier journal brut. Un exemple du schéma directeur du Blender GLM avancé le plan est illustré à la figure 7. Blender signifie ici « mélange de modèles », et en effet, la première étape du flux a été la phase de prétraitement de chacun de ces modèles.
Figure 7: Schéma directeur du Blender GLM avancé modèle.

Informations sur les données
Une fois l'analyse de DataRobot terminée, nous pouvons visiter le Perspectives section, pour évaluer certaines caractéristiques qualitatives de notre ensemble de données.
Par exemple, dans le Nuage de mots onglet, nous pouvons voir un nuage de mots avec les étiquettes les plus fréquentes dans notre ensemble de données, où l'ampleur de leur occurrence se reflète dans leur taille dans le nuage. De plus, le nuage de mots offre une relation qualitative entre ces mots et la variable cible. (corrélation positive en rouge, négative en bleu).
Plus de rouge signifie une plus grande probabilité de changement d'équipement. Sur la figure 8, le cloud mondial est illustré, où nous pouvons effectuer des déductions telles que :
- Les forets sont plus susceptibles d'être endommagés que les tuyaux.
- Le tuyau est l'équipement le moins susceptible d'être changé.
Figure 8: World Cloud dans la section Insights.

Comprendre notre modèle
DataRobot propose de nombreux outils permettant de comprendre les modèles produits et d'évaluer des indicateurs utiles tels que la précision.
Le modèle que nous avons choisi pour l'analyse est mélangeur GLM avancé, qui est également suggéré par DataRobot comme étant le plus précis. Cela peut également être confirmé dans la section L'apprentissage courbes, où ce modèle particulier obtient effectivement le meilleur score dans la métrique de perte logarithmique. Si nous visitons le Vitesse contre précision section, nous pouvons confirmer le fait que les modèles Blender ne sont généralement pas rapides et qu'il faut donc en tenir compte avant de déployer un modèle pour des prédictions en temps réel du modèle.
En visitant le Evaluer section, nous pouvons voir le Tableau des ascenseurs dans la Fig. 9, qui donne la comparaison entre la réponse du modèle choisi (Advanced GLM blender dans ce cas) et les valeurs réelles des données. Ce qui est montré ici est moyenne valeur de la variable cible (qty_remplacée) pour 10 bacs du formation données (chaque case comprend 8 000 lignes de l'ensemble de données), triées de la valeur la plus faible à la valeur la plus élevée. Cette valeur est indiquée à partir des prévisions du modèle (ligne bleue), tandis que la réponse à partir des données réelles est indiquée en orange.
Nous pouvons confirmer que le modèle correspond très bien aux données réelles, bien qu'il sous-estime légèrement la probabilité que l'équipement ne sera pas être remplacé. Cela peut être vu dans la section du graphique où une bosse est visible dans la réponse aux données réelles.
Figure 9 : Tableau de levage pour le modèle sélectionné dans DataRobot. Le prédit la probabilité de la variable cible est en bleu, réel en orange.

Dans la figure 10, DataRobot permet d'évaluer la réponse de l'appelant (ROCHER) courbe, qui donne un aperçu qualitatif et quantitatif de la précision de notre modèle. En d'autres termes, nous pouvons utiliser les courbes ROC pour évaluer notre classificateur binaire avec succès ou non. Sur l'axe horizontal, Taux de faux positifs (FP) est affiché (l'équipement n'a pas besoin d'être remplacé) mais le modèle prévoyait qu'il devait être remplacé), et Taux de vrais positifs (TP) (l'équipement devait être remplacé et le modèle prédit qu'il devrait être remplacé) est représenté sur l'axe vertical. Pour 60 % du taux FP, nous obtenons plus de 90 % dans le taux TP, ce qui permet à notre classificateur de bien faire son travail. DataRobot nous informe que l'ensemble Exactitude de notre classificateur est 0,71, ce qui est un score relativement bon.
Figure 10: La courbe ROC de notre prédicteur binaire.

Impact des fonctionnalités
L'une des fonctionnalités les plus importantes de DataRobot est la Impact des fonctionnalités, qui permet à l'utilisateur de voir l'importance de chaque caractéristique pour la variable cible. Ce point de vue peut orienter les décisions futures et la planification de la stratégie, en ce qui concerne le problème en jeu.
Par exemple, sur la figure 11, l'impact de chaque caractéristique est indiqué en pourcentage sur l'axe horizontal. Le ID du matériau est le prédicteur le plus puissant de qty_remplacée, ce qui signifie que pour certains matériaux (nous avons un numéro d'identification par matériau), il y a plus de chances que l'équipement soit remplacé. D'autres prédicteurs puissants sont également mis en évidence, tels que m_poids qui correspond au poids de chaque unité de machine.
Figure 11: Poids de chaque caractéristique dans la réponse de notre modèle.

Nous pouvons examiner plus en détail comment une variable de notre modèle affecte la réponse de nos modèles. DataRobot peut créer automatiquement des graphiques, qui permettent une analyse quantitative et qualitative des relations entre les valeurs de nos caractéristiques et la variable cible. Nous aimerions produire de telles parcelles pour ID du matériau caractéristique, puisque nous avons conclu qu'ils figuraient parmi les prédicteurs les plus puissants de notre variable cible.
Sur la figure 12, nous pouvons voir ce graphique pour la variable identifiant_matériau, où DataRobot trace les probabilités réelles et prévues de la variable cible, pour chaque valeur de ID du matériau colonne, ainsi que dépendance partielle. Nous pouvons conclure que le modèle prédit bien que certains matériaux sont plus susceptibles d'être remplacés que d'autres, ce qui est logique puisque les propriétés d'un matériau sont un puissant indicateur de son endurance. Dépendance partielle : voici la réponse du modèle au cas où ID du matériau était le seul indépendant variable dans notre modèle. En d'autres termes, il s'agit de la probabilité que cette variable soit la seule caractéristique susceptible de modifier les valeurs de notre ensemble de données.
Figure 12 : Prédictions concernant ID du matériau.

Conclusions
Grâce à l'analyse d'apprentissage automatique fournie par DataRobot, la compagnie pétrolière peut prendre certaines décisions concernant la stratégie à suivre dans le processus de maintenance. Par exemple, au lieu d'entraîner des frais de maintenance périodique, même pour les équipements qui n'ont pas besoin d'être changés, le modèle peut être utilisé pour les prévisions quotidiennes, dès que les données sont chargées pour chacun des équipements.
Ces prévisions peuvent ensuite indiquer les machines qui doivent être remplacées, minimisant ainsi considérablement le risque de blocage de la production de pétrole en raison d'équipements cassés. DataRobot propose des analyses extrêmement utiles, ainsi que l'automatisation de processus fastidieux tels que le déploiement du modèle et la gestion du serveur de prédiction.
Si vous êtes curieux de connaître DataRobot et que vous pensez que votre entreprise peut bénéficier de cette plateforme, n'hésitez pas à nous contacter pour plus d'informations à info@argusa.ch.
Présentation
La technique consistant à prédire si l'équipement matériel va tomber en panne ou non peut s'avérer bénéfique pour les entreprises modernes qui utilisent des machines pour fournir des services.
Prenons l'exemple d'une compagnie de bus qui a récemment acheté une flotte de nouveaux bus. Des pannes de moteur peuvent survenir en raison de l'usure des pièces mécaniques et/ou d'une erreur humaine, ce qui entraînera l'insatisfaction de nombreux clients et une baisse des ventes de billets de la société. Si l'entreprise décide de procéder à un entretien régulier des moteurs des bus, afin de détecter toute panne à venir, cela pourrait réduire le risque associé, mais cela augmenterait les coûts de l'entreprise.
C'est l'une des raisons pour lesquelles la maintenance prédictive est devenue populaire de nos jours, et les grandes entreprises font appel à des data scientists pour créer des modèles d'apprentissage automatique afin d'effectuer de telles prédictions. Un secteur de marché dans lequel les bénéfices dépendent de manière significative des défaillances des machines est le marché du pétrole. Chaque fois que l'équipement de forage tombe en panne en cours de fonctionnement, la production d'extraction de pétrole s'arrête. En conséquence, l'offre de pétrole sur le marché diminue, ce qui entraîne des pertes pour l'entreprise. et potentiellement en cas de perturbation de l'approvisionnement et des marchés énergétiques mondiaux.
La toute prochaine question qui nous vient à l'esprit est de savoir si nous pourrions proposer une analyse en tant que data scientists, qui aiderait les entreprises à performer prédictions pour savoir si leurs machines ont besoin d'entretien. Heureusement, l'apprentissage automatique peut également être utilisé dans un tel scénario, où, en utilisant les bonnes données, nous pouvons développer des modèles qui nous permettraient de savoir si une telle entreprise doit procéder à des actions de maintenance.
Apprentissage automatique automatique avec DataRobot
Il faut beaucoup de temps et de dévouement pour maîtriser les notions de base de l'apprentissage automatique, et il faut encore plus de temps pour former et produire des modèles qui peuvent être mis en production et exposés aux utilisateurs finaux du côté commercial. Les raisons en sont la manipulation manuelle des données et l'écriture de code pour entraîner, tester, valider et comparer différents modèles.
Robot de données a développé une plateforme qui permet Apprentissage automatique (AML). Cette plateforme libère le data scientist ou l'analyste des données des tâches fastidieuses et répétitives liées à l'écriture du code de chaque modèle à entraîner, tester et comparer. DataRobot simplifie également considérablement le processus de transfert d'un modèle vers l'environnement de production car il permet le déploiement et la surveillance automatiques des modèles d'apprentissage automatique.
L'impact de ce produit est énorme dans les entreprises modernes, car elles peuvent intégrer des modèles d'apprentissage automatique en production afin d'optimiser leurs performances. Ici à Argouse, nous sommes fiers d'être partenaires de DataRobot, et avec cet article, nous aimerions démontrer comment l'application DataRobot peut nous aider à comprendre et à analyser les problèmes commerciaux et à tirer des conclusions utiles.
Dans cet exemple, nous utilisons un ensemble de données qui contient des informations sur quantité de machines qui ont été remplacées au cours d'une période donnée. Cet ensemble de données fait partie d'une riche collection de cas d'utilisation, qui ne sont disponibles que pour les partenaires de DataRobot, et il a été délibérément anonymisé pour des raisons de confidentialité. L'objectif de l'analyse est d'utiliser la fonctionnalité AML de DataRobot pour identifier les paramètres, pertinents pour l'ensemble de données, qui peuvent augmenter ou diminuer la probabilité de remplacement du matériel, c'est-à-dire une défaillance des machines.
Description de l'ensemble de données
L'ensemble de données comprend 10000 lignes X 28 des caractéristiques (colonnes) contenant des informations sur les matériaux de la machine (telles que le poids, les identifiants des matériaux, etc.), plus une variable booléenne (qty_remplacée) qui représente le fait qu'un remplacement a eu lieu (valeur 1) ou non (valeur 0). Par conséquent, la nature du problème auquel nous sommes confrontés est classification binaire.
Cette variable est notre variable cible c'est-à-dire que nous allons construire des modèles dans DataRobot afin de prédire la probabilité d'un changement dans l'équipement de forage.
Le fonctionnalités que nous utiliserons dans notre modèle sont composés de types catégoriels, numériques et booléens, et ils agissent comme des paramètres libres, dans le sens où DataRobot essaiera de construire un modèle en faisant varier leurs valeurs. Des exemples de telles caractéristiques dans notre ensemble de données sont le poids des composants de la machine et le type de matériau qui les compose.
Analyse DataRobot
En tenant compte des besoins des entreprises modernes, DataRobot a accru la flexibilité d'utilisation de son produit, en proposant une application Web et une API Python. Dans cet exemple, nous allons démontrer la puissance de DataRobot dans l'application Web.
Lorsque nous visitons la page Web de l'application, nous pouvons importer nos données de nombreuses manières : en téléchargeant un fichier local (tel que des fichiers csv ou Excel), en utilisant une URL (par exemple pour les données stockées dans AWS), en utilisant des fichiers HDFS si nous utilisons le système Hadoop, ou en nous connectant à une base de données relationnelle (par exemple SQL Server).
Une nouvelle fonctionnalité de DataRobot est que nous pouvons parcourir le catalogue AI, qui comprend les projets sur lesquels nous avons travaillé et partagés avec notre équipe. Il permet à tous les collaborateurs d'accéder facilement aux données nécessaires pour répondre aux problèmes commerciaux, de manière cohérente et sécurisée.
Figure 1: la page DataRobot sur laquelle l'utilisateur peut télécharger des données de différentes manières.

Après cette petite introduction, importons quelques données ! Nous choisissons de télécharger des données à partir d'un fichier local et pour l'ensemble de données actuel, il faut environ DataRobot 3 secondes pour lire et pré-analyser les données. La pré-analyse comprend des calculs statistiques pour chacune des colonnes de notre ensemble de données, ainsi que des informations sur la distribution des données sous forme d'histogrammes. La page principale de DataRobot après le téléchargement de nos données comprend un champ pour saisir la variable cible, un bouton avec le choix du mode d'analyse que nous voulons effectuer et une option pour activer un Séries chronologiques modélisation, au cas où nos données démontreraient une saisonnalité et que nous aurions aimé prévoir des variables dans le futur.
Quand on choisit la variable qty_remplacée en tant que variable cible, DataRobot propose l'histogramme de ces observations, ainsi que la reconnaissance automatique de l'analyse d'apprentissage automatique dont nos données ont besoin (classification). Le gros bouton Démarrer est là pour lancer l'analyse, et nous pouvons choisir le Mode de modélisation que nous préférons. Les choix sont les suivants :
- Pilote automatique, où les algorithmes DataRobot s'exécutent chaque fonctionnement automatique de l'analyse des données à la création de modèles.
- Rapide, qui offre les mêmes fonctionnalités que le pilote automatique, mais qui exécute l'analyse sur un sous-ensemble de nos données. Excellente option si notre ensemble de données est énorme et que nous voulons effectuer rapidement une modélisation.
- Manuel, où nous avons le contrôle total de l'analyse, en choisissant les modèles que nous allons utiliser pour nos données.
Figure 2: Après avoir téléchargé nos données, nous pouvons configurer l'analyse en fonction de nos besoins.

Dans cet exemple, nous allons utiliser le Pilote automatique option. DataRobot suggère également la fonction de pénalité que nous devrions utiliser pour mesurer la précision de nos modèles. Dans notre cas, la meilleure fonction est Perte de journal fonction.
Avant de passer à l'analyse, nous pouvons examiner rapidement les caractéristiques de nos données et inspecter leurs propriétés statistiques. DataRobot offre un aperçu des données brutes, les histogrammes de la distribution de chaque caractéristique et une reconnaissance automatique du type de variable de chaque caractéristique (catégorique, booléenne, etc.). Par exemple, nous pouvons voir que notre variable cible, qui est booléenne, a une valeur moyenne de 0,57 et un écart type de 0,50, ce qui nous indique immédiatement que notre variable cible est adéquate équilibré. L'équilibre, pour un problème de classification, fait référence à la propriété d'avoir un nombre égal ou presque égal d'observations pour les deux résultats (0 ou 1 dans ce cas). Pour notre analyse d'apprentissage automatique, les résultats devraient permettre de prédire la probabilité que certains équipements aient besoin d'être remplacés. Ces probabilités se présenteront sous forme de valeurs continues, de 0 à 1, et toute valeur inférieure à 0,5 signifierait qu'il n'y a pas de remplacement, tandis qu'une valeur supérieure à 0,5 signifierait un remplacement.
Figure 3: DataRobot offre une vue statistique de nos données avant de commencer à créer des modèles.

Dans la même liste, nous pouvons également cliquer sur une fonctionnalité et DataRobot dessinera automatiquement un histogramme pour nous. Par exemple, lorsque nous cliquons sur m_poids variable, nous pouvons inspecter la répartition des poids de nos équipements. Nous en concluons immédiatement que nos machines sont pour la plupart « légères », mais certaines unités sont nettement plus lourdes.
Figure 4: Histogramme du m_poids variable. Les valeurs de l'axe horizontal sont exprimées en unités abstraites, tandis que l'axe vertical fait référence au nombre de lignes qui présentent ces valeurs.

Passons maintenant à la partie amusante !
Nous cliquons sur le Démarrer bouton et nous utilisons l'option par défaut de Pilote automatique afin de permettre à DataRobot de fonctionner automatiquement ingénierie des fonctionnalités, qui comprend de nombreuses tâches fastidieuses telles que l'identification des valeurs manquantes et leur imputation, la mesure de la corrélation entre les caractéristiques, la création automatique d'une liste de caractéristiques en fonction de leur importance. Cette fonctionnalité peut être extrêmement utile à l'utilisateur de DataRobot en termes de temps et d'efforts.
Sur la figure 5, les caractéristiques de l'ensemble de données sont présentées, classées par importance, qui est une mesure statistique de l'impact de chaque caractéristique sur la variable cible. Cette vue est très pratique car nous pouvons avoir une première idée des relations entre la variable cible et notre ensemble de données.
Figure 5: affichage depuis le volet de chargement des données dans DataRobot après le lancement de l'analyse.

Dans le même ordre d'idées, nous remarquons Liste des fonctionnalités bouton, où nous pouvons voir une liste générée automatiquement de collections de fonctionnalités, avec un nombre différent de fonctionnalités. DataRobot utilise des sous-ensembles de nos données initiales (le long de l'axe des colonnes) afin de réduire le nombre de fonctionnalités. En général, un modèle plus simple est toujours plus favorable qu'un modèle plus complexe, à condition que partialité et écart ne vous surindemnisez pas ou ne vous sous-indemnisez pas les uns les autres. DataRobot a automatiquement créé une liste de 12 caractéristiques (en dehors de la version initiale) 28). Outre les avantages précédents, cela se traduit par des temps de calcul plus courts et une interprétation plus facile des résultats. Cependant, nous sommes toujours libres de choisir la liste initiale qui inclut toutes les fonctionnalités, ou même de créer nos propres listes.
Après l'ingénierie initiale des fonctionnalités, le pilote automatique commence à créer les premiers modèles. Un total de 75 les modèles sont exécutés automatiquement sur nos données en moins de 20 minutes, mais ce nombre est largement influencé par la taille des données et la vitesse du réseau. Il est important de mentionner que même si DataRobot continue de créer des modèles, nous sommes libres de travailler dans l'application et d'explorer tous les modèles qui ont été créés jusqu'à présent. Notez toutefois que puisque DataRobot est conçu pour effectuer une analyse d'apprentissage automatique de la manière la plus efficace, il effectue Validation croisée k-fold afin d'attribuer des notes aux modèles. Cette technique est incluse dans les meilleures pratiques de l'apprentissage automatique afin d'éviter l'introduction de biais dans nos prédictions et d'en maximiser la précision. La manière générale dont cela se fait dans DataRobot est
- Les données sont mélangées de manière aléatoire pour chaque colonne.
- Le données d'entraînement (80 %) pourcentage de notre ensemble de données) sont divisés en k = 5 groupes.
- Un groupe des groupes k = 5 est réservé à la validation de nos modèles, c'est-à-dire à la mesure de la précision du modèle. Ensuite, l'entraînement du modèle est effectué avec les 4 autres groupes. Le modèle est finalement validé sur le groupe réservé.
- L'étape précédente est répétée k = 5 fois, en utilisant à chaque fois un groupe différent pour la validation de nos modèles.
- Le résultat final est considéré comme la moyenne de ces scores de validation multipliés par 5.
Le reste des 20 % de nos données de l'étape 2 sont réservées en tant que Rétendez pour la validation finale de nos modèles. Comme étape supplémentaire pour améliorer la précision, DataRobot permet de tester notre modèle sur les données Holdout uniquement en tant qu'étape finale. Ceci est effectué afin de réduire le biais dans la sélection du modèle que l'utilisateur effectuera.
Une fois l'analyse terminée et les modèles créés, ils sont triés dans le Classement section en fonction du score de chaque modèle dans le Perte de journal métrique, où des valeurs plus petites donnent des modèles plus précis. Comme nous l'avons mentionné au début, DataRobot est conçu pour les besoins des entreprises modernes. Il comprend donc également des modèles qui ont fait un excellent travail en termes de vitesse de calcul et précision. Cela signifie que ces modèles sont de très bons candidats pour déploiement afin de réaliser des prévisions en production. DataRobot nous renseigne sur le modèle le plus adapté au déploiement.
La précision est donnée par deux valeurs dans le classement : Le score de validation est présenté dans Validation champ, qui n'est que la précision de notre modèle, mais en utilisant un seul bloc de nos données d'entraînement pour la validation, tandis que le score de validation croisée peut être consulté dans le Validation croisée champ. Entre les deux, il est recommandé de privilégier le score de validation croisée lors du choix de notre modèle. Nous avons également la possibilité de filtrer le classement en fonction des listes de fonctionnalités que nous avons incluses dans l'analyse. Dans cet exemple, nous utiliserons la liste générée automatiquement par DataRobot, qui est construite en utilisant 64 % de nos données. Les modèles les plus précis, comme le montre la figure 6, sont mixeur modèles qui sont des mélanges de différents modèles.
Figure 6: Classement des modèles DataRobot pour l'analyse de maintenance prédictive.

Nous pouvons recevoir des informations détaillées sur chaque modèle en un seul clic sur son nom. Par exemple, le Décrivez La section fournit des informations sur le plan, c'est-à-dire le diagramme de flux des opérations DataRobot qui ont été effectuées pour ce modèle, sur la vitesse de calcul, et nous pouvons même lire le fichier journal brut. Un exemple du schéma directeur du Blender GLM avancé le plan est illustré à la figure 7. Blender signifie ici « mélange de modèles », et en effet, la première étape du flux a été la phase de prétraitement de chacun de ces modèles.
Figure 7: Schéma directeur du Blender GLM avancé modèle.

Informations sur les données
Une fois l'analyse de DataRobot terminée, nous pouvons visiter le Perspectives section, pour évaluer certaines caractéristiques qualitatives de notre ensemble de données.
Par exemple, dans le Nuage de mots onglet, nous pouvons voir un nuage de mots avec les étiquettes les plus fréquentes dans notre ensemble de données, où l'ampleur de leur occurrence se reflète dans leur taille dans le nuage. De plus, le nuage de mots offre une relation qualitative entre ces mots et la variable cible. (corrélation positive en rouge, négative en bleu).
Plus de rouge signifie une plus grande probabilité de changement d'équipement. Sur la figure 8, le cloud mondial est illustré, où nous pouvons effectuer des déductions telles que :
- Les forets sont plus susceptibles d'être endommagés que les tuyaux.
- Le tuyau est l'équipement le moins susceptible d'être changé.
Figure 8: World Cloud dans la section Insights.

Comprendre notre modèle
DataRobot propose de nombreux outils permettant de comprendre les modèles produits et d'évaluer des indicateurs utiles tels que la précision.
Le modèle que nous avons choisi pour l'analyse est mélangeur GLM avancé, qui est également suggéré par DataRobot comme étant le plus précis. Cela peut également être confirmé dans la section L'apprentissage courbes, où ce modèle particulier obtient effectivement le meilleur score dans la métrique de perte logarithmique. Si nous visitons le Vitesse contre précision section, nous pouvons confirmer le fait que les modèles Blender ne sont généralement pas rapides et qu'il faut donc en tenir compte avant de déployer un modèle pour des prédictions en temps réel du modèle.
En visitant le Evaluer section, nous pouvons voir le Tableau des ascenseurs dans la Fig. 9, qui donne la comparaison entre la réponse du modèle choisi (Advanced GLM blender dans ce cas) et les valeurs réelles des données. Ce qui est montré ici est moyenne valeur de la variable cible (qty_remplacée) pour 10 bacs du formation données (chaque case comprend 8 000 lignes de l'ensemble de données), triées de la valeur la plus faible à la valeur la plus élevée. Cette valeur est indiquée à partir des prévisions du modèle (ligne bleue), tandis que la réponse à partir des données réelles est indiquée en orange.
Nous pouvons confirmer que le modèle correspond très bien aux données réelles, bien qu'il sous-estime légèrement la probabilité que l'équipement ne sera pas être remplacé. Cela peut être vu dans la section du graphique où une bosse est visible dans la réponse aux données réelles.
Figure 9 : Tableau de levage pour le modèle sélectionné dans DataRobot. Le prédit la probabilité de la variable cible est en bleu, réel en orange.

Dans la figure 10, DataRobot permet d'évaluer la réponse de l'appelant (ROCHER) courbe, qui donne un aperçu qualitatif et quantitatif de la précision de notre modèle. En d'autres termes, nous pouvons utiliser les courbes ROC pour évaluer notre classificateur binaire avec succès ou non. Sur l'axe horizontal, Taux de faux positifs (FP) est affiché (l'équipement n'a pas besoin d'être remplacé) mais le modèle prévoyait qu'il devait être remplacé), et Taux de vrais positifs (TP) (l'équipement devait être remplacé et le modèle prédit qu'il devrait être remplacé) est représenté sur l'axe vertical. Pour 60 % du taux FP, nous obtenons plus de 90 % dans le taux TP, ce qui permet à notre classificateur de bien faire son travail. DataRobot nous informe que l'ensemble Exactitude de notre classificateur est 0,71, ce qui est un score relativement bon.
Figure 10: La courbe ROC de notre prédicteur binaire.

Impact des fonctionnalités
L'une des fonctionnalités les plus importantes de DataRobot est la Impact des fonctionnalités, qui permet à l'utilisateur de voir l'importance de chaque caractéristique pour la variable cible. Ce point de vue peut orienter les décisions futures et la planification de la stratégie, en ce qui concerne le problème en jeu.
Par exemple, sur la figure 11, l'impact de chaque caractéristique est indiqué en pourcentage sur l'axe horizontal. Le ID du matériau est le prédicteur le plus puissant de qty_remplacée, ce qui signifie que pour certains matériaux (nous avons un numéro d'identification par matériau), il y a plus de chances que l'équipement soit remplacé. D'autres prédicteurs puissants sont également mis en évidence, tels que m_poids qui correspond au poids de chaque unité de machine.
Figure 11: Poids de chaque caractéristique dans la réponse de notre modèle.

Nous pouvons examiner plus en détail comment une variable de notre modèle affecte la réponse de nos modèles. DataRobot peut créer automatiquement des graphiques, qui permettent une analyse quantitative et qualitative des relations entre les valeurs de nos caractéristiques et la variable cible. Nous aimerions produire de telles parcelles pour ID du matériau caractéristique, puisque nous avons conclu qu'ils figuraient parmi les prédicteurs les plus puissants de notre variable cible.
Sur la figure 12, nous pouvons voir ce graphique pour la variable identifiant_matériau, où DataRobot trace les probabilités réelles et prévues de la variable cible, pour chaque valeur de ID du matériau colonne, ainsi que dépendance partielle. Nous pouvons conclure que le modèle prédit bien que certains matériaux sont plus susceptibles d'être remplacés que d'autres, ce qui est logique puisque les propriétés d'un matériau sont un puissant indicateur de son endurance. Dépendance partielle : voici la réponse du modèle au cas où ID du matériau était le seul indépendant variable dans notre modèle. En d'autres termes, il s'agit de la probabilité que cette variable soit la seule caractéristique susceptible de modifier les valeurs de notre ensemble de données.
Figure 12 : Prédictions concernant ID du matériau.

Conclusions
Grâce à l'analyse d'apprentissage automatique fournie par DataRobot, la compagnie pétrolière peut prendre certaines décisions concernant la stratégie à suivre dans le processus de maintenance. Par exemple, au lieu d'entraîner des frais de maintenance périodique, même pour les équipements qui n'ont pas besoin d'être changés, le modèle peut être utilisé pour les prévisions quotidiennes, dès que les données sont chargées pour chacun des équipements.
Ces prévisions peuvent ensuite indiquer les machines qui doivent être remplacées, minimisant ainsi considérablement le risque de blocage de la production de pétrole en raison d'équipements cassés. DataRobot propose des analyses extrêmement utiles, ainsi que l'automatisation de processus fastidieux tels que le déploiement du modèle et la gestion du serveur de prédiction.
Si vous êtes curieux de connaître DataRobot et que vous pensez que votre entreprise peut bénéficier de cette plateforme, n'hésitez pas à nous contacter pour plus d'informations à info@argusa.ch.
