Jak najlepiej wyświetlić graficznie błąd II (beta), moc i wielkość próbki?

16

Zostałem poproszony o napisanie wstępu do statystyki i mam trudności z graficznym pokazaniem zależności między wartością p a mocą. Wymyśliłem ten wykres:

Dwie krzywe Gaussa oddziałują na siebie

Moje pytanie: czy jest lepszy sposób na pokazanie tego?

Oto mój kod R.

x <- seq(-4, 4, length=1000)
hx <- dnorm(x, mean=0, sd=1)

plot(x, hx, type="n", xlim=c(-4, 8), ylim=c(0, 0.5), 
ylab = "",
xlab = "",
main= expression(paste("Type II (", beta, ") error")), axes=FALSE)
axis(1, at = c(-qnorm(.025), 0, -4), 
     labels = expression("p-value", 0, -infinity ))

shift = qnorm(1-0.025, mean=0, sd=1)*1.7
xfit2 <- x + shift
yfit2 <- dnorm(xfit2, mean=shift, sd=1)

# Print null hypothesis area
col_null = "#DDDDDD"
polygon(c(min(x), x,max(x)), c(0,hx,0), col=col_null)
lines(x, hx, lwd=2)

# The alternative hypothesis area

## The red - underpowered area
lb <- min(xfit2)
ub <- round(qnorm(.975),2)
col1 = "#CC2222"

i <- xfit2 >= lb & xfit2 <= ub
polygon(c(lb,xfit2[i],ub), c(0,yfit2[i],0), col=col1)

## The green area where the power is
col2 = "#22CC22"
i <- xfit2 >= ub
polygon(c(ub,xfit2[i],max(xfit2)), c(0,yfit2[i],0), col=col2)

# Outline the alternative hypothesis
lines(xfit2, yfit2, lwd=2)

axis(1, at = (c(ub, max(xfit2))), labels=c("", expression(infinity)), 
    col=col2, lwd=1, lwd.tick=FALSE)


legend("topright", inset=.05, title="Color",
   c("Null hypoteses","Type II error", "True"), fill=c(col_null, col1, col2), horiz=FALSE)

abline(v=ub, lwd=2, col="#000088", lty="dashed")

arrows(ub, 0.45, ub+1, 0.45, lwd=3, col="#008800")
arrows(ub, 0.45, ub-1, 0.45, lwd=3, col="#880000")

Aktualizacja


Dziękuję za wspaniałe odpowiedzi. Zmieniłem część kodu:

# Print null hypothesis area
col_null = "#AAAAAA"
polygon(c(min(x), x,max(x)), c(0,hx,0), col=col_null, lwd=2, density=c(10, 40), angle=-45, border=0)
lines(x, hx, lwd=2, lty="dashed", col=col_null)

...
legend("topright", inset=.015, title="Color",
   c("Null hypoteses","Type II error", "True"), fill=c(col_null, col1, col2), 
       angle=-45,
       density=c(20, 1000, 1000), horiz=FALSE)

Podoba mi się przerywany, nieco niejasny obraz hipotezy zerowej, ponieważ sygnalizuje, że tak naprawdę jej nie ma. Myślałem o przezroczystości i dodaniu alfa, ale martwię się o to, by zebrać zbyt wiele informacji na jednym zdjęciu i dlatego postanowiłem tego nie robić.

wprowadź opis zdjęcia tutaj

Ograniczenia drukowanych artykułów nie pozwalają mi eksperymentować. Jako odpowiedź wybrałem odpowiedź @Greg Snow z TeachingDemos, ponieważ podoba mi się ten pomysł, ponieważ dwa błędy nie nakładają się na siebie.

Max Gordon
źródło
4
Możesz nieco poprawić wykres, używając pseudo-przezroczystości. Coś jak w tej odpowiedzi .
caracal
@ caracal (+1) Powinienem dodać wzór przerywnikowy (jak ty) dla obszaru pokazującego moc.
chl
To miło, widziałem podobne wątki gdzie indziej. Ale to nie pokazuje rzeczywistych wartości wielu wartości p i mocy przy tych wartościach p. Możesz obliczyć moc dla różnych wartości p i wielkości próbek, a następnie umieścić kilka linii na jednym wykresie
Peter Flom - Przywróć Monikę
1
Być może sprawdzenie, w jaki sposób typy wykresów generowane przez oprogramowanie G * Power 3 byłyby dobre dla pomysłów na to, co drukować. Chociaż z pamięci wydają się bardzo podobne do tego, co prezentowali już chl i caracal (i nie pomogłyby ci jak to zrobić w R).
Andy W
@Andy G * Inspirowane mocą wykresy mocy kontra wykresy wielkości efektu lub wykresy kontra wykresy alfa byłyby naprawdę miłym dodatkiem. W pierwszym przypadku, początek może być to odpowiedź , która powinna być łatwo dostosowane do 2 sprawy.
karakal

Odpowiedzi:

9

Grałem z podobnymi fabułami i stwierdziłem, że działa lepiej, gdy 2 krzywe nie blokują się, ale są raczej przesunięte w pionie (ale nadal na tej samej osi X). Wyjaśnia to, że jedna z krzywych reprezentuje hipotezę zerową, a druga reprezentuje określoną wartość średniej zgodnie z hipotezą alternatywną. power.exampFunkcja w pakiecie TeachingDemos dla R stworzy tych działek i tym run.power.exampfunction (sam pakiet) pozwala interaktywnie zmieniać argumenty i zaktualizować fabuły.

Greg Snow
źródło
+1, bardziej kompletna ilustracja niż moja. (W rzeczywistości wiedziałem, że coś jest w TeachingDemospaczce, ale byłem zbyt leniwy, aby tego szukać).
Chl
14

Kilka myśli: (a) Użyj przejrzystości i (b) Pozwól na pewną interaktywność.

Oto moje zdanie, w dużej mierze zainspirowane apletem Java dotyczącym błędów typu I i typu II - popełnianie błędów w systemie wymiaru sprawiedliwości . Ponieważ jest to raczej czysty kod rysunkowy, wkleiłem go jako gist # 1139310 .

Oto jak to wygląda:

wprowadź opis zdjęcia tutaj

H.0

chl
źródło
To naprawdę niesamowite, nigdy wcześniej nie widziałem aplpack.
Ken Williams,
1
@Ken Thanks. aplpackPakiet ma także kilka dobrych dodatki dla mianowicie danych. Jednak rpanel , który również opiera się na tcl / tk, jest prawdopodobnie lepszą opcją dla bardziej złożonych rzeczy. Teraz, dzięki RStudio i pakietowi manipulacji , łatwo jest również ulepszyć podstawową fabułę w R.
chl.
8

G Power 3 , darmowe oprogramowanie dostępne na komputery Mac i Windows, ma kilka bardzo fajnych funkcji graficznych do analizy mocy. Główny wykres jest zasadniczo zgodny z twoim wykresem i tym, który pokazuje @chl. Wykorzystuje prostą linię prostą do wskazania hipotezy zerowej i alternatywnych rozkładów testowych testu hipotetycznego, a kolory w wersji beta i alfa w osobnych kolorach.

Przyjemną cechą G Power 3 jest to, że obsługuje wiele typowych scenariuszy analizy mocy, a GUI ułatwia eksplorację studentom i badaczom stosowanym.

Oto zrzut ekranu slajdu (wzięty z prezentacji, którą przedstawiłem na temat statystyki opisowej z rozdziałem poświęconym analizie mocy ) z wieloma takimi wykresami pokazanymi po lewej stronie. Jeśli wybierzesz wersję testową T z jednym ogonem, będzie wyglądać bardziej jak twój przykład.

g moc 3 wykresy

Możliwe jest również tworzenie wykresów, które pokazują funkcjonalną zależność między czynnikami istotnymi dla mocy statystycznej i testowania hipotez (np. Alfa, wielkość efektu, wielkość próbki, moc itp.). Przedstawiam kilka przykładów takich wykresów tutaj . Oto przykład takiego wykresu:

wprowadź opis zdjęcia tutaj

Jeromy Anglim
źródło
Ciekawy pakiet, przyjrzę się temu w przyszłości. Wykresy wydają się trochę skomplikowane dla kogoś nowego w tej dziedzinie. Moi odbiorcy to lekarze bez wiedzy matematycznej lub statystycznej. Dzięki!
Max Gordon,