Scipy prueba de significancia
La prueba de significancia (significance test) consiste en hacer una suposición de antemano sobre los parámetros o la forma de la distribución de la población (variable aleatoria), y luego utilizar la información de la muestra para juzgar si esta suposición (hipótesis alternativa) es razonable, es decir, determinar si existe una diferencia significativa entre la situación real de la población y la hipótesis nula. En otras palabras, la prueba de significancia debe determinar si la diferencia entre la muestra y la suposición que hacemos sobre la población es puramente variación aleatoria o si es causada por la inconsistencia entre nuestra suposición y la situación real de la población. La prueba de significancia es una prueba de la suposición que hacemos sobre la población, y su principio es el "principio de imposibilidad práctica de eventos de pequeña probabilidad" para aceptar o rechazar la suposición.
La prueba de significancia es un método para determinar si existe una diferencia entre el grupo de tratamiento experimental y el grupo de control, o entre los efectos de dos tratamientos diferentes, y si esta diferencia es significativa.
SciPy proporciona el módulo scipy.stats para realizar las funciones de la prueba de significancia de Scipy.
Hipótesis estadística
Una hipótesis estadística es una suposición sobre la distribución desconocida de una o más variables aleatorias. Cuando la forma de la distribución de la variable aleatoria es conocida y la hipótesis estadística solo involucra uno o varios parámetros desconocidos de la distribución, se denomina hipótesis paramétrica. El proceso de probar una hipótesis estadística se denomina prueba de hipótesis, y la prueba para determinar una hipótesis paramétrica se denomina prueba paramétrica.
Hipótesis nula
La hipótesis nula (null hypothesis), término estadístico, también llamada hipótesis original, se refiere a la suposición establecida de antemano al realizar una prueba estadística. Cuando la hipótesis nula es verdadera, el estadístico correspondiente debe seguir una distribución de probabilidad conocida.
Cuando el valor calculado del estadístico cae en la región de rechazo, se sabe que ha ocurrido un evento de pequeña probabilidad y se debe rechazar la hipótesis nula.
Una hipótesis a probar generalmente se denota como H0, llamada hipótesis original (o hipótesis nula) (null hypothesis), y la hipótesis opuesta a H0 se denota como H1, llamada hipótesis alternativa (alternative hypothesis).
- Cuando la hipótesis nula es verdadera, decidir rechazar la hipótesis nula se denomina error de tipo I, y su probabilidad de ocurrencia generalmente se denota comoα;
- Cuando la hipótesis nula no es verdadera, decidir no rechazar la hipótesis nula se denomina error de tipo II, y su probabilidad de ocurrencia generalmente se denota comoβ
- α + β no es necesariamente igual a 1.
Generalmente solo se limita la probabilidad máxima de cometer un error de tipo Iα, y no se considera la probabilidad de cometer un error de tipo IIβ. Tal prueba de hipótesis también se denomina prueba de significancia, y la probabilidadαse denomina nivel de significancia.
Los más comúnmente utilizadosαvalores son 0.01, 0.05, 0.10, etc. En general, dependiendo del problema de investigación, si rechazar una hipótesis verdadera conlleva una gran pérdida, para reducir este tipo de error,αel valor debe ser más pequeño; por el contrario,αel valor debe ser más grande.
Hipótesis alternativa
La hipótesis alternativa (alternative hypothesis) es uno de los conceptos básicos de la estadística. Incluye todas las proposiciones sobre la distribución de la población que hacen que la hipótesis nula no se cumpla. La hipótesis alternativa también se denomina hipótesis opuesta o hipótesis sustituta.
La hipótesis alternativa puede reemplazar a la hipótesis nula.
Por ejemplo, para la evaluación de los estudiantes, adoptaremos:
“Los estudiantes están por debajo del promedio” — como hipótesis nula.
Prueba unilateral
La prueba unilateral (one-sided test), también llamada prueba de una cola o prueba de un lado, es un método en la prueba de hipótesis en el que se construye la región crítica utilizando el área de la cola de un solo lado del área encerrada por la curva de densidad del estadístico de prueba y los dos ejes.
Cuando nuestra hipótesis solo prueba un lado del valor, se denomina "prueba de una cola".
Ejemplo:
Para la hipótesis nula:
“均值等于 k”
Podemos tener la hipótesis alternativa:
“平均值小于 k” o “平均值大于 k”
Prueba bilateral
La prueba bilateral (two-sided test), también llamada prueba de dos colas o prueba de dos lados. En la prueba de hipótesis, es un método en el que se construye la región crítica utilizando las áreas de las colas izquierda y derecha del área encerrada por la curva de densidad del estadístico de prueba y el eje x.
Cuando nuestra hipótesis prueba ambos lados del valor.
Ejemplo:
Para la hipótesis nula:
“均值等于 k”
Podemos tener la hipótesis alternativa:
“均值不等于k”
En este caso, la media es menor o mayor que k, y ambos lados deben verificarse.
Valor alfa
El valor alfa es el nivel de significancia.
El nivel de significancia es la probabilidad de error al estimar que el parámetro de la población se encuentra dentro de un cierto intervalo, denotada porαα.
Qué tan extremos deben ser los datos para rechazar la hipótesis nula.
Generalmente se toma como 0.01, 0.05 o 0.1.
Valor P
El valor P indica qué tan extremos son realmente los datos.Compare el valor P con el valor alfa (alpha) para determinar el nivel de significancia estadística.
Si el valor p <= alpha, rechazamos la hipótesis nula y decimos que los datos son estadísticamente significativos; de lo contrario, aceptamos la hipótesis nula.
Prueba T (T-Test)
La prueba T se utiliza para determinar si existe una diferencia significativa entre las medias de dos variables y para determinar si pertenecen a la misma distribución.
Esta es una prueba de dos colas.
La función ttest_ind() toma dos muestras del mismo tamaño y genera una tupla con el estadístico t y el valor p.
Compruebe si los valores dados v1 y v2 provienen de la misma distribución:
Ejemplo
from scipy.stats import ttest_ind
v1 = np.random.normal(size=100)
v2 = np.random.normal(size=100)
res = ttest_ind(v1, v2)
print(res)
El resultado de salida es:
Ttest_indResult(statistic=0.40833510339674095, pvalue=0.68346891833752133)
Si solo desea devolver el valor p, use el atributo pvalue:
Ejemplo
from scipy.stats import ttest_ind
v1 = np.random.normal(size=100)
v2 = np.random.normal(size=100)
res = ttest_ind(v1, v2).pvalue
print(res)
El resultado de salida es:
0.68346891833752133
Prueba KS
La prueba KS se utiliza para verificar si un valor dado se ajusta a una distribución.La función recibe dos parámetros: el valor a probar y la CDF.
La CDF es la función de distribución acumulativa (Cumulative Distribution Function), también llamada función de distribución.
La CDF puede ser una cadena o una función invocable que devuelve una probabilidad.
Se puede utilizar como una prueba de una o dos colas.
Por defecto, es una prueba de dos colas. Podemos pasar el parámetro alternative como una cadena que indique dos colas, menor o mayor.
Compruebe si un valor dado se ajusta a una distribución normal:
Ejemplo
from scipy.stats import kstest
v = np.random.normal(size=100)
res = kstest(v, 'norm')
print(res)
El resultado de salida es:
KstestResult(statistic=0.047798701221956841, pvalue=0.97630967161777515)
Descripción de las estadísticas de datos
Usando la función describe(), se puede ver la información de un array, que incluye los siguientes valores:
- nobs -- número de observaciones
- minmax -- valor mínimo y máximo
- mean -- media aritmética
- variance -- varianza
- skewness -- asimetría
- kurtosis -- curtosis
Muestra la información de descripción estadística del array:
Ejemplo
from scipy.stats import describe
v = np.random.normal(size=100)
res = describe(v)
print(res)
El resultado de salida es:
DescribeResult(
nobs=100,
minmax=(-2.0991855456740121, 2.1304142707414964),
mean=0.11503747689121079,
variance=0.99418092655064605,
skewness=0.013953400984243667,
kurtosis=-0.671060517912661
)
Prueba de normalidad (asimetría y curtosis)
La prueba que utiliza datos observados para determinar si una población sigue una distribución normal se denomina prueba de normalidad. Es un tipo especial e importante de prueba de hipótesis de bondad de ajuste en la decisión estadística.
La prueba de normalidad se basa en la asimetría y la curtosis.
La función normaltest() devuelve el valor p de la hipótesis nula:
“x 来自正态分布”
Asimetría
Es una medida de la simetría de los datos.
Para una distribución normal, es 0.
Si es negativa, significa que los datos están sesgados hacia la izquierda.
Si es positiva, significa que los datos están sesgados hacia la derecha.
Curtosis
Es una medida de si los datos tienen colas pesadas o colas ligeras en comparación con una distribución normal.
Una curtosis positiva significa colas pesadas.
Una curtosis negativa significa colas ligeras.
Encuentre la asimetría y la curtosis de los valores en un array:
Ejemplo
from scipy.stats import skew, kurtosis
v = np.random.normal(size=100)
print(skew(v))
print(kurtosis(v))
El resultado de salida es:
0.11168446328610283 -0.1879320563260931
Compruebe si los datos provienen de una distribución normal:
Ejemplo
from scipy.stats import normaltest
v = np.random.normal(size=100)
print(normaltest(v))
El resultado de salida es:
NormaltestResult(statistic=4.4783745697002848, pvalue=0.10654505998635538)Otras extensiones