############################################################ # # # Virtual Laboratory of Geomathematics in Python # # # # Enumerative Data Models (18.08.2017) # # # # VLG Team, Complutense University of Madrid, Spain # # # # THIS SCRIPT IS PROVIDED BY THE AUTHORS "AS IS" AND # # CAN BE USED BY ANYONE FOR THE PURPOSES OF EDUCATION # # AND RESEARCH. # # # ############################################################ import scipy.stats as s import numpy as np from statsmodels.stats.proportion import proportions_ztest #Example. Incidence of cancer in a town in the province of Orellana (Ecuador) # TWO PROPORTIONS n1 = 100 x1 = 57 n2 = 100 x2 = 5.7 H0 = 0.0 # alternative : string in [‘two-sided’, ‘smaller’, ‘larger’] HA='larger' x12 = np.array([x1,x2]) n12 = np.array([n1, n2]) z,p = proportions_ztest(x12, n12, H0, HA) print() print(' z-stat. two proportions = {z} \n p-value = {p}'.format(z=z,p=p)) print() # CHI-SQUARE TEST # 2x2 - CONTINGENCE TABLE data_observed = np.array([[43,94.3], [57,5.7]]) chi2_result,p_value,df_value,table_expected=s.chi2_contingency(data_observed) print() confidence_level = 0.95 crit_value = s.chi2.ppf(q = confidence_level, df=df_value) print() oddsratio, p_value_f = s.fisher_exact(data_observed) print ('Contingency table 2x2') print ('====================================') print ('chi2:', chi2_result) print ('p-value:', p_value) print ('df = ', df_value) print('Critical value: ',crit_value) print() print() print(' Fisher exact test:') print() print(' Oddsratio: ',oddsratio,' p-value: ',p_value_f) print() print (' Table') print ('Obs.: ') print(data_observed) print ('Exp.: ') print(table_expected) print ('====================================') print() print()