Güç analizi: örneklem ve etki büyüklüğü

Python ile Deney Tasarımı

James Chapman

Curriculum Manager, DataCamp

Etki büyüklüğüne giriş

 

  • Etki büyüklüğü: İki grup arasındaki farkı ölçer

 

  • Cohen’s d: Etki büyüklüğünün standart ölçüsü

Farklı gübrelerle yetiştirilen iki bitki farklı boyda. Etki büyüklüğünü göstermek için boy farkını belirten bir ok var.

Python ile Deney Tasarımı

Veri seti: video oyunu etkileşimi

  • 60 katılımcı
    • 30’u rastgele Action’a atanır
    • 30’u rastgele Puzzle’a atanır
video_game_data.head()
   Game_Genre  Engagement_Time
0      Action              5.1
1      Puzzle              4.4
2      Action              7.2
3      Action              5.3
4      Puzzle              2.7
Python ile Deney Tasarımı

Güç hesaplamasına genel bakış

  • Güç: yanlış sıfır hipotezini doğru reddetme olasılığı: (1 − β)

    • 0 ile 1 arasında (gerçek etkiyi saptama güvencesi)
  • Geçmiş verilere göre effect_size=1 varsayalım

from statsmodels.stats.power import TTestIndPower
power_analysis = TTestIndPower()

power = power_analysis.solve_power(effect_size=1, nobs1=30, alpha=0.05) print(power)
0.9677082519951168
Python ile Deney Tasarımı

Cohen’s d formülü

def cohens_d(group1, group2):

diff = group1.mean() - group2.mean() n1, n2 = len(group1), len(group2) var1, var2 = group1.var(), group2.var()
pooled_std = np.sqrt(((n1 - 1) * var1 + (n2 - 1) * var2) / (n1 + n2 - 2))
d = diff / pooled_std return d

Birleşik standart sapma: $\sigma_{p} = \sqrt{\frac{(n_1 - 1) \times \text{var}_1 + (n_2 - 1) \times \text{var}_2}{n_1 + n_2 - 2}}$

Python ile Deney Tasarımı

Video oyunu verileri için Cohen’s d

action_times = video_game_data[video_game_data['Game_Genre'] == 'Action']['Engagement_Time']
puzzle_times = video_game_data[video_game_data['Game_Genre'] == 'Puzzle']['Engagement_Time']

d = cohens_d(action_times, puzzle_times) print(f"Cohen's d: {d}")
Cohen's d: 1.161524633221452
Python ile Deney Tasarımı

Örneklem büyüklüğü ve güç: temel bilgiler

  • Güç ve örneklem büyüklüğünü dengelemede ödünleşim
  • Daha büyük örneklemler gücü artırır

Örneklem büyüklüğü ve istatistiksel güç.png

1 https://grabngoinfo.com/power-analysis-for-sample-size-using-python/
Python ile Deney Tasarımı

Bağlamda örneklem büyüklüğü hesabı

  • Yanıt değişkeni: engagement_time
from statsmodels.stats.power import TTestIndPower
power_analysis = TTestIndPower()
required_n = power_analysis.solve_power(effect_size=d, alpha=0.05, 
                                        power=0.99, ratio=1)
print(required_n)
28.237827708942007
Python ile Deney Tasarımı

Gerekli örneklem büyüklüğünün görselleştirilmesi

import numpy as np
import matplotlib.pyplot as plt
effect_sizes = np.linspace(0.1, 0.8, 8)
sample_sizes = [power_analysis.solve_power(effect_size=es, alpha=0.05, power=0.99, 
                                           ratio=1) for es in effect_sizes]

plt.figure(figsize=(10, 6))
plt.plot(effect_sizes, sample_sizes, 'o-')
plt.title('Effect Size vs. Required Sample Size')
plt.xlabel('Effect Size (Cohen\'s d)')
plt.ylabel('Required Sample Size')
plt.grid(True)
plt.show()
Python ile Deney Tasarımı

Gerekli örneklem büyüklüğünün görselleştirilmesi

Etki büyüklüğü ve gerekli örneklem büyüklüğü.png

Python ile Deney Tasarımı

Haydi pratik yapalım!

Python ile Deney Tasarımı

Preparing Video For Download...