Jeśli chodzi o dopasowanie danych do rozkładu skośno-normalnego, można obliczyć estymator maksymalnego prawdopodobieństwa na podstawie pierwszych zasad. Pierwsza uwaga: funkcja gęstości prawdopodobieństwa dla rozkładu normalnego skośnego z parametrem lokalizacji , parametrem skali i parametrem kształtu jestω αξωα
2)ωϕ ( x - ξω) Φ ( α ( x - ξω) )
gdzie to standardowa funkcja normalnej gęstości, a to standardowa normalna CDF. Zauważ, że gęstość ta należy do klasy opisanej w mojej odpowiedzi na to pytanie .Φ ( ⋅ )ϕ ( ⋅ )Φ ( ⋅ )
Prawdopodobieństwo logarytmiczne oparte na próbce niezależnych obserwacji z tego rozkładu wynosi:n
- n log( ω ) + ∑i = 1nlogϕ ( x - ξω) +logΦ ( α ( x - ξω) )
Faktem jest, że nie ma rozwiązania w formie zamkniętej dla tego MLE. Ale można to rozwiązać numerycznie. Na przykład, R
możesz zakodować funkcję prawdopodobieństwa jako (zauważ, że uczyniłem ją mniej kompaktową / wydajniejszą niż to możliwe, aby była całkowicie przejrzysta, jak to oblicza powyższą funkcję prawdopodobieństwa):
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]))
}
Teraz po prostu minimalizujemy liczbowo tę funkcję (tj. Maksymalizujemy prawdopodobieństwo). Możesz to zrobić bez konieczności obliczania pochodnych za pomocą algorytmu Simplex , który jest domyślną implementacją optim()
pakietu w R
.
Odnośnie do sposobu testowania skośności: Możemy jawnie przetestować skośność-normalną vs. normalną (ponieważ normalna jest submodelem), ograniczając i wykonując test współczynnika prawdopodobieństwa .α = 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
Dlatego nie odrzucamy hipotezy zerowej, że (tzn. Brak pochylenia).α = 0
Tutaj porównanie było proste, ponieważ rozkład normalny był submodelem. W innych, bardziej ogólnych przypadkach, możesz porównać normalną skośność do innych rozkładów referencyjnych, porównując na przykład AIC (jak tutaj zrobiono ), jeśli używasz estymatorów maksymalnego prawdopodobieństwa we wszystkich konkurencyjnych atakach. Na przykład można dopasować dane według maksymalnego prawdopodobieństwa przy rozkładzie gamma i pod normą skośności i sprawdzić, czy dodatkowe prawdopodobieństwo uzasadnia dodatkową złożoność skośnej normalności (3 parametry zamiast 2). Możesz również rozważyć użycie jednego testu Kołmogorowa Smirnowa do porównania danych z najlepszym dopasowaniem z rodziny o skośnej normie.
Jestem statystykiem, który pracuje w tym zawodzie od ponad 30 lat i przed przeczytaniem tego postu nigdy nie słyszałem o normalnym rozkładzie skośnym. Jeśli masz mocno wypaczone dane, dlaczego chcesz spojrzeć na wypaczenie normalne, a nie na logarytm normalny lub gamma? Za każdym razem, gdy masz parametryczną rodzinę rozkładów, takich jak gamma, lognormal lub skew normal, możesz zastosować test dobroci dopasowania, taki jak chi-kwadrat lub Kołmogorow-Smirnov.
źródło
Więc moim rozwiązaniem było w końcu pobranie pakietu fGarch i
snormFit
dostarczenie go przez fGarch w celu uzyskania MLE dla parametrów do Skewed-Normal.Następnie podłączyłem te parametry, z
dsnorm
funkcją zapewnianą przez fGarch, do testu Kołmogorowa-Smirnowa.źródło
Sprawdź http://www.egyankosh.ac.in/bitstream/123456789/25807/1/Unit6.pdf i http://en.wikipedia.org/wiki/Skewness
Możesz użyć testu Karla Pearsona na skośność. Stosunek trzeciego momentu do sześcianu odchylenia standardowego nazywa się współczynnikiem skośności. Rozkłady symetryczne miałyby skośność = 0
źródło
w SPSS można uzyskać oszacowanie skośności (przechodząc do analizy, a następnie opisów, a następnie oznaczając skośność), a następnie uzyskuje się ocenę skośności i SE (błąd standardowy) skośności. Podziel skośność przez jej SE, a jeśli twój wynik mieści się w przedziale + -1.96, zwykle jest przekrzywiony. Jeśli nie jest przekrzywiony, istnieje wiele testów nieparametrycznych! Powodzenia i wszystkiego najlepszego!
źródło