Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)