Rumah > Artikel > pembangunan bahagian belakang > Petua Analisis Varians dalam Python
Python ialah salah satu bahasa pengaturcaraan yang paling popular hari ini dan bahasa yang digunakan secara meluas dalam bidang sains data dan analisis statistik. Dalam analisis statistik, analisis varians adalah teknik yang sangat biasa yang boleh digunakan untuk mengkaji kesan faktor yang berbeza ke atas pembolehubah. Artikel ini akan memperkenalkan cara menggunakan Python untuk melakukan analisis varians.
Apakah itu Analisis Varian
Analisis Varians (ANOVA) ialah kaedah analisis statistik yang digunakan untuk menganalisis perbezaan antara pembolehubah selanjar pada satu atau lebih pembolehubah kategori. Ia boleh digunakan untuk menentukan sama ada faktor yang berbeza adalah berbeza dengan ketara dan berapa banyak ia menyumbang kepada jumlah variasi. Dalam aplikasi praktikal, ANOVA boleh digunakan untuk membandingkan sama ada min adalah berbeza secara ketara antara kumpulan rawatan yang berbeza, atau untuk membandingkan sama ada cara kumpulan yang sama pada titik masa yang berbeza atau dalam keadaan yang berbeza adalah berbeza dengan ketara.
Analisis varians sehala
Analisis varians sehala ialah jenis analisis varians yang paling mudah Ia mengkaji hubungan antara pembolehubah kategori (juga dipanggil pembolehubah bebas atau rawatan) dan pembolehubah selanjar (juga dipanggil pembolehubah). Dalam Python, kita boleh menggunakan fungsi scipy.stats
dalam modul f_oneway()
untuk melaksanakan ANOVA sehala. Berikut ialah kod sampel:
from scipy.stats import f_oneway group1 = [60, 62, 67, 55, 58, 63] group2 = [70, 72, 67, 80, 74, 71] group3 = [80, 82, 85, 89, 87, 88] f_value, p_value = f_oneway(group1, group2, group3) print("F value:", f_value) print("P value:", p_value)
Dalam contoh ini, kami mempunyai tiga kumpulan rawatan, setiap satu dengan 6 titik data. Kami menggunakan fungsi f_oneway()
untuk mengira nilai-F dan nilai-p (tahap keertian) dan mencetak output. Dalam contoh ini, nilai-F ialah 12.93 dan nilai-p ialah 0.0004. Ini bermakna terdapat perbezaan yang signifikan antara kumpulan rawatan pada aras keertian 0.05.
Analisis varians berbilang faktor
Jika kita ingin mengkaji kesan pelbagai pembolehubah kategori ke atas pembolehubah selanjar, kita perlu menggunakan analisis varians berbilang faktor. Anda boleh menggunakan pustaka statsmodels
dalam Python untuk melakukan analisis pelbagai faktor bagi varians.
Pertama, kita perlu mengimport pakej yang diperlukan:
import pandas as pd import statsmodels.api as sm from statsmodels.formula.api import ols
Kemudian, kita perlu menyediakan data. Di sini kami menggunakan set data contoh yang merangkumi tiga pembolehubah kategori "A", "B" dan "C", setiap satu dengan dua peringkat dan pembolehubah bersandar yang sepadan "Y".
data = {'A': ['A1', 'A1', 'A2', 'A2', 'A3', 'A3', 'A4', 'A4'], 'B': ['B1', 'B2', 'B1', 'B2', 'B1', 'B2', 'B1', 'B2'], 'C': ['C1', 'C1', 'C1', 'C1', 'C2', 'C2', 'C2', 'C2'], 'Y': [60, 70, 65, 80, 75, 85, 80, 90]} df = pd.DataFrame(data) print(df)
Hasil keluaran:
A B C Y 0 A1 B1 C1 60 1 A1 B2 C1 70 2 A2 B1 C1 65 3 A2 B2 C1 80 4 A3 B1 C2 75 5 A3 B2 C2 85 6 A4 B1 C2 80 7 A4 B2 C2 90
Seterusnya, kita boleh menggunakan fungsi ols()
untuk memuatkan model linear dan fungsi anova_lm()
untuk melaksanakan analisis varians.
model = ols('Y ~ A + B + C + A:B + A:C + B:C + A:B:C', data=df).fit() anova_table = sm.stats.anova_lm(model, typ=2) print(anova_table)
Hasil keluaran:
sum_sq df F PR(>F) A 260.62500 3.0 3.923701 0.050314 B 400.00000 1.0 9.523810 0.030438 C 360.00000 1.0 8.571429 0.034907 A:B 156.25000 3.0 2.344074 0.202090 A:C 27.56250 3.0 0.414093 0.746270 B:C 13.56250 1.0 0.323810 0.601434 A:B:C 38.06250 3.0 0.571855 0.638217 Residual 1410.00000 8.0 NaN NaN
Dalam jadual di atas, sum_sq ialah hasil tambah kuasa dua antara kumpulan, df ialah darjah kebebasan antara kumpulan, F ialah nilai F, PR (> F) ialah nilai P.
Kita dapat melihat bahawa dalam contoh ini, pembolehubah A, B dan C adalah berbeza dengan ketara (nilai P kurang daripada 0.05), manakala A:B, A:C, B:C dan A:B : C tidak berbeza secara signifikan (nilai P lebih besar daripada 0.05).
Ringkasan
Analisis varians ialah teknik analisis statistik yang biasa digunakan yang boleh digunakan untuk mengkaji kesan faktor berbeza terhadap pembolehubah. Python menyediakan banyak perpustakaan dan fungsi yang memudahkan untuk melakukan analisis varians. Sama ada analisis varians satu faktor atau analisis varians berbilang faktor, kita boleh menggunakan Python untuk melakukan pengiraan dan mendapatkan hasil visual dan penunjuk statistik yang penting.
Atas ialah kandungan terperinci Petua Analisis Varians dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!