Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk melakukan ANCOVA dalam Python?
ANCOVA (Analisis Kovarian) ialah kaedah statistik yang berguna kerana ia boleh memasukkan kovariat dalam analisis, yang boleh membantu melaraskan pembolehubah tambahan dan meningkatkan ketepatan perbandingan antara kumpulan. Faktor tambahan atau kovariat ini boleh dimasukkan ke dalam kajian dengan menggunakan ANCOVA. Untuk memastikan bahawa perbezaan yang diperhatikan antara kumpulan disebabkan oleh rawatan atau campur tangan dalam kajian dan bukan oleh faktor luar, ANCOVA boleh digunakan untuk melaraskan kesan kovariat pada min kumpulan. Ini membolehkan perbandingan yang lebih tepat antara kumpulan dan memberikan kesimpulan yang lebih dipercayai tentang hubungan antara pembolehubah. Dalam artikel ini, kita akan melihat lebih dekat pada ANCOVA dan melaksanakannya dalam Python.
Kaedah analisis kovarian (ANCOVA) membandingkan cara dua atau lebih kumpulan sambil menyesuaikan untuk kesan satu atau lebih pembolehubah berterusan (dipanggil kovariat). ANCOVA adalah serupa dengan ANOVA (analisis varians), tetapi ia membenarkan pembolehubah dimasukkan ke dalam model. Oleh itu, ia adalah alat yang berharga untuk menilai kesan faktor-faktor ini ke atas cara kumpulan dan membuat perbandingan yang lebih tepat antara kumpulan.
Pertimbangkan senario berikut − Anda sedang menjalankan kajian untuk menilai keberkesanan ubat penurun tekanan darah baru. Anda mengumpul data tekanan darah untuk sekumpulan orang yang mengambil ubat dan kumpulan yang tidak, serta data tentang umur setiap peserta. Anda boleh menggunakan ANCOVA untuk membandingkan min dua kumpulan pada pembolehubah bersandar (tekanan darah) sambil melaraskan untuk kesan kovariat (umur) pada min kumpulan. Ini akan membolehkan anda menentukan sama ada ubat itu berjaya menurunkan tekanan darah dengan mengambil kira sebarang perbezaan umur antara kumpulan.
Pertimbangkan ANCOVA berikut yang dilakukan dalam Python menggunakan modul statsmodels:
df = pd.DataFrame({'dependent_variable' : [8, 7, 9, 11, 10, 12, 14, 13, 15, 16], 'group' : ["A", "A", "A", "B", "B", "B", "C", "C", "C", "C"], 'covariate' : [20, 30, 40, 30, 40, 50, 40, 50, 60, 70]}) model = ols('dependent_variable ~ group + covariate', data=df).fit()
Menggunakan modul statsmodels Python, ANCOVA (analisis kovarians) boleh dilakukan. Analisis kovarians (ANCOVA) ialah kaedah statistik yang digunakan untuk membandingkan cara dua atau lebih kumpulan sambil menyesuaikan untuk kesan satu atau lebih pembolehubah berterusan, dipanggil kovariat.
Import Panda dan statsmodel.api
Tentukan data Ancova
Lakukan operasi Ancova
Cetak ringkasan model
Berikut ialah demonstrasi menggunakan perpustakaan scikit-posthocs untuk menjalankan ujian Dunn -
import pandas as pd import statsmodels.api as sm from statsmodels.formula.api import ols # Define the data for the ANCOVA df = pd.DataFrame({'dependent_variable' : [8, 7, 9, 11, 10, 12, 14, 13, 15, 16], 'group' : ["A", "A", "A", "B", "B", "B", "C", "C", "C", "C"], 'covariate' : [20, 30, 40, 30, 40, 50, 40, 50, 60, 70]}) # Perform the ANCOVA model = ols('dependent_variable ~ group + covariate', data=df).fit() # Print the summary of the model print(model.summary())
OLS Regression Results ============================================================================== Dep. Variable: dependent_variable R-squared: 0.939 Model: OLS Adj. R-squared: 0.909 Method: Least Squares F-statistic: 31.00 Date: Fri, 09 Dec 2022 Prob (F-statistic): 0.000476 Time: 09:52:28 Log-Likelihood: -10.724 No. Observations: 10 AIC: 29.45 Df Residuals: 6 BIC: 30.66 Df Model: 3 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 6.0000 1.054 5.692 0.001 3.421 8.579 group[T.B] 2.3333 0.805 2.898 0.027 0.363 4.303 group[T.C] 4.8333 1.032 4.684 0.003 2.308 7.358 covariate 0.0667 0.030 2.191 0.071 -0.008 0.141 ============================================================================== Omnibus: 2.800 Durbin-Watson: 2.783 Prob(Omnibus): 0.247 Jarque-Bera (JB): 1.590 Skew: -0.754 Prob(JB): 0.452 Kurtosis: 1.759 Cond. No. 201.
Anggaran pekali pembolehubah kumpulan dan kovariat, bersama-sama dengan nilai-p dan had keyakinan mereka, akan dimasukkan dalam output kod ini. Data ini boleh digunakan untuk membandingkan min kumpulan semasa mengambil kira kesan kovariat dan untuk menilai kepentingan pembolehubah kumpulan dan kovariat dalam model.
Secara keseluruhan, modul statsmodels menyediakan pengguna Python alat yang berkuasa dan boleh disesuaikan untuk melaksanakan ANCOVA. Ia memudahkan untuk mencipta, menguji, menganalisis dan memahami model ANCOVA dan outputnya.
Akhir sekali, ANCOVA (Analysis of Covariance) ialah kaedah statistik yang digunakan untuk membandingkan min dua atau lebih kumpulan sambil melaraskan pengaruh satu atau lebih pembolehubah berterusan (dipanggil kovariat). ANCOVA adalah serupa dengan ANOVA (Analysis of Variance), tetapi ia membenarkan pembolehubah dimasukkan ke dalam model. Oleh itu, ia adalah alat yang berharga untuk menilai kesan faktor-faktor ini ke atas cara kumpulan dan menjana perbandingan antara kumpulan yang lebih tepat. Ia digunakan secara meluas dalam pelbagai bidang penyelidikan, termasuk psikologi, biologi, dan ekonomi, untuk menilai kesan kovariat pada cara kumpulan dan untuk membuat kesimpulan yang lebih tepat tentang korelasi berubah.
Atas ialah kandungan terperinci Bagaimana untuk melakukan ANCOVA dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!