Czy potrafisz obliczyć moc testu Kołmogorowa-Smirnowa w R?

10

Czy można wykonać analizę mocy dla dwustronnego testu Kołmogorowa Smirnowa w R?

Testuję, czy dwie rozkłady empiryczne różnią się za pomocą ks.test (), i chcę dodać analizę mocy.

Nie znalazłem żadnych wbudowanych analiz mocy dla testów KS w R. Wszelkie sugestie?

Edycja : są to losowo generowane rozkłady, które ściśle przybliżają moje dane (z prawdziwymi rozmiarami próby i szacowanymi prędkościami rozpadu dla rozkładów wykładniczych)

set.seed(100)
x <- rexp(64, rate=0.34)
y <- rexp(54,rate=0.37)

#K-S test: Do x and y come from same distribution?
ks.test(x,y)

Dane te są miarami wielkości ciała w dwóch różnych grupach. Chcę pokazać, że obie grupy mają zasadniczo taką samą dystrybucję, ale współpracownik zapytał mnie, czy mogę powiedzieć, że na podstawie wielkości próby. Losowo czerpałem z rozkładu wykładniczego tutaj, ale są one zbliżone do rzeczywistych danych.

Do tej pory powiedziałem, że nie ma znaczącej różnicy w tych rozkładach na podstawie dwustronnego testu KS. Narysowałem też dwie dystrybucje. Jak mogę pokazać, że mam uprawnienia do złożenia takiego oświadczenia, biorąc pod uwagę rozmiary próbek i współczynniki rozpadu dla xiy?

Sarah
źródło
4
Moc będzie zależeć od wielu rzeczy, dlatego nie byłoby wbudowanego testu dwóch próbek. Możesz symulować dla określonych sytuacji. Więc: Moc biorąc pod uwagę jakie założenia dotyczące sytuacji? Przeciw jakiej alternatywie lub sekwencji alternatyw? Na przykład można obliczyć (zasymulować) krzywą mocy dla wykładniczych danych rozkładowych w porównaniu z zestawem alternatywnych przesunięć skali. Lub możesz obliczyć moc dla normalnego na podstawie zmiany lokalizacji. Lub możesz obliczyć moc w Weibullu, zmieniając parametr kształtu. Czy masz jakieś dodatkowe szczegóły?
Glen_b
Aby faktycznie obliczyć moc, potrzebujesz również wielkości próbki. Jeśli próbujesz zidentyfikować wielkość próbki o określonej mocy w stosunku do konkretnej alternatywy, można to zrobić poprzez wyszukiwanie root, ale często można znaleźć punkt za pomocą prostych podejść (próba kilku rozmiarów próbki jest zwykle wystarczająca, aby zbliżyć się bardzo blisko ).
Glen_b
Jaka zmienna jest mierzona? Czy to są czasy?
Glen_b
@Glen_b To nie są czasy. Są to miary wielkości ciała w dwóch różnych grupach. Chcę pokazać, że obie grupy mają zasadniczo taki sam rozkład, ale zapytano mnie, czy mam moc, aby powiedzieć to na podstawie wielkości próby.
Sarah
1
Ach! To dwa przydatne konteksty, które mogą pomóc w twoim pytaniu. Pomysł polega zatem na tym, że jeśli wykażesz, że moc rozpoznawania pewnych hipotetycznie skromnych różnic była uzasadniona, można by odmówić odrzucenia jako wskazania, że ​​różnica jest niewielka. Tak, wcześniejsza analiza mocy może pomóc w przedstawieniu tego argumentu. Po fakcie prawdopodobnie skupię się bardziej na czymś takim jak oszacowanie (i być może przedział ufności) zmiany skali, co wskazuje, że różnica była w rzeczywistości niewielka, a także wykres dwóch przykładowych plików cdf.
Glen_b

Odpowiedzi:

16

Znalezienie mocy przeciw wykładniczym alternatywom z przesunięciem skali jest dość proste.

Jednak nie wiem, czy powinieneś używać wartości obliczonych na podstawie danych, aby obliczyć moc. Tego rodzaju obliczenia mocy post hoc zwykle prowadzą do sprzecznych z intuicją (i być może wprowadzających w błąd) wniosków.

Moc, podobnie jak poziom istotności, jest zjawiskiem, z którym masz do czynienia przed faktem; użyłbyś a priori zrozumienia (w tym teorii, rozumowania lub wszelkich wcześniejszych badań), aby zdecydować o rozsądnym zestawie alternatyw do rozważenia i pożądanej wielkości efektu

Możesz również rozważyć wiele innych alternatyw (np. Możesz osadzić wykładniczy w rodzinie gamma, aby rozważyć wpływ mniej lub bardziej wypaczonych przypadków).

Typowe pytania, na które można próbować odpowiedzieć za pomocą analizy mocy, to:

1) jaka jest moc, dla danej wielkości próbki, przy pewnym rozmiarze efektu lub zestawie wielkości efektu *?

2) biorąc pod uwagę wielkość i moc próbki, jak duży jest wykrywalny efekt?

3) Biorąc pod uwagę pożądaną moc dla określonego rozmiaru efektu, jaki rozmiar próbki byłby wymagany?

* (gdzie tutaj „wielkość efektu” ma charakter ogólny i może być na przykład szczególnym stosunkiem średnich lub różnicą średnich, niekoniecznie znormalizowanymi).

Najwyraźniej masz już próbkę, więc nie jesteś na wszelki wypadek (3). Możesz rozsądnie rozważyć przypadek (2) lub przypadek (1).

Sugerowałbym przypadek (1) (który daje również sposób na zajęcie się przypadkiem (2)).

Aby zilustrować podejście do przypadku (1) i zobaczyć, jak odnosi się ono do przypadku (2), rozważmy konkretny przykład z:

  • alternatywy przesunięcia skali

  • populacje wykładnicze

  • wielkości próbek w dwóch próbkach 64 i 54

Ponieważ rozmiary próbek są różne, musimy wziąć pod uwagę przypadek, w którym względny rozkład w jednej z próbek jest zarówno mniejszy, jak i większy niż 1 (jeśli były one tego samego rozmiaru, względy symetrii umożliwiają rozważenie tylko jednej strony). Ponieważ jednak są dość zbliżone do tego samego rozmiaru, efekt jest bardzo mały. W każdym razie napraw parametr dla jednej próbki i zmieniaj drugą.

Więc to, co robi, to:

Uprzednio:

choose a set of scale multipliers representing different alternatives
select an nsim (say 1000)
set mu1=1

Aby wykonać obliczenia:

for each possible scale multiplier, kappa 
  repeat nsim times
    generate a sample of size n1 from Exp(mu1) and n2 from Exp(kappa*mu1)
    perform the test
  compute the rejection rate across nsim tests at this kappa

W R zrobiłem to:

alpha = 0.05
n1 = 54
n2 = 64
nsim = 10000
s = c(1.1,1.2,1.5,2,2.5,3) # set up grid for kappa
s = c(1/rev(s),1,s)        #  also below and at 1
rr = array(NA,length(s))   # to hold rejection rates

for(i in seq_along(s)) rr[i]=mean(replicate(nsim,
                                    ks.test(rexp(n1,1),rexp(n2,s[i]))$p.value)<alpha
                                 )

plot(rr~s,log="x",ylim=c(0,1),type="n") #set up plot
points(rr~rev(s),col=3) # plot the reversed case to show the (tiny) asymmetry+noise
points(rr~s,col=1) # plot the "real" case last 
abline(h=alpha,col=8,lty=2) # draw in alpha

co daje następującą „krzywą” mocy

wprowadź opis zdjęcia tutaj

Oś X znajduje się w skali logarytmicznej, oś Y to współczynnik odrzucania.

Trudno tu powiedzieć, ale czarne punkty są nieco wyższe po lewej niż po prawej (to znaczy, że moc jest ułamkowo większa, gdy większa próbka ma mniejszą skalę).

Wykorzystując odwrotną normalną wartość cdf jako transformację współczynnika odrzucenia, możemy uczynić związek między przekształconą szybkością odrzucania a log kappa (kappa jest sna wykresie, ale oś x jest skalowana log) bardzo prawie liniowa (z wyjątkiem bliskiej 0 ), a liczba symulacji była wystarczająco wysoka, aby hałas był bardzo niski - możemy go prawie zignorować w obecnych celach.

Możemy więc po prostu użyć interpolacji liniowej. Poniżej przedstawiono przybliżone rozmiary efektów dla 50% i 80% mocy dla wielkości próbki:

wprowadź opis zdjęcia tutaj

Rozmiary efektów po drugiej stronie (większa grupa ma mniejszą skalę) są tylko nieznacznie przesunięte w stosunku do tej wartości (mogą wybrać ułamek mniejszy rozmiar efektu), ale nie ma to większego znaczenia, więc nie będę się zastanawiać.

Tak więc test wykryje istotną różnicę (ze stosunku skal 1), ale nie małą.


Teraz kilka komentarzy: nie sądzę, aby testy hipotez były szczególnie istotne w odniesieniu do leżącego u podstaw pytania dotyczącego zainteresowania ( czy są całkiem podobne? ), A zatem te obliczenia mocy nie mówią nam nic bezpośrednio związanego z tym pytaniem.

Myślę, że rozwiązujesz to bardziej przydatne pytanie, wstępnie określając, co według ciebie „zasadniczo to samo” oznacza, operacyjnie. To - racjonalnie realizowane w ramach działalności statystycznej - powinno prowadzić do sensownej analizy danych.

Glen_b - Przywróć Monikę
źródło
Dziękuję bardzo! Jest to bardzo pomocne, bardzo doceniane.
Sarah
0

Ponieważ Kołmogorow-Smirnov jest nieparametryczny, więc z definicji nie można przeprowadzić analizy mocy. Aby uzyskać jakieś oszacowanie, musisz założyć model tła (a tym samym odwrócić się od świata nieparametrycznego ...) i użyć go do obliczenia jednego z następujących parametrów: wielkość próby, MDE lub moc (tj. napraw / wybierz dwa i oblicz trzeci).

MDman
źródło