Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Construire un détecteur d'anomalies de la qualité de l'air à l'aide d'Amazon Lookout for Metrics

Aujourd'hui, la pollution de l'air est un problème environnemental familier qui crée de graves problèmes respiratoires et cardiaques, qui constituent de graves menaces pour la santé. Les pluies acides, l'appauvrissement de la couche d'ozone et le réchauffement climatique sont également des conséquences néfastes de la pollution atmosphérique. Une surveillance et une automatisation intelligentes sont nécessaires pour prévenir les problèmes de santé graves et, dans les cas extrêmes, les situations mettant la vie en danger. La qualité de l'air est mesurée à l'aide de la concentration de polluants dans l'air. Il est crucial d'identifier les symptômes tôt et de contrôler le niveau de polluant avant qu'il ne soit dangereux. Le processus d'identification de la qualité de l'air et de l'anomalie dans le poids des polluants, et le diagnostic rapide de la cause profonde, est difficile, coûteux et sujet aux erreurs.

Le processus d'application de solutions basées sur l'IA et l'apprentissage automatique (ML) pour trouver des anomalies de données implique une grande complexité dans l'ingestion, la conservation et la préparation des données dans le bon format, puis l'optimisation et le maintien de l'efficacité de ces modèles ML sur de longues périodes de temps. temps. Cela a été l'un des obstacles à la mise en œuvre et à la mise à l'échelle rapides de l'adoption des fonctionnalités de ML.

Cet article vous montre comment utiliser une solution intégrée avec Amazon Lookout pour les métriques ainsi que le Firehose de données Amazon Kinesis pour briser ces barrières en ingérant rapidement et facilement des données en streaming, et en détectant par la suite les anomalies dans les indicateurs de performance clés qui vous intéressent.

Lookout for Metrics détecte et diagnostique automatiquement les anomalies (valeurs aberrantes par rapport à la norme) dans les données commerciales et opérationnelles. Il s'agit d'un service ML entièrement géré qui utilise des modèles ML spécialisés pour détecter les anomalies en fonction des caractéristiques de vos données. Par exemple, les tendances et la saisonnalité sont deux caractéristiques des métriques de séries chronologiques dans lesquelles la détection d'anomalies basée sur un seuil ne fonctionne pas. Les tendances sont des variations continues (augmentations ou diminutions) de la valeur d'une métrique. D'autre part, la saisonnalité est constituée de modèles périodiques qui se produisent dans un système, s'élevant généralement au-dessus d'une ligne de base, puis diminuant à nouveau. Vous n'avez pas besoin d'expérience en ML pour utiliser Lookout for Metrics.

Nous démontrons un scénario commun de surveillance de la qualité de l'air, dans lequel nous détectons des anomalies dans la concentration de polluants dans l'air. À la fin de cet article, vous apprendrez à utiliser ces services gérés d'AWS pour aider à prévenir les problèmes de santé et le réchauffement climatique. Vous pouvez appliquer cette solution à d'autres cas d'utilisation pour une meilleure gestion de l'environnement, comme la détection d'anomalies dans la qualité de l'eau, la qualité des terres et les modèles de consommation d'énergie, pour n'en nommer que quelques-uns.

Vue d'ensemble de la solution

L'architecture se compose de trois blocs fonctionnels :

  • Capteurs sans fil placés à des endroits stratégiques pour détecter le niveau de concentration de monoxyde de carbone (CO), de dioxyde de soufre (SO2) et de dioxyde d'azote (NO2) dans l'air
  • Ingestion et stockage de données en streaming
  • Détection et notification d'anomalies

La solution fournit un chemin de données entièrement automatisé depuis les capteurs jusqu'à une notification envoyée à l'utilisateur. Vous pouvez également interagir avec la solution à l'aide de l'interface utilisateur Lookout for Metrics afin d'analyser les anomalies identifiées.

Le diagramme suivant illustre notre architecture de solution.

Pré-requis

Vous avez besoin des prérequis suivants avant de pouvoir continuer avec la solution. Pour cet article, nous utilisons la région us-east-1.

  1. Téléchargez le script Python (publier.py) et le fichier de données du GitHub repo.
  2. Ouvrez le live_data.csv fichier dans votre éditeur préféré et remplacez les dates par la date d'aujourd'hui et celle de demain. Par exemple, si la date d'aujourd'hui est le 8 juillet 2022, remplacez 2022-03-25 comprenant 2022-07-08. Gardez le même format. Ceci est nécessaire pour simuler les données du capteur pour la date actuelle à l'aide du script du simulateur IoT.
  3. Créer un Service de stockage simple Amazon (Amazon S3) compartiment et un dossier nommé air-quality. Créer un sous-dossier à l'intérieur air-quality nommé historical. Pour obtenir des instructions, consultez Créer un dossier.
  4. Télécharger le live_data.csv fichier dans le compartiment S3 racine et historical_data.json dans le dossier historique.
  5. Créer un AWSCloud9 environnement de développement, que nous utilisons pour exécuter le programme de simulation Python afin de créer des données de capteur pour cette solution.

Ingérer et transformer des données à l'aide d'AWS IoT Core et de Kinesis Data Firehose

Nous utilisons un flux de diffusion Kinesis Data Firehose pour ingérer les données de streaming de Noyau AWS IoT et envoyez-le à Amazon S3. Effectuez les étapes suivantes :

  1. Sur la console Kinesis Data Firehose, choisissez Créer un flux de diffusion.
  2. Pour Identifier, choisissez PUT direct.
  3. Pour dentaire, choisissez Amazon S3.
  4. Pour Nom du flux de diffusion, saisissez un nom pour votre flux de diffusion.
    Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  5. Pour Seau S3, saisissez le bucket que vous avez créé comme prérequis.
  6. Entrez des valeurs pour Préfixe de compartiment S3 ainsi que le Préfixe de sortie d'erreur de compartiment S3.L'un des points clés à noter est la configuration du préfixe personnalisé qui est configuré pour la destination Amazon S3. Ce modèle de préfixe garantit que les données sont créées dans le compartiment S3 conformément à la hiérarchie de préfixes attendue par Lookout for Metrics. (Plus d'informations à ce sujet plus loin dans cet article.) Pour plus d'informations sur les préfixes personnalisés, consultez Préfixes personnalisés pour les objets Amazon S3.
    Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  7. Pour Intervalle de tampon, Entrer 60.
    Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  8. Selectionnez Créer ou mettre à jour le rôle IAM.
  9. Selectionnez Créer un flux de diffusion.
    Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
    Nous configurons maintenant AWS IoT Core et exécutons le programme de simulation de la qualité de l'air.
  10. Sur la console AWS IoT Core, créer une stratégie AWS IoT appelé administrateur.
  11. Dans le volet de navigation sous Routage des messages, choisissez Règles.
  12. Selectionnez Créer une règle.
  13. Créer une règle avec le Action Kinesis Data Firehose (firehose).
    Cela envoie les données d'un message MQTT à un flux de diffusion Kinesis Data Firehose.
  14. Selectionnez Création.
    Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  15. Créer un objet AWS IoT avec le nom Test-Thing et joignez la stratégie que vous avez créée.
  16. Téléchargez le certificat, la clé publique, la clé privée, le certificat d'appareil et l'autorité de certification racine pour AWS IoT Core.
  17. Enregistrez chacun des fichiers téléchargés sur le certificates sous-répertoire que vous avez créé précédemment.
    Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  18. Téléchargez Publish.py sur le iot-test-publish dossier.
  19. Sur la console AWS IoT Core, dans le volet de navigation, choisissez Paramètres.
  20. Sous Point de terminaison personnalisé, copiez le point de terminaison.
    Cette URL de point de terminaison personnalisé AWS IoT Core est personnelle à votre compte AWS et à votre région.
  21. remplacer customEndpointUrl avec votre URL de point de terminaison personnalisé AWS IoT Core, des certificats avec le nom du certificat et Your_S3_Bucket_Name avec le nom de votre compartiment S3.
    Ensuite, vous installez pip et le kit SDK AWS IoT pour Python.
  22. Connectez-vous à AWS Cloud9 et créez un répertoire de travail dans votre environnement de développement. Par exemple: aq-iot-publish.
  23. Créez un sous-répertoire pour les certificats dans votre nouveau répertoire de travail. Par exemple: certificates.
  24. Installez le kit SDK AWS IoT pour Python v2 en exécutant ce qui suit à partir de la ligne de commande.
    pip install awsiotsdk

  25. Pour tester le pipeline de données, exécutez la commande suivante :
    python3 publish.py

Vous pouvez voir la charge utile dans la capture d'écran suivante.

Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Enfin, les données sont livrées au compartiment S3 spécifié dans la structure de préfixe.

Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Les données des fichiers sont les suivantes :

  • {"TIMESTAMP":"2022-03-20 00:00","LOCATION_ID":"B-101","CO":2.6,"SO2":62,"NO2":57}
  • {"TIMESTAMP":"2022-03-20 00:05","LOCATION_ID":"B-101","CO":3.9,"SO2":60,"NO2":73}

Les horodatages montrent que chaque fichier contient des données pour des intervalles de 5 minutes.

Avec un minimum de code, nous avons maintenant ingéré les données du capteur, créé un flux d'entrée à partir des données ingérées et stocké les données dans un compartiment S3 en fonction des exigences de Lookout for Metrics.

Dans les sections suivantes, nous examinons plus en détail les constructions dans Lookout for Metrics et la facilité de configuration de ces concepts à l'aide de la console Lookout for Metrics.

Créer un détecteur

Un détecteur est une ressource Lookout for Metrics qui surveille un jeu de données et identifie les anomalies à une fréquence prédéfinie. Les détecteurs utilisent ML pour trouver des modèles dans les données et faire la distinction entre les variations attendues des données et les anomalies légitimes. Pour améliorer ses performances, un détecteur en apprend plus sur vos données au fil du temps.

Dans notre cas d'utilisation, le détecteur analyse les données du capteur toutes les 5 minutes.

Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Pour créer le détecteur, accédez à la console Lookout for Metrics et choisissez Créer un détecteur. Indiquez le nom et la description (facultatif) du détecteur, ainsi que l'intervalle de 5 minutes.

Vos données sont chiffrées par défaut avec une clé qu'AWS possède et gère pour vous. Vous pouvez également configurer si vous souhaitez utiliser une clé de chiffrement différente de celle utilisée par défaut.

Pointons maintenant ce détecteur vers les données sur lesquelles vous souhaitez qu'il exécute la détection d'anomalies.

Créer un jeu de données

Un ensemble de données indique au détecteur où trouver vos données et quelles métriques analyser pour les anomalies. Pour créer un ensemble de données, procédez comme suit :

  1. Sur la console Amazon Lookout for Metrics, accédez à votre détecteur.
  2. Selectionnez Ajouter un ensemble de données.
    Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  3. Pour Nom, entrez un nom (par exemple, air-quality-dataset).
  4. Pour La source de données, choisissez votre source de données (pour cet article, Amazon S3).
    Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  5. Pour Mode détecteur, sélectionnez votre mode (pour ce post, Cyber ​​reconnaissance).

Avec Amazon S3, vous pouvez créer un détecteur selon deux modes :

    • Backtest – Ce mode est utilisé pour trouver des anomalies dans les données historiques. Il a besoin que tous les enregistrements soient consolidés dans un seul fichier.
    • Cyber ​​reconnaissance – Ce mode est utilisé pour détecter les anomalies dans les données en direct. Nous utilisons ce mode avec notre cas d'utilisation car nous voulons détecter les anomalies lorsque nous recevons des données sur les polluants atmosphériques du capteur de surveillance de l'air.
  1. Entrez le chemin S3 pour le dossier S3 en direct et le modèle de chemin.
  2. Pour Intervalle de source de données, choisissez Intervalles de 5 minutes.Si vous disposez de données historiques à partir desquelles le détecteur peut apprendre des modèles, vous pouvez les fournir lors de cette configuration. Les données doivent être dans le même format que celui que vous utilisez pour effectuer un backtest. La fourniture de données historiques accélère le processus de formation du modèle ML. Si ce n'est pas disponible, le détecteur continu attend que suffisamment de données soient disponibles avant de faire des inférences.
  3. Pour cet article, nous avons déjà des données historiques, alors sélectionnez Utiliser les données historiques.
  4. Entrez le chemin S3 de historical_data.json.
  5. Pour Format de fichier, sélectionnez Lignes JSON.
    Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

À ce stade, Lookout for Metrics accède à la source de données et valide s'il peut analyser les données. Si l'analyse est réussie, il vous donne un message "Validation réussie" et vous amène à la page suivante, où vous configurez les mesures, les dimensions et les horodatages.

Configurer des mesures, des dimensions et des horodatages

Les mesures définissez les KPI pour lesquels vous souhaitez suivre les anomalies. Vous pouvez ajouter jusqu'à cinq mesures par détecteur. Les champs utilisés pour créer des KPI à partir de vos données sources doivent être au format numérique. Les KPI peuvent être actuellement définis en agrégeant les enregistrements dans l'intervalle de temps en effectuant une SOMME ou une MOYENNE.

Dimensions vous donne la possibilité de découper et de découper vos données en définissant des catégories ou des segments. Cela vous permet de suivre les anomalies pour un sous-ensemble de l'ensemble des données pour lesquelles une mesure particulière est applicable.

Dans notre cas d'utilisation, nous ajoutons trois mesures, qui calculent l'AVG des objets vus dans l'intervalle de 5 minutes, et n'ont qu'une seule dimension, pour laquelle la concentration de polluants est mesurée.

Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Chaque enregistrement de l'ensemble de données doit avoir un horodatage. La configuration suivante vous permet de choisir le champ qui représente la valeur d'horodatage ainsi que le format de l'horodatage.

Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

La page suivante vous permet de revoir tous les détails que vous avez ajoutés, puis d'enregistrer et d'activer le détecteur.

Le détecteur commence alors à apprendre le flux de données dans la source de données. A ce stade, l'état du détecteur passe à Initializing.

Il est important de noter la quantité minimale de données requise avant que Lookout for Metrics puisse commencer à détecter les anomalies. Pour plus d'informations sur les exigences et les limites, voir Recherchez les quotas de métriques.

Avec une configuration minimale, vous avez créé votre détecteur, l'avez dirigé vers un ensemble de données et défini les métriques dans lesquelles vous souhaitez que Lookout for Metrics détecte les anomalies.

Visualisez les anomalies

Lookout for Metrics offre une riche expérience d'interface utilisateur aux utilisateurs qui souhaitent utiliser le Console de gestion AWS pour analyser les anomalies détectées. Il offre également la possibilité d'interroger les anomalies via des API.

Examinons un exemple d'anomalie détectée dans notre cas d'utilisation des données sur la qualité de l'air. La capture d'écran suivante montre une anomalie détectée dans la concentration de CO dans l'air à l'heure et à la date désignées avec un score de gravité de 93. Elle montre également le pourcentage de contribution de la dimension à l'anomalie. Dans ce cas, la contribution de 100 % provient de la dimension d'ID d'emplacement B-101.

Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Créer des alertes

Lookout for Metrics vous permet d'envoyer des alertes à l'aide de divers canaux. Vous pouvez configurer le seuil du score de gravité des anomalies auquel les alertes doivent être déclenchées.

Dans notre cas d'utilisation, nous configurons des alertes à envoyer à un Service de notification simple d'Amazon (Amazon SNS), qui à son tour envoie un SMS. Les captures d'écran suivantes montrent les détails de la configuration.

Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez également utiliser une alerte pour déclencher des automatisations en utilisant AWS Lambda afin de piloter des opérations basées sur l'API sur AWS IoT Core.

Conclusion

Dans cet article, nous vous avons montré à quel point il est facile d'utiliser Lookout for Metrics et Kinesis Data Firehose pour supprimer les charges lourdes indifférenciées impliquées dans la gestion du cycle de vie de bout en bout de la création d'applications de détection d'anomalies alimentées par ML. Cette solution peut vous aider à accélérer votre capacité à trouver des anomalies dans les mesures commerciales clés et vous permettre de concentrer vos efforts sur la croissance et l'amélioration de votre entreprise.

Nous vous encourageons à en apprendre davantage en visitant le Guide du développeur Amazon Lookout for Metrics et essayez la solution de bout en bout activée par ces services avec un ensemble de données pertinent pour les KPI de votre entreprise.


A propos de l'auteure

Créez un détecteur d'anomalies de qualité de l'air à l'aide d'Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dhiraj Thakur est un architecte de solutions avec Amazon Web Services. Il travaille avec les clients et partenaires AWS pour fournir des conseils sur l'adoption, la migration et la stratégie du cloud d'entreprise. Il est passionné de technologie et aime créer et expérimenter dans le domaine de l'analyse et de l'IA / ML.

Horodatage:

Plus de Apprentissage automatique AWS