Informazioni su come adattare i dati a una distribuzione normale obliqua È possibile calcolare lo stimatore della massima verosimiglianza dai primi principi. Prima nota che la funzione di densità di probabilità per la distribuzione normale inclinata con il parametro di posizione , il parametro di scala ω e il parametro di forma α èξωα
2ωϕ ( x - ξω) Φ ( α ( x - ξω) )
dove è la funzione di densità normale standard e Φ ( ⋅ ) è la CDF normale standard. Nota che questa densità è un membro della classe descritta nella mia risposta a questa domanda .ϕ ( ⋅ )Φ ( ⋅ )
La probabilità logaritmica basata su un campione di osservazioni indipendenti da questa distribuzione è:n
- n registro( ω ) + ∑i = 1nlogϕ ( x - ξω) +registroΦ ( α ( x - ξω) )
È un dato di fatto che non esiste una soluzione a forma chiusa per questo MLE. Ma può essere risolto numericamente. Ad esempio, in R
, potresti codificare la funzione di verosimiglianza come (nota, l'ho resa meno compatta / efficiente del possibile per renderla completamente trasparente come questo calcola la funzione di verosimiglianza sopra):
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]))
}
Ora minimizziamo numericamente questa funzione (cioè massimizziamo la probabilità). Puoi farlo senza dover calcolare le derivate usando l' algoritmo Simplex , che è l'implementazione predefinita nel optim()
pacchetto in R
.
α = 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
α = 0
Qui il confronto era semplice, poiché la distribuzione normale era un modello secondario. In altri casi più generali, è possibile confrontare lo skew-normal con altre distribuzioni di riferimento confrontando, ad esempio, AIC (come fatto qui ) se si utilizzano gli stimatori della massima probabilità in tutti gli adattamenti concorrenti. Ad esempio, è possibile adattare i dati con la massima verosimiglianza a una distribuzione gamma e al disallineamento normale e vedere se la verosimiglianza aggiunta giustifica la complessità aggiunta del disallineamento normale (3 parametri anziché 2). Potresti anche prendere in considerazione l'utilizzo del test di Kolmogorov Smirnov per un campione per confrontare i tuoi dati con la migliore stima della famiglia normale inclinata.