¿Puedo hacer una prueba de hipótesis para datos normales asimétricos?

11

Tengo una colección de datos, que originalmente pensé que normalmente se distribuía. Luego lo miré y me di cuenta de que no, principalmente porque los datos están sesgados, y también hice una prueba de shapiro-wilks.

Todavía me gustaría analizarlo utilizando métodos estadísticos, por lo que me gustaría probar la hipótesis de la normalidad de sesgo.

Así que me gustaría saber si hay una manera de evaluar la normalidad sesgada y, si es posible, una biblioteca para hacer la prueba por mí.

Calamares
fuente

Respuestas:

8

Con respecto a cómo ajustar los datos a una distribución normal oblicua Podría calcular el estimador de máxima verosimilitud a partir de los primeros principios. Primero tenga en cuenta que la función de densidad de probabilidad para la distribución normal sesgada con el parámetro de ubicación , el parámetro de escala y el parámetro de forma esω αξωα

2ωϕ(xξω)Φ(α(xξω))

donde es la función de densidad normal estándar y es el CDF normal estándar. Tenga en cuenta que esta densidad es un miembro de la clase descrita en mi respuesta a esta pregunta .Φ ( )ϕ()Φ()

La probabilidad de registro basada en una muestra de observaciones independientes de esta distribución es:n

nlog(ω)+i=1nlogϕ(xξω)+logΦ(α(xξω))

Es un hecho que no existe una solución de forma cerrada para este MLE. Pero, se puede resolver numéricamente. Por ejemplo, en R, podría codificar la función de probabilidad como (tenga en cuenta que lo hice menos compacto / eficiente de lo posible para que sea completamente transparente cómo calcula esto la función de probabilidad anterior):

set.seed(2345)

# generate standard normal data, which is a special case
n = 100 
X = rnorm(n) 

# Calculate (negative) log likelihood for minimization
# P[1] is omega, P[2] is xi and P[3] is alpha
L = function(P)
{

    # positivity constraint on omega
    if( P[1] <= 0 ) return(Inf)

    S = 0
    for(i in 1:n) 
    {
        S = S - log( dnorm( (X[i] - P[2])/P[1] ) ) 
        S = S - log( pnorm( P[3]*(X[i] - P[2])/P[1] ) ) 
    }


    return(S + n*log(P[1]))
}

Ahora solo minimizamos numéricamente esta función (es decir, maximizamos la probabilidad). Puede hacer esto sin tener que calcular derivados utilizando el Algoritmo Simplex , que es la implementación predeterminada en el optim()paquete R.

Con respecto a cómo evaluar la asimetría: podemos probar explícitamente la asimetría normal frente a la normal (dado que normal es un submodelo) restringiendo y haciendo una prueba de razón de probabilidad .α=0

# log likelihood constraining alpha=0. 
L2 = function(Q) L(c(Q[1],Q[2],0))

# log likelihood from the constrained model
-optim(c(1,1),L2)$value
[1] -202.8816

# log likelihood from the full model
-optim(c(1,1,1),L)$value
[1] -202.0064

# likelihood ratio test statistic
LRT = 2*(202.8816-202.0064)

# p-value under the null distribution (chi square 1)
1-pchisq(LRT,1)
[1] 0.1858265

Por lo tanto, no rechazamos la hipótesis nula de que (es decir, sin sesgo).α=0

Aquí la comparación fue simple, ya que la distribución normal era un submodelo. En otros casos, más generales, podría comparar la distribución asimétrica normal con otras distribuciones de referencia comparando, por ejemplo, los AIC (como se hace aquí ) si está utilizando estimadores de máxima verosimilitud en todos los ajustes competitivos. Por ejemplo, podría ajustar los datos por la probabilidad máxima bajo una distribución gamma y bajo la inclinación normal y ver si la probabilidad agregada justifica la complejidad agregada de la inclinación normal (3 parámetros en lugar de 2). También podría considerar usar la prueba de una muestra de Kolmogorov Smirnov para comparar sus datos con la mejor estimación de ajuste de la familia de sesgo normal.

Macro
fuente
1
+1, creo que esta es una respuesta clara, exhaustiva y constructiva. Tengo 1 punto crítico / preocupación en el párrafo final sobre el uso de la AIC. Un problema que tengo con los diversos criterios de información es que asumen que todos los parámetros contribuyen igualmente a la capacidad del modelo para ajustarse a los datos. Al evaluar diferentes modelos de regresión múltiple, creo que esto está bien; sin embargo, si se examinan diferentes tipos de distribuciones, no me queda claro a priori que todos los parámetros ofrezcan la misma flexibilidad. Por lo tanto, me siento incómodo con eso. ¿Cuál es su posición sobre este tema?
gung - Restablece a Monica
+1 Estoy un poco preocupado por algunos problemas con el sesgo normal de Azzalini, tales como: (1) la matriz de información de Fisher de , el parámetro de sesgo, es singular en que indica problemas de inferencia en este punto, especialmente cuando utilizando la estadística de razón de verosimilitud; (2) La probabilidad de perfil de es típicamente muy plana ; (3) Tiene dos puntos de inflexión y el MLE conjunto de no existe para algunos conjuntos de datos. α = 0 α ( μ , σ , α )αα=0α(μ,σ,α)
@gung, este es un buen punto. Estaba usando AIC como ejemplo más que nada, algo más podría usarse, pero he visto a personas usar AIC para comparar modelos con diferentes distribuciones de error, lo que efectivamente supone esta misma suposición de que todos los parámetros son "creados iguales". ¿Has visto alguna literatura sobre este tema? Estaría interesado
Macro
@Procrastinator, cuando , tiene la distribución normal regular como un submodelo. Es sencillo hacer esta comparación sin invertir la información del pescador. Re: (2), sí, esto es cierto, también es cierto que el nivel de asimetría alcanzable con esta distribución es bastante modesto (alcanza un máximo de alrededor de que ocurre cuando diverge a ), así que en cualquier momento el conjunto de datos muestra ese nivel de sesgo, la probabilidad de será bastante plana (es decir, aumenta lentamente a medida que diverge). Supongo que el último comentario también estuvo relacionado con (3)± .9 α ± α αα=0±.9α±αα
Macro
1
α
5

Soy un estadístico que ha trabajado en esta profesión durante más de 30 años y antes de leer esta publicación nunca había oído hablar de la distribución normal sesgada. Si tiene datos muy asimétricos, ¿por qué específicamente quiere ver el sesgo normal en lugar de lognormal o gamma? Cada vez que tenga una familia paramétrica de distribuciones como gamma, lognormal o asimetría normal, puede aplicar una prueba de bondad de ajuste como chi-cuadrado o Kolmogorov-Smirnov.

Michael R. Chernick
fuente
55
La asimetría normal de Azzalini es una distribución popular propuesta en 1985. Tiene soporte en toda la línea real.
1
@Procrastinator Lo sé ahora y probablemente debería haber oído hablar de él antes. Pero supongo que mi punto es que, dado que no había oído hablar de él, quizás sea un poco más oscuro que otras distribuciones sesgadas. Obtengo el punto sobre el soporte en toda la línea real en comparación con mis ejemplos que tienen soporte solo en [0.∞) o {a, ∞) si se agrega un parámetro shift. Estas distribuciones son solo aproximaciones para describir cómo se distribuyen los datos. ¿Sabemos realmente que todos los valores negativos son posibles? En casos prácticos, los datos probablemente tienen límites inferior y superior.
Michael R. Chernick
1
@Procrastinator Eso no tiene nada que ver con mi comentario. Estoy diciendo que los datos reales a menudo están realmente limitados, incluso cuando se pueden aproximar bien con distribuciones ilimitadas.
Michael R. Chernick
1
@Procrastinator No del todo. Si se le da un conjunto finito de números, no puede saber por los datos si provienen o no de una distribución discreta o continua. Lo mismo es cierto para la acotación. Estoy diciendo que, aparte de los datos, usted sabría estrictamente sobre la base de lo que está midiendo si es o no limitado y continuo o discreto. Si, por ejemplo, está midiendo el peso de una persona, sabe que el peso es mayor que 0 y está limitado por las limitaciones físicas, digamos 5000 libras.
Michael R. Chernick
1
Además, aunque las mediciones de peso solo se pueden determinar con un cierto número de decimales, es razonable tratar el peso como continuo. Ahora, si vas a lanzar una moneda 10 veces, sabes que el número de caras que obtendrás debe ser un número entero entre 0 y 10 (tan discreto y acotado). Mi punto es que los límites en la distribución son generalmente muy aparentes. No es tan claro al decidir entre distribuciones continuas y discretas.
Michael R. Chernick
1

Entonces, mi solución al final fue descargar el paquete fGarch , y fue snormFitproporcionado por fGarch para obtener los MLE para los parámetros en Skewed-Normal.

Luego conecté esos parámetros, con la dsnormfunción proporcionada por fGarch, a una prueba de Kolmogorov-Smirnov.

Calamares
fuente
¿Cómo puede combinar MLE y la prueba de Kolmogorov-Smirnov, que es una prueba no paramétrica?
Me gustaría señalar que no tengo idea de lo que estoy haciendo, y simplemente deambulo a ciegas. Supuse que KS funcionaba como chi-cuadrado, y examinó las diferencias entre los datos de muestra que tengo y la distribución en sí misma. R's ks.test acepta primero los datos de muestra y luego una distribución, junto con los parámetros de esa distribución. Usé los MLE como parámetros. Además, mi suposición / recuerdo de cómo funciona Chi-cuadrado también podría haber estado equivocado ...
Squidly
H0:λ=0
H0=λ=0H0
1
@Procrastinator Hay muchas pruebas de bondad de ajuste basadas en el CDF empírico. Kolmogorov Smirnov es uno. Estas pruebas se pueden usar para comparar el cdf empírico con cualquier distribución específica (y con ajustes cuando se estiman parámetros desconocidos antes de la prueba. Tiene toda la razón de que rechazar una distribución por normalidad, por ejemplo, no dice cómo difieren las distribuciones. Pero MrBones si él quiere hacer esto formalmente, puede hacer pruebas de asimetría significativa y luego hacer una prueba de KS o chi cuadrado de asimetría normal. Se pueden hacer ajustes para pruebas múltiples. ¿Por qué estar satisfecho con el OP?
Michael R. Chernick
0

Echa un vistazo a http://www.egyankosh.ac.in/bitstream/123456789/25807/1/Unit6.pdf y http://en.wikipedia.org/wiki/Skewness

Podría usar la prueba de Karl Pearson para la asimetría. La relación entre el tercer momento y el cubo de desviación estándar se llama coeficiente de asimetría. Las distribuciones simétricas tendrían asimetría = 0

Yaya
fuente
2
No quiero resolver el sesgo de mis datos. Sé que está sesgado. Quiero saber si mis datos siguen una distribución asimétrica normal.
Calamar
2
¿Qué software está utilizando? R tiene un paquete 'sn' (sesgo normal) que contiene funciones que calculan las estimaciones de ML. Sin embargo, no estoy seguro de las funciones exactas: consulte este sitio azzalini.stat.unipd.it/SN para obtener detalles sobre el paquete R
NaN
0

en SPSS puede obtener una estimación de la asimetría (yendo a analizar y luego los descriptivos y luego marcar la asimetría), luego obtendrá una puntuación de asimetría y SE (error estándar) de asimetría. Divida la asimetría por su SE y si su puntaje está entre + -1.96, normalmente está sesgada. Si no está sesgado, ¡hay muchas pruebas no paramétricas! ¡Buena suerte y todo lo mejor!

uri
fuente