Jadual Kandungan
Pengenalan
Apakah itu outlier?
Merebut Ujian Hipotesis Statistik
Ujian Grabbs dalam Python
Perpustakaan outlier dan Smirnov_grubbs
Pemeriksaan Grubb dua muka
Tatabahasa
Parameter
Arahan
Contoh
Output
Ujian Grubbs satu sisi
Synatx
Pelaksanaan formula
Algoritma
Kesimpulan
Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk melakukan ujian Grubbs dalam Python

Bagaimana untuk melakukan ujian Grubbs dalam Python

Aug 28, 2023 pm 03:49 PM
grubbs menguji pelaksanaan python

Pengenalan

Ujian Grubbs ialah kaedah ujian hipotesis statistik yang digunakan untuk mengesan outlier dalam set data. Outlier ialah pemerhatian yang diberikan kepada pengedaran data, juga dikenali sebagai anomali. Set data dengan outlier cenderung lebih terdedah kepada overfitting daripada data dengan taburan normal/Gaussian. Oleh itu, adalah perlu untuk menangani outlier sebelum pemodelan pembelajaran mesin. Sebelum memproses, kita mesti mengesan dan mencari outlier dalam set data. Teknik pengesanan outlier yang paling popular ialah QQPlot, julat antara kuartil dan ujian statistik Grubbs. Walau bagaimanapun, artikel ini hanya akan membincangkan ujian Grubbs untuk mengesan outlier. Anda akan belajar: Apakah ujian Grubbs dan cara melaksanakannya dalam Python.

Apakah itu outlier?

Outlier ialah pemerhatian data yang jauh secara berangka daripada nilai data lain. Nilai ini berada di luar julat data taburan normal. Set data mesti mengandungi 67% daripada rekod pada sisihan piawai pertama, 95% daripada data pada sisihan piawai kedua, dan 99.7% daripada mata pada sisihan piawai ketiga untuk mencapai taburan normal. Dalam erti kata lain, titik data harus terletak di antara julat kuartil pertama dan ketiga. Kami menganggap rekod di bawah kuartil pertama dan di atas kuartil ketiga sebagai outlier atau outlier.

Merebut Ujian Hipotesis Statistik

Seperti mana-mana ujian hipotesis statistik lain, ujian Grubbs juga boleh meluluskan atau menolak hipotesis nol (H0) atau hipotesis alternatif (H1). Ujian Grubbs ialah ujian yang mengesan outlier dalam set data.

Kami boleh melakukan ujian Grubbs dalam dua cara: Ujian satu sisi dan Ujian dua belah, untuk set data univariate atau sampel hampir normal dengan taburan sekurang-kurangnya tujuh pembolehubah. Ujian ini juga dipanggil ujian sisihan pelajar melampau atau ujian baki ternormal maksimum.

Ujian Grubbs menggunakan andaian berikut -

  • Null (H0): Set data tidak mempunyai outlier.

  • Alternatif (H1): Set data hanya mempunyai satu outlier.

Ujian Grabbs dalam Python

Python boleh menangani sebarang cabaran pengaturcaraan dengan koleksi perpustakaannya yang luas. Perpustakaan ini menyediakan kaedah terbina dalam yang boleh digunakan secara langsung untuk melaksanakan sebarang operasi, ujian statistik, dsb. Begitu juga, Python mempunyai perpustakaan yang mengandungi kaedah untuk melaksanakan ujian Grubbs untuk mengesan outlier. Walau bagaimanapun, kami akan meneroka dua cara untuk melaksanakan ujian Grubbs dalam Python: fungsi terbina dalam dalam perpustakaan dan melaksanakan formula dari awal.

Perpustakaan outlier dan Smirnov_grubbs

Mari kita pasang perpustakaan outlier_utils dahulu menggunakan arahan berikut.

!pip install outlier_utils
Salin selepas log masuk

Sekarang mari buat set data yang mengandungi outlier dan lakukan ujian Grubbs.

Pemeriksaan Grubb dua muka

Tatabahasa

grubbs.test(data, alpha=.05)
Salin selepas log masuk

Parameter

data - Vektor angka nilai data.

alpha - Tahap kepentingan ujian.

Arahan

Dalam kaedah ini, pengguna mesti menggunakan fungsi smirnov_grubbs.test() daripada pakej outlier dan lulus data yang diperlukan sebagai input untuk menjalankan ujian Grubb.

Contoh

import numpy as np
from outliers import smirnov_grubbs as grubbs
 
#define data
data = np.array([ 5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])
 
#perform Grubbs' test
grubbs.test(data, alpha=.05)
Salin selepas log masuk

Output

array([ 5, 14, 15, 15, 14, 19, 17, 16, 20, 22,  8, 21, 28, 11,  9, 29])
Salin selepas log masuk

Kod di atas hanya bermula dengan memuatkan perpustakaan dan data, dan akhirnya menggunakan kaedah "ujian" untuk melakukan ujian Grubbs pada data ini. Ujian ini mengesan outlier pada kedua-dua belah (kiri dan kanan), atau nilai di bawah kuartil pertama dan di atas kuartil ketiga. Data hanya mempunyai 1 outlier (40), yang telah dialih keluar menggunakan ujian Grubbs.

Ujian Grubbs satu sisi

Synatx

grubbs.max_test(data, alpha=.05)
Salin selepas log masuk

Arahan

Dalam kaedah ini, pengguna mesti memanggil fungsi grubbs.min_test() untuk mendapatkan nilai outlier minimum daripada set data yang disediakan, atau memanggil fungsi grubbs.max_test() untuk mendapatkan nilai outlier maksimum daripada set data yang disediakan kepada Ujian Grubb satu sisi telah diperolehi.

Contoh

import numpy as np
from outliers import smirnov_grubbs as grubbs
 
#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test for minimum value is an outlier
print(grubbs.min_test(data, alpha=.05)) 

#perform Grubbs' test for minimum value is an outlier
grubbs.max_test(data, alpha=.05)
Salin selepas log masuk

Output

[ 5 14 15 15 14 19 17 16 20 22  8 21 28 11  9 29 40]
array([ 5, 14, 15, 15, 14, 19, 17, 16, 20, 22,  8, 21, 28, 11,  9, 29])
Salin selepas log masuk

Ujian Grubbs satu sisi mengesan outlier di bawah kuartil pertama atau di atas kuartil ketiga. Kita dapat melihat bahawa kaedah min_test mengalih keluar outlier dari bahagian terkecil data, manakala kaedah max_test mengalih keluar outlier dari bahagian atas data.

Pelaksanaan formula

Di sini kita akan menggunakan Python untuk melaksanakan formula ujian Grubbs berikut. Kami akan menggunakan perpustakaan Numpy dan Scipy untuk mencapai ini.

Bagaimana untuk melakukan ujian Grubbs dalam Python

Tatabahasa

g_calculated = numerator/sd_x
g_critical = ((n - 1) * np.sqrt(np.square(t_value_1))) / (np.sqrt(n) * np.sqrt(n - 2 + np.square(t_value_1)))
Salin selepas log masuk

Algoritma

Langkah pelaksanaan adalah seperti berikut -

  • Kira purata nilai set data.

  • Kira sisihan piawai bagi nilai set data.

  • Untuk melaksanakan formula ujian Grubbs, hitung pengangka dengan menolak nilai setiap nilai dalam set data daripada minnya.

  • Bahagikan nilai pengangka dengan sisihan piawai untuk mendapatkan markah yang dikira.

  • Kira markah kritikal untuk nilai yang sama.

  • Jika nilai kritikal lebih besar daripada nilai yang dikira, tiada outlier dalam set data, jika tidak ada outlier.

Contoh

import numpy as np
import scipy.stats as stats
## define data
x = np.array([12,13,14,19,21,23])
y = np.array([12,13,14,19,21,23,45])

## implement Grubbs test
def grubbs_test(x):
   n = len(x)
   mean_x = np.mean(x)
   sd_x = np.std(x)
   numerator = max(abs(x-mean_x))
   g_calculated = numerator/sd_x
   print("Grubbs Calculated Value:",g_calculated)
   t_value_1 = stats.t.ppf(1 - 0.05 / (2 * n), n - 2)
   g_critical = ((n - 1) * np.sqrt(np.square(t_value_1))) / (np.sqrt(n) * np.sqrt(n - 2 + np.square(t_value_1)))
   print("Grubbs Critical Value:",g_critical)
   if g_critical > g_calculated:
      print("We can see from the Grubbs test that the calculated value is less than the crucial value. Recognize the null hypothesis and draw the conclusion that there are no outliers\n")
   else:
      print("We see from the Grubbs test that the estimated value exceeds the critical value. Reject the null theory and draw the conclusion that there are outliers\n")
grubbs_test(x)
grubbs_test(y)
Salin selepas log masuk

Output

Grubbs Calculated Value: 1.4274928542926593
Grubbs Critical Value: 1.887145117792422
We can see from the Grubbs test that the calculated value is less than the crucial value. Recognize the null hypothesis and draw the conclusion that there are no outliers

Grubbs Calculated Value: 2.2765147221587774
Grubbs Critical Value: 2.019968507680656
We see from the Grubbs test that the estimated value exceeds the critical value. Reject the null theory and draw the conclusion that there are outliers
Salin selepas log masuk

Hasil ujian Grubb menunjukkan bahawa tatasusunan x tidak mempunyai apa-apa outlier, tetapi y mempunyai 1 outlier.

Kesimpulan

Kami mempelajari tentang outlier dan ujian Grubbs dalam Python dalam artikel ini. Mari kita akhiri artikel ini dengan beberapa perkara penting.

  • Outlier ialah rekod yang berada di luar julat antara kuartil.

  • Outlier tidak mematuhi taburan normal set data.

  • Kita boleh menggunakan ujian statistik hipotesis Grubbs untuk mengesan outlier.

  • Kami boleh melaksanakan ujian Grubbs menggunakan kaedah terbina dalam yang disediakan dalam perpustakaan outlier_utils.

  • Ujian Grubbs dua belah mengesan dan mengeluarkan outlier di bahagian kiri dan kanan.

  • Walau bagaimanapun, ujian Grubbs sebelah akan mengesan outlier di kedua-dua belah pihak.

Atas ialah kandungan terperinci Bagaimana untuk melakukan ujian Grubbs dalam Python. 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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 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)

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Mar 05, 2025 am 09:58 AM

Tutorial ini menunjukkan cara menggunakan Python untuk memproses konsep statistik undang -undang ZIPF dan menunjukkan kecekapan membaca dan menyusun fail teks besar Python semasa memproses undang -undang. Anda mungkin tertanya -tanya apa maksud pengedaran ZIPF istilah. Untuk memahami istilah ini, kita perlu menentukan undang -undang Zipf. Jangan risau, saya akan cuba memudahkan arahan. Undang -undang Zipf Undang -undang Zipf hanya bermaksud: Dalam korpus bahasa semulajadi yang besar, kata -kata yang paling kerap berlaku muncul kira -kira dua kali lebih kerap sebagai kata -kata kerap kedua, tiga kali sebagai kata -kata kerap ketiga, empat kali sebagai kata -kata kerap keempat, dan sebagainya. Mari kita lihat contoh. Jika anda melihat corpus coklat dalam bahasa Inggeris Amerika, anda akan melihat bahawa perkataan yang paling kerap adalah "th

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Mar 10, 2025 pm 06:54 PM

Artikel ini menerangkan cara menggunakan sup yang indah, perpustakaan python, untuk menghuraikan html. Ia memperincikan kaedah biasa seperti mencari (), find_all (), pilih (), dan get_text () untuk pengekstrakan data, pengendalian struktur dan kesilapan HTML yang pelbagai, dan alternatif (sel

Penapisan gambar di python Penapisan gambar di python Mar 03, 2025 am 09:44 AM

Berurusan dengan imej yang bising adalah masalah biasa, terutamanya dengan telefon bimbit atau foto kamera resolusi rendah. Tutorial ini meneroka teknik penapisan imej di Python menggunakan OpenCV untuk menangani isu ini. Penapisan Imej: Alat yang berkuasa Penapis Imej

Cara Bekerja Dengan Dokumen PDF Menggunakan Python Cara Bekerja Dengan Dokumen PDF Menggunakan Python Mar 02, 2025 am 09:54 AM

Fail PDF adalah popular untuk keserasian silang platform mereka, dengan kandungan dan susun atur yang konsisten merentasi sistem operasi, peranti membaca dan perisian. Walau bagaimanapun, tidak seperti Python memproses fail teks biasa, fail PDF adalah fail binari dengan struktur yang lebih kompleks dan mengandungi unsur -unsur seperti fon, warna, dan imej. Mujurlah, tidak sukar untuk memproses fail PDF dengan modul luaran Python. Artikel ini akan menggunakan modul PYPDF2 untuk menunjukkan cara membuka fail PDF, mencetak halaman, dan mengekstrak teks. Untuk penciptaan dan penyuntingan fail PDF, sila rujuk tutorial lain dari saya. Penyediaan Inti terletak pada menggunakan modul luaran PYPDF2. Pertama, pasangkannya menggunakan PIP: Pip adalah p

Cara Cache Menggunakan Redis dalam Aplikasi Django Cara Cache Menggunakan Redis dalam Aplikasi Django Mar 02, 2025 am 10:10 AM

Tutorial ini menunjukkan cara memanfaatkan caching redis untuk meningkatkan prestasi aplikasi python, khususnya dalam rangka kerja Django. Kami akan merangkumi pemasangan Redis, konfigurasi Django, dan perbandingan prestasi untuk menyerlahkan bene

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Mar 10, 2025 pm 06:52 PM

Artikel ini membandingkan tensorflow dan pytorch untuk pembelajaran mendalam. Ia memperincikan langkah -langkah yang terlibat: penyediaan data, bangunan model, latihan, penilaian, dan penempatan. Perbezaan utama antara rangka kerja, terutamanya mengenai grap pengiraan

Pengenalan kepada pengaturcaraan selari dan serentak di Python Pengenalan kepada pengaturcaraan selari dan serentak di Python Mar 03, 2025 am 10:32 AM

Python, kegemaran sains dan pemprosesan data, menawarkan ekosistem yang kaya untuk pengkomputeran berprestasi tinggi. Walau bagaimanapun, pengaturcaraan selari dalam Python memberikan cabaran yang unik. Tutorial ini meneroka cabaran -cabaran ini, memberi tumpuan kepada Interprete Global

Cara Melaksanakan Struktur Data Anda Sendiri di Python Cara Melaksanakan Struktur Data Anda Sendiri di Python Mar 03, 2025 am 09:28 AM

Tutorial ini menunjukkan mewujudkan struktur data saluran paip tersuai di Python 3, memanfaatkan kelas dan pengendali yang berlebihan untuk fungsi yang dipertingkatkan. Fleksibiliti saluran paip terletak pada keupayaannya untuk menggunakan siri fungsi ke set data, GE

See all articles