Jaki jest dobry wskaźnik stopnia naruszenia normalności i jakie opisowe etykiety można przypisać do tego indeksu?

12

Kontekst:

W poprzednim pytaniu @Robbie zadał w badaniu z około 600 przypadków, dlaczego testy normalności sugerują znaczną nienormalność, a wykresy sugerują rozkład normalny . Kilka osób zauważyło, że testy istotności normalności nie są zbyt przydatne. Przy małych próbkach takie testy nie mają dużej mocy do wykrycia łagodnych naruszeń normalności, a przy dużych próbkach wykrywają naruszenia normalności, które są wystarczająco małe, aby nie stanowić problemu.

Wydaje mi się, że ten problem jest podobny do debaty dotyczącej testowania istotności i wielkości efektów. Jeśli skupisz się tylko na testach istotności, gdy masz duże próbki, możesz wykryć małe efekty, które nie mają znaczenia praktycznego, a przy małych próbkach nie masz wystarczającej mocy.

W kilku przypadkach widziałem nawet podręczniki, które doradzają ludziom, że możesz mieć „zbyt dużą” próbkę, ponieważ małe efekty będą statystycznie znaczące.

W kontekście badania istotności i wielkości efektu, jedną prostą rozdzielczością jest skupienie się na oszacowaniu wielkości interesującego efektu, zamiast obsesji na punkcie binarnej reguły decyzji dotyczącej tego, czy efekt jest, czy nie. Przedziały ufności co do wielkości efektu to jedno z takich podejść lub można przyjąć jakąś formę podejścia bayesowskiego. Co więcej, różne dziedziny badawcze budują pomysły na temat tego, co dany rozmiar efektu oznacza w sensie praktycznym, na lepsze lub gorsze, stosując heurystyczne etykiety, takie jak „mały”, „średni” i „duży efekt”. Prowadzi to również do inteligentnej rekomendacji maksymalizacji wielkości próbki w celu maksymalizacji dokładności w szacowaniu danego parametru będącego przedmiotem zainteresowania.

To sprawia, że ​​zastanawiam się, dlaczego podobne podejście oparte na przedziałach ufności wielkości efektu nie jest szerzej propagowane w odniesieniu do testowania założeń, a zwłaszcza testowania normalności.

Pytanie:

  • Jaki jest najlepszy pojedynczy wskaźnik stopnia, w jakim dane naruszają normalność?
  • A może po prostu lepiej mówić o wielu wskaźnikach naruszenia normalności (np. Skośność, kurtoza, występowanie wartości odstających)?
  • Jak można obliczyć przedziały ufności (a może podejście bayesowskie) dla indeksu?
  • Jakiego rodzaju słowne etykiety możesz przypisać punktom na tym indeksie, aby wskazać stopień naruszenia normalności (np. Łagodny, umiarkowany, silny, skrajny itp.)? Celem takich etykiet może być pomoc analitykom o mniejszym doświadczeniu w szkoleniu ich intuicji, kiedy naruszenia normalności są problematyczne.
Jeromy Anglim
źródło
5
Fascynujące pytanie.
rolando2,
1
p
1
@NRH Zgadzam się; to jest to, co robie. Często jednak zapewniam konsultacje statystyczne badaczom o mniejszym doświadczeniu w ocenie stopnia nienormalności na podstawie wykresu. Myślałem, że indeks z różnymi etykietami jakościowymi może uzupełnić trening intuicji wizualnej.
Jeromy Anglim,

Odpowiedzi:

13

A) Jaki jest najlepszy pojedynczy wskaźnik stopnia, w jakim dane naruszają normalność?

B) Czy może lepiej jest mówić o wielu wskaźnikach naruszenia normalności (np. Skośność, kurtoza, występowanie wartości odstających)?

Głosowałbym za B. Różne naruszenia mają różne konsekwencje. Na przykład, unimodalne, symetryczne rozkłady z ciężkimi ogonami sprawiają, że Twoje CI są bardzo szerokie i prawdopodobnie zmniejszają moc wykrywania jakichkolwiek efektów. Średnia jednak wciąż osiąga wartość „typową”. W przypadku bardzo wypaczonych rozkładów średnia na przykład może nie być bardzo rozsądnym wskaźnikiem „wartości typowej”.

C) W jaki sposób można obliczyć przedziały ufności (a może podejście bayesowskie) dla indeksu?

Nie znam statystyk bayesowskich, ale odnośnie klasycznego testu normalności chciałbym zacytować Erceg-Hurn i in. (2008) [2]:

Innym problemem jest to, że testy założeń mają swoje własne założenia. Testy normalności zwykle zakładają, że dane są homoscedastyczne; testy homoscedastyczności zakładają, że dane są zwykle dystrybuowane. W przypadku naruszenia założeń normalności i homoscedastyczności ważność testów założeń może zostać poważnie zagrożona. Wybitni statystycy opisali testy założeń (np. Test Levene'a, test Kołmogorowa – Smirnova) wbudowany w oprogramowanie takie jak SPSS jako fatalnie wadliwy i zalecili, aby nigdy nie używać tych testów (D'Agostino, 1986; Glass & Hopkins, 1996).

D) Jakiego rodzaju słowne etykiety możesz przypisać punktom na tym indeksie, aby wskazać stopień naruszenia normalności (np. Łagodny, umiarkowany, silny, ekstremalny itp.)?

Micceri (1989) [1] przeprowadził analizę 440 dużych zestawów danych w psychologii. Ocenił symetrię i wagę ogona oraz zdefiniował kryteria i etykiety. Etykiety asymetrii wahają się od „względnie symetrycznego” do „umiarkowanego -> ekstremalnego -> wykładniczej asymetrii”. Etykiety dla zakresu masy ogona od „Jednolite -> mniej niż gaussowskie -> O Gaussowskim -> Umiarkowane -> Ekstremalne -> Podwójne wykładnicze zanieczyszczenie”. Każda klasyfikacja opiera się na wielu solidnych kryteriach.

Odkrył, że z tych 440 zestawów danych tylko 28% było względnie symetrycznych, a tylko 15% dotyczyło Gaussa w odniesieniu do masy ogona. Dlatego ładny tytuł pracy:

Jednorożec, normalna krzywa i inne nieprawdopodobne stworzenia

Napisałem Rfunkcję, która automatycznie ocenia kryteria Micceri, a także drukuje etykiety:

# This function prints out the Micceri-criteria for tail weight and symmetry of a distribution
micceri <- function(x, plot=FALSE) {
    library(fBasics)
    QS <- (quantile(x, prob=c(.975, .95, .90)) - median(x)) / (quantile(x, prob=c(.75)) - median(x))

    n <- length(x)
    x.s <- sort(x)
    U05 <- mean(x.s[(.95*n ):n])
    L05 <- mean(x.s[1:(.05*n)])
    U20 <- mean(x.s[(.80*n):n])
    L20 <- mean(x.s[1:(.20*n)])
    U50 <- mean(x.s[(.50*n):n])
    L50 <- mean(x.s[1:(.50*n)])
    M25 <- mean(x.s[(.375*n):(.625*n)])
    Q <- (U05 - L05)/(U50 - L50)
    Q1 <- (U20 - L20)/(U50 - L50)
    Q2 <- (U05 - M25)/(M25 - L05)

    # mean/median interval
    QR <- quantile(x, prob=c(.25, .75)) # Interquartile range
    MM <- abs(mean(x) - median(x)) / (1.4807*(abs(QR[2] - QR[1])/2))

    SKEW <- skewness(x)
    if (plot==TRUE) plot(density(x))

    tail_weight <- round(c(QS, Q=Q, Q1=Q1), 2)
    symmetry <- round(c(Skewness=SKEW, MM=MM, Q2=Q2), 2)

    cat.tail <- matrix(c(1.9, 2.75, 3.05, 3.9, 4.3,
                         1.8, 2.3, 2.5, 2.8, 3.3,
                        1.6, 1.85, 1.93, 2, 2.3,
                        1.9, 2.5, 2.65, 2.73, 3.3,
                        1.6, 1.7, 1.8, 1.85, 1.93), ncol=5, nrow=5)

    cat.sym <- matrix(c(0.31, 0.71, 2,
                        0.05, 0.18, 0.37,
                        1.25, 1.75, 4.70), ncol=3, nrow=3)


    ts <- c()
    for (i in 1:5) {ts <- c(ts, sum(abs(tail_weight[i]) > cat.tail[,i]) + 1)}

    ss <- c()
    for (i in 1:3) {ss <- c(ss, sum(abs(symmetry[i]) > cat.sym[,i]) + 1)}

    tlabels <- c("Uniform", "Less than Gaussian", "About Gaussian", "Moderate contamination", "Extreme contamination", "Double exponential contamination")

    slabels <- c("Relatively symmetric", "Moderate asymmetry", "Extreme asymmetry", "Exponential asymmetry")

    cat("Tail weight indexes:\n")
    print(tail_weight)
    cat(paste("\nMicceri category:", tlabels[max(ts)],"\n"))
    cat("\n\nAsymmetry indexes:\n")
    print(symmetry)
    cat(paste("\nMicceri category:", slabels[max(ss)]))

    tail.cat <- factor(max(ts), levels=1:length(tlabels), labels=tlabels, ordered=TRUE)
    sym.cat  <- factor(max(ss), levels=1:length(slabels), labels=slabels, ordered=TRUE)

    invisible(list(tail_weight=tail_weight, symmetry=symmetry, tail.cat=tail.cat, sym.cat=sym.cat))
}

t

> micceri(rnorm(10000))
Tail weight indexes:
97.5%   95%   90%     Q    Q1 
 2.86  2.42  1.88  2.59  1.76 

Micceri category: About Gaussian 


Asymmetry indexes:
Skewness   MM.75%       Q2 
    0.01     0.00     1.00 

Micceri category: Relatively symmetric



> micceri(rt(10000, 8))
Tail weight indexes:
97.5%   95%   90%     Q    Q1 
 3.19  2.57  1.94  2.81  1.79 

Micceri category: Extreme contamination 


Asymmetry indexes:
Skewness   MM.75%       Q2 
   -0.03     0.00     0.98 

Micceri category: Relatively symmetric



> micceri(rlnorm(10000))
Tail weight indexes:
97.5%   95%   90%     Q    Q1 
 6.24  4.30  2.67  3.72  1.93 

Micceri category: Double exponential contamination 


Asymmetry indexes:
Skewness   MM.75%       Q2 
    5.28     0.59     8.37 

Micceri category: Exponential asymmetry

[1] Micceri, T. (1989). Jednorożec, normalna krzywa i inne nieprawdopodobne stworzenia. Biuletyn psychologiczny, 105 , 156-166. doi: 10.1037 / 0033-2909.105.1.156

[2] Erceg-Hurn, DM i Mirosevich, VM (2008). Nowoczesne, solidne metody statystyczne: Łatwy sposób na maksymalizację dokładności i siły twoich badań. American Psychologist, 63 , 591-601.

Felix S.
źródło
3
+1, to naprawdę świetna odpowiedź. Chcę jednak spierać się o 1 punkt. Stwierdzasz: „jednomodalne, symetryczne rozkłady z ciężkimi ogonami sprawiają, że Twoje CI są bardzo szerokie i prawdopodobnie zmniejszają moc wykrywania jakichkolwiek efektów”. Jeśli nie są ładowane, CI zwykle opierają się na asymptotykach (normalne założenia), więc fakt, że twój dyst ma tłuste ogony, nie ma wpływu na szerokość CI ani moc. Będzie to raczej oznaczać, że prawdopodobieństwo pokrycia empirycznego nie będzie zgodne z zakładanym prawdopodobieństwem pokrycia.
gung - Przywróć Monikę