


Bagaimana untuk melakukan ujian Grubbs dalam 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
Sekarang mari buat set data yang mengandungi outlier dan lakukan ujian Grubbs.
Pemeriksaan Grubb dua muka
Tatabahasa
grubbs.test(data, alpha=.05)
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)
Output
array([ 5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])
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)
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)
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])
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.
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)))
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)
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
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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

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

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

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

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

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

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

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
