Rumah Peranti teknologi AI Masalah pengesanan anomali berdasarkan siri masa

Masalah pengesanan anomali berdasarkan siri masa

Oct 09, 2023 pm 04:33 PM
siri masa Pengesanan anomali berdasarkan

Masalah pengesanan anomali berdasarkan siri masa

Masalah pengesanan anomali berasaskan siri masa memerlukan contoh kod khusus

Data siri masa ialah data yang direkodkan dalam susunan tertentu dari semasa ke semasa, seperti harga saham, perubahan suhu, aliran trafik, dsb. Dalam aplikasi praktikal, pengesanan anomali data siri masa adalah sangat penting. Outlier boleh menjadi nilai melampau yang tidak konsisten dengan data biasa, hingar, data yang salah atau peristiwa yang tidak dijangka dalam situasi tertentu. Pengesanan anomali boleh membantu kami menemui anomali ini dan mengambil langkah yang sesuai.

Terdapat banyak kaedah yang biasa digunakan untuk masalah pengesanan anomali dalam siri masa, termasuk kaedah statistik, kaedah pembelajaran mesin dan kaedah pembelajaran mendalam. Artikel ini akan memperkenalkan dua algoritma pengesanan anomali siri masa berdasarkan kaedah statistik dan kaedah pembelajaran mesin serta memberikan contoh kod yang sepadan.

1. Algoritma pengesanan anomali berdasarkan kaedah statistik

1.1 Kaedah min-varian

Kaedah min-varian ialah salah satu kaedah pengesanan anomali yang paling mudah. Idea asas adalah untuk menentukan sama ada terdapat keabnormalan berdasarkan min dan varians data siri masa. Jika sisihan titik data daripada min lebih besar daripada ambang tertentu (contohnya, 3 kali sisihan piawai), ia dinilai sebagai anomali.

Berikut ialah contoh kod yang menggunakan Python untuk melaksanakan kaedah min-variance untuk pengesanan anomali siri masa:

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)
Salin selepas log masuk

Hasil berjalan:

Indeks data tidak normal: [5]

1.2 Kaedah plot kotak

kaedah adalah satu lagi Kaedah pengesanan anomali yang biasa digunakan. Ia menentukan outlier berdasarkan kuartil data (kuartil atas dan bawah, median). Berdasarkan median (Q2) dan kuartil atas dan bawah (Q1, Q3), sempadan atas dan bawah boleh dikira Jika titik data melebihi sempadan ini, ia dinilai sebagai anomali.

Berikut ialah contoh kod menggunakan Python untuk melaksanakan kaedah plot kotak untuk pengesanan anomali siri masa:

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)
Salin selepas log masuk

Hasil berjalan:

Indeks data tidak normal: [5]

2. Algoritma pengesanan anomali berdasarkan kaedah pembelajaran mesin

2.1 Algoritma Hutan Pengasingan

Algoritma Hutan Pengasingan ialah kaedah pengesanan anomali berdasarkan pembelajaran tanpa pengawasan. Ia menggunakan kaedah pembahagian pokok keputusan untuk menentukan keabnormalan titik data. Algoritma hutan pengasingan mengandaikan bahawa outlier mempunyai ketumpatan yang lebih rendah pada ruang ciri, jadi apabila membina pepohon keputusan, panjang laluan outlier akan menjadi lebih pendek.

Berikut ialah contoh kod menggunakan Python untuk melaksanakan algoritma hutan pengasingan untuk pengesanan anomali siri masa:

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)
Salin selepas log masuk

Hasil berjalan:

Indeks data tidak normal: [5]

2.2 Kaedah penguraian siri masa

kaedah adalah kaedah pengesanan Anomali berdasarkan kaedah statistik tradisional menguraikan data siri masa kepada tiga bahagian: arah aliran, bermusim dan baki, dan menentukan titik abnormal dengan menganalisis baki.

Berikut ialah contoh kod menggunakan Python untuk melaksanakan kaedah penguraian siri masa untuk pengesanan anomali siri masa:

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)
Salin selepas log masuk

Hasil berjalan:

Indeks data tidak normal: [1, 5]

Kesimpulan

Masalah pengesanan anomali on time series ialah Soalan yang sangat penting dan praktikal. Artikel ini memperkenalkan dua kaedah pengesanan anomali yang biasa digunakan, termasuk kaedah min-variance dan kaedah boxplot berdasarkan kaedah statistik, dan algoritma hutan pengasingan dan kaedah penguraian siri masa berdasarkan kaedah pembelajaran mesin. Melalui contoh kod di atas, pembaca boleh memahami cara menggunakan Python untuk melaksanakan algoritma ini dan menggunakannya pada data siri masa sebenar untuk pengesanan anomali. Saya harap artikel ini akan membantu pembaca tentang pengesanan anomali siri masa.

Atas ialah kandungan terperinci Masalah pengesanan anomali berdasarkan siri masa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menulis algoritma ramalan siri masa menggunakan C# Bagaimana untuk menulis algoritma ramalan siri masa menggunakan C# Sep 19, 2023 pm 02:33 PM

Cara menulis algoritma peramalan siri masa menggunakan C# Peramalan siri masa ialah kaedah meramal arah aliran data masa hadapan dengan menganalisis data lepas. Ia mempunyai aplikasi yang luas dalam banyak bidang seperti kewangan, jualan dan ramalan cuaca. Dalam artikel ini, kami akan memperkenalkan cara menulis algoritma ramalan siri masa menggunakan C#, dengan contoh kod khusus. Penyediaan Data Sebelum melakukan peramalan siri masa, anda perlu menyediakan data terlebih dahulu. Secara umumnya, data siri masa hendaklah mempunyai panjang yang mencukupi dan disusun mengikut urutan kronologi. Anda boleh mendapatkannya daripada pangkalan data atau

Cara menggunakan XGBoost dan InluxDB untuk ramalan siri masa Cara menggunakan XGBoost dan InluxDB untuk ramalan siri masa Apr 04, 2023 pm 12:40 PM

XGBoost ialah perpustakaan pembelajaran mesin sumber terbuka yang popular yang boleh digunakan untuk menyelesaikan pelbagai masalah ramalan. Seseorang perlu memahami cara menggunakannya dengan InfluxDB untuk ramalan siri masa. Penterjemah |. Disemak oleh Li Rui |. Sun Shujuan XGBoost ialah perpustakaan pembelajaran mesin sumber terbuka yang melaksanakan algoritma peningkatan kecerunan teragih yang dioptimumkan. XGBoost menggunakan pemprosesan selari untuk prestasi pantas, mengendalikan nilai yang hilang dengan baik, berprestasi baik pada set data kecil dan mengelakkan pemasangan berlebihan. Semua kelebihan ini menjadikan XGBoost penyelesaian yang popular untuk masalah regresi seperti ramalan. Ramalan adalah misi kritikal untuk pelbagai objektif perniagaan seperti analisis ramalan, penyelenggaraan ramalan, perancangan produk, belanjawan, dsb. Banyak masalah ramalan atau ramalan melibatkan siri masa

Regresi kuantil untuk ramalan kebarangkalian siri masa Regresi kuantil untuk ramalan kebarangkalian siri masa May 07, 2024 pm 05:04 PM

Jangan ubah maksud kandungan asal, perhalusi kandungan, tulis semula kandungan dan jangan teruskan. "Regression kuantil memenuhi keperluan ini, menyediakan selang ramalan dengan peluang yang dikira. Ia adalah teknik statistik yang digunakan untuk memodelkan hubungan antara pembolehubah peramal dan pembolehubah tindak balas, terutamanya apabila taburan bersyarat pembolehubah tindak balas adalah menarik Apabila. Tidak seperti regresi tradisional kaedah, regresi kuantil memfokuskan pada menganggar magnitud bersyarat pembolehubah bergerak balas dan bukannya min bersyarat "Rajah (A): Regresi kuantil Regresi kuantil ialah anggaran. Kaedah pemodelan untuk hubungan linear antara set regresi X dan kuantil. daripada pembolehubah yang dijelaskan Y. Model regresi yang sedia ada sebenarnya adalah kaedah untuk mengkaji hubungan antara pembolehubah yang dijelaskan dan pembolehubah penjelasan. Mereka memberi tumpuan kepada hubungan antara pembolehubah penjelasan dan pembolehubah yang dijelaskan

Kerja baharu pada ramalan siri masa + model besar NLP: secara automatik menjana gesaan tersirat untuk ramalan siri masa Kerja baharu pada ramalan siri masa + model besar NLP: secara automatik menjana gesaan tersirat untuk ramalan siri masa Mar 18, 2024 am 09:20 AM

Hari ini saya ingin berkongsi kerja penyelidikan terbaru dari University of Connecticut yang mencadangkan kaedah untuk menyelaraskan data siri masa dengan model pemprosesan bahasa semula jadi (NLP) yang besar pada ruang terpendam untuk meningkatkan prestasi peramalan siri masa. Kunci kepada kaedah ini ialah menggunakan petunjuk spatial terpendam (prompt) untuk meningkatkan ketepatan ramalan siri masa. Tajuk kertas: S2IP-LLM: SemanticSpaceInformedPromptLearningwithLLMforTimeSeriesForecasting Alamat muat turun: https://arxiv.org/pdf/2403.05798v1.pdf 1. Model latar belakang masalah besar

Ringkasan perbandingan lima model pembelajaran mendalam untuk ramalan siri masa Ringkasan perbandingan lima model pembelajaran mendalam untuk ramalan siri masa May 05, 2023 pm 05:16 PM

Siri M-Competitions Makridakis (masing-masing dikenali sebagai M4 dan M5) telah diadakan pada tahun 2018 dan 2020 (M6 juga diadakan pada tahun ini). Bagi mereka yang tidak tahu, pertandingan siri-m boleh dianggap sebagai ringkasan keadaan semasa ekosistem siri masa, memberikan bukti empirikal dan objektif untuk teori dan amalan ramalan semasa. Keputusan daripada M4 2018 menunjukkan bahawa kaedah "ML" tulen mengatasi kaedah statistik tradisional dengan margin besar yang tidak dijangka pada masa itu. Dalam M5[1] dua tahun kemudian, skor tertinggi adalah dengan hanya kaedah "ML". Dan semua 50 teratas pada asasnya berdasarkan ML (kebanyakannya model pokok). Permainan ini menyaksikan LightG

Cara menggunakan PHP untuk melaksanakan pengesanan anomali dan analisis penipuan Cara menggunakan PHP untuk melaksanakan pengesanan anomali dan analisis penipuan Jul 30, 2023 am 09:42 AM

Cara menggunakan PHP untuk melaksanakan pengesanan anomali dan analisis penipuan Abstrak: Dengan perkembangan e-dagang, penipuan telah menjadi masalah yang tidak boleh diabaikan. Artikel ini memperkenalkan cara menggunakan PHP untuk melaksanakan pengesanan anomali dan analisis penipuan. Dengan mengumpul data transaksi pengguna dan data tingkah laku, digabungkan dengan algoritma pembelajaran mesin, tingkah laku pengguna dipantau dan dianalisis dalam masa nyata dalam sistem, potensi penipuan dikenal pasti, dan langkah yang sepadan diambil untuk menanganinya. Kata kunci: PHP, pengesanan anomali, analisis penipuan, pembelajaran mesin 1. Pengenalan Dengan perkembangan pesat e-dagang, bilangan transaksi yang dilakukan oleh orang di Internet

Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022 Sepuluh perpustakaan Python disyorkan untuk analisis siri masa pada tahun 2022 Apr 13, 2023 am 08:22 AM

Siri masa ialah urutan titik data, biasanya terdiri daripada pengukuran berturut-turut yang diambil dalam tempoh masa. Analisis siri masa ialah proses pemodelan dan analisis data siri masa menggunakan teknik statistik untuk mengekstrak maklumat yang bermakna daripadanya dan membuat ramalan. Analisis siri masa ialah alat berkuasa yang boleh digunakan untuk mengekstrak maklumat berharga daripada data dan membuat ramalan tentang peristiwa masa hadapan. Ia boleh digunakan untuk mengenal pasti arah aliran, corak bermusim dan perhubungan lain antara pembolehubah. Analisis siri masa juga boleh digunakan untuk meramalkan peristiwa masa hadapan seperti jualan, permintaan atau perubahan harga. Jika anda bekerja dengan data siri masa dalam Python, terdapat banyak perpustakaan yang berbeza untuk dipilih. Jadi dalam artikel ini, kami akan menyusun perpustakaan paling popular untuk bekerja dengan siri masa dalam Python. S

Penjelasan terperinci model ARMA dalam Python Penjelasan terperinci model ARMA dalam Python Jun 10, 2023 pm 03:26 PM

Penjelasan terperinci tentang model ARMA dalam Python Model ARMA ialah jenis model siri masa yang penting dalam statistik, yang boleh digunakan untuk ramalan dan analisis data siri masa. Python menyediakan banyak perpustakaan dan kotak alat yang boleh menggunakan model ARMA dengan mudah untuk pemodelan siri masa. Artikel ini akan memperkenalkan model ARMA dalam Python secara terperinci. 1. Apakah model ARMA? Model ARMA ialah model siri masa yang terdiri daripada model autoregresif (model AR) dan model purata bergerak (model MA). Antaranya, model AR

See all articles