1# -*- coding: utf-8 -*- 2""" 3 4Created on Wed Mar 13 13:06:14 2013 5 6Author: Josef Perktold 7""" 8 9from statsmodels.stats.power import TTestPower, TTestIndPower, tt_solve_power 10 11if __name__ == '__main__': 12 effect_size, alpha, power = 0.5, 0.05, 0.8 13 14 ttest_pow = TTestPower() 15 print('\nroundtrip - root with respect to all variables') 16 print('\n calculated, desired') 17 18 nobs_p = ttest_pow.solve_power(effect_size=effect_size, nobs=None, alpha=alpha, power=power) 19 print('nobs ', nobs_p) 20 print('effect', ttest_pow.solve_power(effect_size=None, nobs=nobs_p, alpha=alpha, power=power), effect_size) 21 22 print('alpha ', ttest_pow.solve_power(effect_size=effect_size, nobs=nobs_p, alpha=None, power=power), alpha) 23 print('power ', ttest_pow.solve_power(effect_size=effect_size, nobs=nobs_p, alpha=alpha, power=None), power) 24 25 print('\nroundtrip - root with respect to all variables') 26 print('\n calculated, desired') 27 28 print('nobs ', tt_solve_power(effect_size=effect_size, nobs=None, alpha=alpha, power=power), nobs_p) 29 print('effect', tt_solve_power(effect_size=None, nobs=nobs_p, alpha=alpha, power=power), effect_size) 30 31 print('alpha ', tt_solve_power(effect_size=effect_size, nobs=nobs_p, alpha=None, power=power), alpha) 32 print('power ', tt_solve_power(effect_size=effect_size, nobs=nobs_p, alpha=alpha, power=None), power) 33 34 print('\none sided') 35 nobs_p1 = tt_solve_power(effect_size=effect_size, nobs=None, alpha=alpha, power=power, alternative='larger') 36 print('nobs ', nobs_p1) 37 print('effect', tt_solve_power(effect_size=None, nobs=nobs_p1, alpha=alpha, power=power, alternative='larger'), effect_size) 38 print('alpha ', tt_solve_power(effect_size=effect_size, nobs=nobs_p1, alpha=None, power=power, alternative='larger'), alpha) 39 print('power ', tt_solve_power(effect_size=effect_size, nobs=nobs_p1, alpha=alpha, power=None, alternative='larger'), power) 40 41 #start_ttp = dict(effect_size=0.01, nobs1=10., alpha=0.15, power=0.6) 42 43 ttind_solve_power = TTestIndPower().solve_power 44 45 print('\nroundtrip - root with respect to all variables') 46 print('\n calculated, desired') 47 48 nobs_p2 = ttind_solve_power(effect_size=effect_size, nobs1=None, alpha=alpha, power=power) 49 print('nobs ', nobs_p2) 50 print('effect', ttind_solve_power(effect_size=None, nobs1=nobs_p2, alpha=alpha, power=power), effect_size) 51 print('alpha ', ttind_solve_power(effect_size=effect_size, nobs1=nobs_p2, alpha=None, power=power), alpha) 52 print('power ', ttind_solve_power(effect_size=effect_size, nobs1=nobs_p2, alpha=alpha, power=None), power) 53 print('ratio ', ttind_solve_power(effect_size=effect_size, nobs1=nobs_p2, alpha=alpha, power=power, ratio=None), 1) 54 55 print('\ncheck ratio') 56 print('smaller power', ttind_solve_power(effect_size=effect_size, nobs1=nobs_p2, alpha=alpha, power=0.7, ratio=None), '< 1') 57 print('larger power ', ttind_solve_power(effect_size=effect_size, nobs1=nobs_p2, alpha=alpha, power=0.9, ratio=None), '> 1') 58