Rumah > pembangunan bahagian belakang > Tutorial Python > Petua Analisis Varians dalam Python

Petua Analisis Varians dalam Python

WBOY
Lepaskan: 2023-06-10 14:15:15
asal
2262 orang telah melayarinya

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

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

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

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

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

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

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!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan