Analisis post-hoc setelah ANOVA

Perancangan Eksperimen dengan Python

James Chapman

Curriculum Manager, DataCamp

Kapan menggunakan uji post-hoc

 

  • Setelah hasil ANOVA signifikan
  • Untuk menelaah perbedaan pasangan grup

Roda gigi di balik tirai]

Perancangan Eksperimen dengan Python

Metode post-hoc utama

 

  • Tukey's HSD (Honest Significant Difference)
    • Andal untuk perbandingan berganda
    • Terbaik untuk perbandingan luas
  • Koreksi Bonferroni
    • Menyesuaikan p-value untuk mengendalikan galat Tipe I
    • Terbaik untuk uji terfokus

John Tukey

Carlo Emilio Bonferroni

1 https://www.amphilsoc.org/item-detail/photograph-john-wilder-tukey 2 https://en.wikipedia.org/wiki/Carlo_Emilio_Bonferroni
Perancangan Eksperimen dengan Python

Dataset: kampanye iklan pemasaran

ad_campaigns
              Ad_Campaign  Click_Through_Rate
1300    Seasonal Discount        2.1659547732
1661          New Arrival        2.9409657365
2762       Loyalty Reward        3.2476777154
571     Seasonal Discount        3.3382186561
775     Seasonal Discount        1.7148876401
Perancangan Eksperimen dengan Python

Mengatur data dengan pivot table

pivot_table = ad_campaigns.pivot_table(values='Click_Through_Rate',
                                       index='Ad_Campaign',
                                       aggfunc="mean")
print(pivot_table)
                   Click_Through_Rate
Ad_Campaign                          
Loyalty Reward               2.792716
New Arrival                  3.013843
Seasonal Discount            2.518917
Perancangan Eksperimen dengan Python

Menjalankan ANOVA

from scipy.stats import f_oneway
campaign_types = ['Seasonal Discount', 'New Arrival', 'Loyalty Reward']

groups = [ad_campaigns[ad_campaigns['Ad_Campaign'] == campaign] ['Click_Through_Rate'] for campaign in campaign_types]
f_stat, p_val = f_oneway(*groups) print(p_val)
4.484124496940693e-134
Perancangan Eksperimen dengan Python

Uji HSD Tukey

from statsmodels.stats.multicomp import pairwise_tukeyhsd

tukey_results = pairwise_tukeyhsd(ad_campaigns['Click_Through_Rate'],
ad_campaigns['Ad_Campaign'],
alpha=0.05)
print(tukey_results)
         Multiple Comparison of Means - Tukey HSD, FWER=0.05          
===========================================================================
        group1             group2  meandiff  p-adj   lower    upper  reject
<hr />---------------------------------------------------------------------
Loyalty Reward        New Arrival    0.2211   0.0    0.176   0.2663    True
Loyalty Reward  Seasonal Discount   -0.2738   0.0  -0.3189  -0.2287    True
   New Arrival  Seasonal Discount   -0.4949   0.0  -0.5401  -0.4498    True
<hr />---------------------------------------------------------------------
Perancangan Eksperimen dengan Python

Menyiapkan koreksi Bonferroni

from scipy.stats import ttest_ind
from statsmodels.sandbox.stats.multicomp import multipletests

p_values = []
comparisons = [('Seasonal Discount', 'New Arrival'), ('Seasonal Discount', 'Loyalty Reward'), ('New Arrival', 'Loyalty Reward')]
for comp in comparisons: group1 = ad_campaigns[ad_campaigns['Ad_Campaign'] == comp[0]]['Click_Through_Rate'] group2 = ad_campaigns[ad_campaigns['Ad_Campaign'] == comp[1]]['Click_Through_Rate']
t_stat, p_val = ttest_ind(group1, group2)
p_values.append(p_val)
Perancangan Eksperimen dengan Python

Menerapkan koreksi Bonferroni

p_adjusted = multipletests(p_values, alpha=0.05, method='bonferroni')

print(f"Adjusted P-values: {p_adjusted[1]}")
Adjusted P-values: [5.33634403e-133 2.17627991e-043 5.62590083e-029]
Perancangan Eksperimen dengan Python

Ayo berlatih!

Perancangan Eksperimen dengan Python

Preparing Video For Download...