Maison Périphériques technologiques IA Problème de détection d'anomalies basé sur des séries chronologiques

Problème de détection d'anomalies basé sur des séries chronologiques

Oct 09, 2023 pm 04:33 PM
时间序列 异常检测 basé sur

Problème de détection danomalies basé sur des séries chronologiques

Le problème de détection d'anomalies basées sur des séries chronologiques nécessite des exemples de code spécifiques

Les données de séries chronologiques sont des données enregistrées dans un certain ordre au fil du temps, telles que les cours des actions, les changements de température, la circulation, etc. Dans les applications pratiques, la détection des anomalies dans les données de séries chronologiques revêt une grande importance. Une valeur aberrante peut être une valeur extrême incompatible avec des données normales, du bruit, des données erronées ou un événement inattendu dans une situation spécifique. La détection des anomalies peut nous aider à découvrir ces anomalies et à prendre les mesures appropriées.

Il existe de nombreuses méthodes couramment utilisées pour résoudre les problèmes de détection d'anomalies dans les séries chronologiques, notamment les méthodes statistiques, les méthodes d'apprentissage automatique et les méthodes d'apprentissage profond. Cet article présentera deux algorithmes de détection d'anomalies de séries chronologiques basés sur des méthodes statistiques et des méthodes d'apprentissage automatique, et fournira des exemples de code correspondants.

1. Algorithme de détection d'anomalies basé sur des méthodes statistiques

1.1 Méthode moyenne-variance

La méthode moyenne-variance est l'une des méthodes de détection d'anomalies les plus simples. L'idée de base est de déterminer s'il existe des anomalies en fonction de la moyenne et de la variance des données de séries chronologiques. Si l’écart d’un point de données par rapport à la moyenne est supérieur à un certain seuil (par exemple 3 fois l’écart type), il est considéré comme une anomalie.

Ce qui suit est un exemple de code qui utilise Python pour implémenter la méthode de variance moyenne pour la détection des anomalies de séries chronologiques :

import numpy as np

def detect_outliers_mean_std(data, threshold=3):
    mean = np.mean(data)
    std = np.std(data)
    outliers = []
    
    for i in range(len(data)):
        if abs(data[i] - mean) > threshold * std:
            outliers.append(i)
    
    return outliers

# 示例数据
data = [1, 2, 3, 4, 5, 20, 6, 7, 8, 9]

# 检测异常值
outliers = detect_outliers_mean_std(data)
print("异常数据索引:", outliers)
Copier après la connexion

Résultats d'exécution :

Indice de données anormales : [5]

1.2 Méthode de la boîte à moustaches

La boîte à moustaches La méthode est une autre méthode de détection d'anomalies couramment utilisée. Il détermine les valeurs aberrantes en fonction des quartiles des données (quartiles supérieur et inférieur, médiane). Sur la base de la médiane (Q2) et des quartiles supérieur et inférieur (Q1, Q3), les limites supérieure et inférieure peuvent être calculées. Si le point de données dépasse cette limite, cela est considéré comme une anomalie.

Ce qui suit est un exemple de code utilisant Python pour implémenter la méthode du box plot pour la détection des anomalies de séries chronologiques :

import numpy as np
import seaborn as sns

def detect_outliers_boxplot(data):
    q1 = np.percentile(data, 25)
    q3 = np.percentile(data, 75)
    iqr = q3 - q1
    outliers = []
    
    for i in range(len(data)):
        if data[i] < q1 - 1.5 * iqr or data[i] > q3 + 1.5 * iqr:
            outliers.append(i)
    
    return outliers

# 示例数据
data = [1, 2, 3, 4, 5, 20, 6, 7, 8, 9]

# 绘制箱型图
sns.boxplot(data=data)
# 检测异常值
outliers = detect_outliers_boxplot(data)
print("异常数据索引:", outliers)
Copier après la connexion

Résultats d'exécution :

Indice de données anormales : [5]

2. Algorithme de détection d'anomalies basé sur des méthodes d'apprentissage automatique

. 2.1 Algorithme de forêt d'isolement

L'algorithme de forêt d'isolement est une méthode de détection d'anomalies basée sur l'apprentissage non supervisé. Il utilise la méthode de segmentation des arbres de décision pour déterminer l'anomalie des points de données. L'algorithme de forêt d'isolement suppose que les valeurs aberrantes ont une densité plus faible dans l'espace des fonctionnalités, donc lors de la création d'un arbre de décision, la longueur du chemin des valeurs aberrantes sera plus courte.

Ce qui suit est un exemple de code utilisant Python pour implémenter l'algorithme de forêt d'isolation pour la détection des anomalies de séries chronologiques :

from sklearn.ensemble import IsolationForest

def detect_outliers_isolation_forest(data):
    model = IsolationForest(contamination=0.1, random_state=0)
    model.fit(data.reshape(-1, 1))
    outliers = model.predict(data.reshape(-1, 1))
    
    return np.where(outliers == -1)[0]

# 示例数据
data = [1, 2, 3, 4, 5, 20, 6, 7, 8, 9]

# 检测异常值
outliers = detect_outliers_isolation_forest(data)
print("异常数据索引:", outliers)
Copier après la connexion

Résultats d'exécution :

Indice de données anormales : [5]

2.2 Méthode de décomposition des séries chronologiques

Méthode de décomposition des séries chronologiques est une méthode de détection d'anomalies basée sur des méthodes statistiques traditionnelles qui décompose les données de séries chronologiques en trois parties : tendance, saisonnalité et résiduel, et détermine les points anormaux en analysant le résidu.

Ce qui suit est un exemple de code utilisant Python pour implémenter la méthode de décomposition de séries chronologiques pour la détection d'anomalies de séries chronologiques :

import statsmodels.api as sm

def detect_outliers_time_series(data):
    decomposition = sm.tsa.seasonal_decompose(data, model='additive')
    residuals = decomposition.resid
    outliers = []
    
    for i in range(len(residuals)):
        if abs(residuals[i]) > 2 * np.std(residuals):
            outliers.append(i)
    
    return outliers

# 示例数据
data = [1, 7, 3, 4, 5, 20, 6, 7, 8, 9]

# 检测异常值
outliers = detect_outliers_time_series(data)
print("异常数据索引:", outliers)
Copier après la connexion

Résultats d'exécution :

Indice de données anormales : [1, 5]

Conclusion

Le problème de la détection d'anomalies basée sur les séries chronologiques est une question très importante et pratique. Cet article présente deux méthodes de détection d'anomalies couramment utilisées, notamment la méthode de variance moyenne et la méthode de boîte à moustaches basées sur des méthodes statistiques, ainsi que l'algorithme de forêt d'isolement et la méthode de décomposition de séries chronologiques basées sur des méthodes d'apprentissage automatique. Grâce aux exemples de code ci-dessus, les lecteurs peuvent comprendre comment utiliser Python pour implémenter ces algorithmes et les appliquer aux données de séries chronologiques réelles pour la détection d'anomalies. J'espère que cet article sera utile aux lecteurs sur la détection des anomalies des séries chronologiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment écrire un algorithme de prévision de séries chronologiques en utilisant C# Comment écrire un algorithme de prévision de séries chronologiques en utilisant C# Sep 19, 2023 pm 02:33 PM

Comment écrire un algorithme de prévision de séries chronologiques à l'aide de C# La prévision de séries chronologiques est une méthode permettant de prédire les tendances futures des données en analysant les données passées. Il a de nombreuses applications dans de nombreux domaines tels que la finance, les ventes et les prévisions météorologiques. Dans cet article, nous présenterons comment écrire des algorithmes de prévision de séries chronologiques en utilisant C#, avec des exemples de code spécifiques. Préparation des données Avant d'effectuer des prévisions de séries chronologiques, vous devez d'abord préparer les données. D’une manière générale, les données de séries chronologiques doivent être suffisamment longues et classées par ordre chronologique. Vous pouvez l'obtenir à partir de la base de données ou

Comment utiliser XGBoost et InluxDB pour la prévision de séries chronologiques Comment utiliser XGBoost et InluxDB pour la prévision de séries chronologiques Apr 04, 2023 pm 12:40 PM

XGBoost est une bibliothèque d'apprentissage automatique open source populaire qui peut être utilisée pour résoudre divers problèmes de prédiction. Il faut comprendre comment l'utiliser avec InfluxDB pour la prévision de séries chronologiques. Traducteur | Révisé par Li Rui | Sun Shujuan XGBoost est une bibliothèque d'apprentissage automatique open source qui implémente un algorithme d'augmentation de gradient distribué optimisé. XGBoost utilise le traitement parallèle pour des performances rapides, gère bien les valeurs manquantes, fonctionne bien sur de petits ensembles de données et empêche le surajustement. Tous ces avantages font de XGBoost une solution populaire pour les problèmes de régression tels que la prédiction. La prévision est essentielle à la mission pour divers objectifs commerciaux tels que l'analyse prédictive, la maintenance prédictive, la planification des produits, la budgétisation, etc. De nombreux problèmes de prévision ou de prévision impliquent des séries chronologiques

Régression quantile pour la prévision probabiliste de séries chronologiques Régression quantile pour la prévision probabiliste de séries chronologiques May 07, 2024 pm 05:04 PM

Ne changez pas la signification du contenu original, affinez le contenu, réécrivez le contenu et ne continuez pas. "La régression quantile répond à ce besoin, en fournissant des intervalles de prédiction avec des chances quantifiées. Il s'agit d'une technique statistique utilisée pour modéliser la relation entre une variable prédictive et une variable de réponse, en particulier lorsque la distribution conditionnelle de la variable de réponse présente un intérêt quand. Contrairement à la régression traditionnelle " Figure (A) : Régression quantile La régression quantile est une estimation. Une méthode de modélisation de la relation linéaire entre un ensemble de régresseurs X et les quantiles. des variables expliquées Y. Le modèle de régression existant est en fait une méthode pour étudier la relation entre la variable expliquée et la variable explicative. Ils se concentrent sur la relation entre variables explicatives et variables expliquées.

Nouveaux travaux sur la prédiction de séries chronologiques + grand modèle NLP : générer automatiquement des invites implicites pour la prédiction de séries chronologiques Nouveaux travaux sur la prédiction de séries chronologiques + grand modèle NLP : générer automatiquement des invites implicites pour la prédiction de séries chronologiques Mar 18, 2024 am 09:20 AM

Aujourd'hui, j'aimerais partager un travail de recherche récent de l'Université du Connecticut qui propose une méthode pour aligner les données de séries chronologiques avec de grands modèles de traitement du langage naturel (NLP) sur l'espace latent afin d'améliorer les performances de prévision des séries chronologiques. La clé de cette méthode consiste à utiliser des indices spatiaux latents (invites) pour améliorer la précision des prévisions de séries chronologiques. Titre de l'article : S2IP-LLM : SemanticSpaceInformedPromptLearningwithLLMforTimeSeriesForecasting Adresse de téléchargement : https://arxiv.org/pdf/2403.05798v1.pdf 1. Modèle de fond de problème important

Résumé comparatif de cinq modèles d'apprentissage profond pour la prévision de séries chronologiques Résumé comparatif de cinq modèles d'apprentissage profond pour la prévision de séries chronologiques May 05, 2023 pm 05:16 PM

Les séries Makridakis M-Competitions (connues respectivement sous le nom de M4 et M5) ont eu lieu respectivement en 2018 et 2020 (M6 a également eu lieu cette année). Pour ceux qui ne le savent pas, le concours m-series peut être considéré comme un résumé de l’état actuel de l’écosystème des séries chronologiques, fournissant des preuves empiriques et objectives de la théorie et de la pratique actuelles de la prévision. Les résultats du M4 2018 ont montré que les méthodes pures de « ML » surpassaient largement les méthodes statistiques traditionnelles, ce qui était inattendu à l’époque. En M5[1] deux ans plus tard, le score le plus élevé était avec les seules méthodes « ML ». Et tous les 50 premiers sont essentiellement basés sur le ML (principalement des modèles d'arbres). Ce jeu a vu LightG

Comment utiliser PHP pour mettre en œuvre la détection des anomalies et l'analyse des fraudes Comment utiliser PHP pour mettre en œuvre la détection des anomalies et l'analyse des fraudes Jul 30, 2023 am 09:42 AM

Comment utiliser PHP pour mettre en œuvre la détection d'anomalies et l'analyse de la fraude Résumé : Avec le développement du commerce électronique, la fraude est devenue un problème incontournable. Cet article explique comment utiliser PHP pour implémenter la détection des anomalies et l'analyse des fraudes. En collectant des données de transaction et des données comportementales des utilisateurs, combinées à des algorithmes d'apprentissage automatique, le comportement des utilisateurs est surveillé et analysé en temps réel dans le système, une fraude potentielle est identifiée et des mesures correspondantes sont prises pour y faire face. Mots clés : PHP, détection d'anomalies, analyse de fraude, machine learning 1. Introduction Avec le développement rapide du commerce électronique, le nombre de transactions que les gens effectuent sur Internet

Dix bibliothèques Python recommandées pour l'analyse des séries chronologiques en 2022 Dix bibliothèques Python recommandées pour l'analyse des séries chronologiques en 2022 Apr 13, 2023 am 08:22 AM

Une série temporelle est une séquence de points de données, généralement constituée de mesures consécutives prises sur une période donnée. L'analyse des séries chronologiques est le processus de modélisation et d'analyse des données de séries chronologiques à l'aide de techniques statistiques afin d'en extraire des informations significatives et de faire des prédictions. L'analyse des séries chronologiques est un outil puissant qui peut être utilisé pour extraire des informations précieuses à partir de données et faire des prédictions sur des événements futurs. Il peut être utilisé pour identifier les tendances, les modèles saisonniers et d’autres relations entre variables. L'analyse des séries chronologiques peut également être utilisée pour prédire des événements futurs tels que les ventes, la demande ou les changements de prix. Si vous travaillez avec des données de séries chronologiques en Python, vous avez le choix entre de nombreuses bibliothèques différentes. Ainsi, dans cet article, nous allons trier les bibliothèques les plus populaires pour travailler avec des séries chronologiques en Python. S

Explication détaillée du modèle ARMA en Python Explication détaillée du modèle ARMA en Python Jun 10, 2023 pm 03:26 PM

Explication détaillée du modèle ARMA en Python Le modèle ARMA est un type important de modèle de série chronologique en statistiques, qui peut être utilisé pour la prédiction et l'analyse de données de séries chronologiques. Python fournit une multitude de bibliothèques et de boîtes à outils permettant d'utiliser facilement le modèle ARMA pour la modélisation de séries chronologiques. Cet article présentera en détail le modèle ARMA en Python. 1. Qu'est-ce que le modèle ARMA ? Le modèle ARMA est un modèle de série chronologique composé d'un modèle autorégressif (modèle AR) et d'un modèle à moyenne mobile (modèle MA). Parmi eux, le modèle AR

See all articles