


Problème de détection d'anomalies 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)
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)
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)
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)
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds



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

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

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.

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

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 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

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 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
