1 votos

$\chi^2$ prueba de la varianza en Python

Estoy buscando una función en Python que compruebe la hipótesis de que la varianza de una muestra gaussiana es igual a un valor dado, para validar mi propia función.

Hablo de esta prueba: https://www.itl.nist.gov/div898/handbook/eda/section3/eda358.htm

Podría encontrar el $\chi^2$ para la varianza categórica, y las pruebas de Levene y Bartlett para comparar las varianzas de las muestras, pero no esta sencilla prueba. ¿Alguien conoce una función de este tipo en Python?

1voto

farzad Puntos 4180
import numpy as np
from scipy.stats import chi2

def var_test(x, va0, direction = "two-tailed", alpha = 0.05):
    n = len(x)
    Q = (n - 1) * np.var(x) / va0 
    if direction == "lower":
        q = chi2.ppf(alpha, n - 1)
            if Q <= q:
            return "H_0 rejected"
        else:
            return "H_0 not rejected"
    elif direction == "upper":
        q = chi2.ppf(1 - alpha, n - 1)
        if Q >= q:
            return "H_0 rejected"
        else:
            return "H_0 not rejected"
    else:
        q1 = chi2.ppf(alpha / 2, n - 1)
        q2 = chi2.ppf(1 - (alpha / 2), n - 1)
        if Q <= q1 or Q >= q2:
            return "H_0 rejected"
        else:
            return "H_0 not rejected"

n = 25    

x = np.random.normal(0, 3, n)

var_test(x, va0 = 1)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X