elif U <= 5 / 6: return (5) else: return (6) if __name__ == '__main__': """ Enunciado: Para verificar que cierto dado no estaba trucado, se registraron 1000 lanzamientos, resultando que el número de veces que el dado arrojó el valor i (i = 1, 2, 3, 4, 5, 6) fue, respectivamente, 158, 172, 164, 181, 160, 165. Aproximar el p-valor de la prueba: “el dado es honesto” a) utilizando un aproximación ji-cuadrada b) realizando una simulación """ pi = [1 / 6, 1 / 6, 1 / 6, 1 / 6, 1 / 6, 1 / 6] Ni = [158, 172, 164, 181, 160, 165] n, k = sum(Ni), len(pi) Iter = 1000 T = chi2_stadistical(pi, Ni, n) chi2 = chdtrc(k - 1, T) sim = simulation_distribution(n, Iter, T, k, pi, func) print("Estadístico: {}".format(T)) print("===============================") print("P-valor con Chi-cuadrado: {}".format(chi2)) reject(chi2) print("===============================") print("P-valor con Simulación: {}".format(sim)) reject(sim)
de alambre sujetos a cada uno de los tratamientos por separado: Tratamiento 1: 65.2 67.1 69.4 78.4 74.0 80.3 Tratamiento 2: 59.4 72.1 68.0 66.2 58.5 a) Calcular el p-valor exacto de este conjunto de datos, correspondiente a la hipótesis de que ambos tratamientos tienen resultados idénticos b) Calcular el p-valor aproximado en base a una aproximación normal c) Calcular el p-valor aproximado en base a una simulación """ sample_1 = [65.2, 67.1, 69.4, 78.4, 74.0, 80.3] sample_2 = [59.4, 72.1, 68.0, 66.2, 58.5] Iter = 10000 # Inciso a p_value_exact = p_value_small(sample_1, sample_2) print("P-valor exacto: {}".format(p_value_exact)) reject(p_value_exact) print("===============================") # Inciso b p_value_normal = p_value_big(sample_1, sample_2) print("P-valor normal: {}".format(p_value_normal)) reject(p_value_normal) print("===============================") # Inciso c p_value_simulated = p_value_simulation(sample_1, sample_2, Iter) print("P-valor simulado: {}".format(p_value_simulated)) reject(p_value_simulated)
from functions import d_sample_exponential, p_value, reject if __name__ == '__main__': """ Enunciado: Calcular una aproximación del p-valor de la hipótesis: “Los siguientes 13 valores provienen de una distribución exponencial con media 50”: 86, 133, 75, 22, 11, 144, 78, 122, 8, 146, 33, 41, 99. """ H0 = "H0: Los siguientes 13 valores provienen de una distribución " H0 += "exponencial con media 50" text = "P-valor con Kolmogorov-Smirnov:" sample = [86, 133, 75, 22, 11, 144, 78, 122, 8, 146, 33, 41, 99] sample.sort() n, Iter, d = len(sample), 10000, d_sample_exponential(sample, 1 / 50) p_value = p_value(n, Iter, d) print("Estadístico: {}".format(d)) print("===============================") print("{}\n{} {}".format(H0, text, p_value)) reject(p_value)
if __name__ == '__main__': """ Enunciado: Decidir si los siguientes datos corresponden a una distribución Normal: 91.9 97.8 111.4 122.3 105.4 95.0 103.8 99.6 96.6 119.3 104.8 101.7. Calcular una aproximación del p-valor. """ H0 = "H0: Los siguientes datos corresponden a una distribución normal" text = "P-valor con Kolmogorov-Smirnov:" sample = [ 91.9, 97.8, 111.4, 122.3, 105.4, 95.0, 103.8, 99.6, 96.6, 119.3, 104.8, 101.7 ] sample.sort() n, Iter = len(sample), 10000 mu, sigma = mu_sigma_normal_estimate(sample) d = d_sample_normal(sample, mu, sigma) p_value_1 = p_value_normal(n, mu, sigma, d, Iter) p_value_2 = p_value(n, Iter, d) print("Estadístico: {}".format(d)) print("===============================") print("{}\n{}".format(H0, text)) print("Estimando parámetros en cada iteración: {}".format(p_value_1)) reject(p_value_1) print("===============================") print("Sin estimar parámetros: {}".format(p_value_2)) reject(p_value_2)