Anita Morskala

Anita Morskala Student, nieistotne

Temat: Pomoc statystyczna do doktoratu, proszę o wskazówki

Szanowni Państwo,

Przygotowuję stastyczne opracowanie wyników do mojej pracy doktorskiej. Promotor zwrócił mi uwagę na kilka problematycznych zagadnień z którymi już się kiedyś spotkał bo zwrócił mu uwagę jakiś recenzent. Ta praca trafi na pewną konferencję, gdzie będzie na pewno poddawana dyskusji, a ja mam być pewna metod jakie zastosowałam. Promotor polecił mi dowiedzieć się, jak się z nimi uporać i poradził by szukać pomocy na forach poświęconych statystyce. Czas mnie nagli. Bardzo proszę o chociaż jakieś wskazówki. A problemy mam następujące.

Problem 1: w mojej pracy mam niewiele danych i ich rozkłady nie są wcale normalne, więc korzystam z testów nieparametrycznych. Porównuję dwie grupy badanych osób i chcę wykazać, że między nimi jest pewna różnica. Mam na przykład umieć wykazać kiedy stosować do takich rzeczy test Manna-Wilcoxona a kiedy Kołmogorowa-Smirnova. Podobno z powodu złego zastosowania tego testu wiele prac jest odrzucanych. Szukałam odpowiedzi i widzę, że test Kołmogorowa jest "słabszy", a więc powinnam stosować test Manna, ale dlaczego wówczas aż tyle osób źle go stosuje? Czy jest nieodpowiedni z jakichś przyczyn?

Problem 2: jedna z moich zmiennych ma strasznie skośny rozkład. Wartość najmniejsza to 4 maksymalna to 1200, a mediana w okolicy 24. Jak ja mam wyznaczyć przedział ufności dla mediany? Pewien statystyk polecił mi użyć czegoś o nazwie pseudomediana Hodgesa albo użyć kwartyla rozkładu normalnego? Coś mi tam na szybko policzył ale dostał bardzo różne wyniki: 12-28, 24-30, wysłał mi je a potem wyjechał gdzieś i nie mam z nim kontaktu, a zdałam sobie sprawę że mam problem. Co powinnam zaraportować? Jak to ugryźć?

Problem 3: mam do porównania kilka grup badanych i tabelkę 3x4 tylko są w niej bardzo mało liczne grupy. Promotor polecił mi użyć dokładnego testu Fishera. Poszukałam ale widzę, że on jest tylko dla tabel 2x2. Jest jakiś inny test Fishera?

Problem 4: jak mogę określić "wielkość efektu" dla testu t? Kazano mi to policzyć.

Problem 5: mam wykonać model wpływu pewnych czynników na "sukces/porażka". Doczytałam, że aby stosować regresję logistyczną muszę mieć odpowiednio liczną próbę. Czy jeśli mam 130 poprawnych przypadków to jest to wystarczające?

Proszę chociaż o jakieś naprowadzające wskazówki. Będę bardzo zobowiązana!

Pozdrawiam, Anita

konto usunięte

Temat: Pomoc statystyczna do doktoratu, proszę o wskazówki

Jeżeli jest Pani z Krakowa to proponuję się skontaktować z prof. Andrzejem Sokołowskim z Uniwersytetu Ekonomicznego. On od lat współpracuje z medykami i zna się na tych zagadnieniach.

Pozdrawiam
MB

Temat: Pomoc statystyczna do doktoratu, proszę o wskazówki

Rada dr Błażejowskiego jest rozsądna. Ze swej strony polecam prof. Stanisza (autora słynnej "trylogii" o statystyce medycznej z zastosowaniem pakietu Statistica), kolejnego guru statystyki medycznej, również z Krakowa. Może także krakowski StatSoft (prof. Stanisz z nimi współpracuje) coś pomoże, w rozsądnej kwocie, w ramach wsparcia młodych doktorantów, a Pani praca trafi do sprzedawanego przez nich zbiorku :)

Spróbuję jednak nieco pomóc. No to jedziemy.
kiedy Kołmogorowa-Smirnova. Podobno z powodu złego zastosowania tego testu wiele prac jest odrzucanych.

Jest, bo to "very common problem", gdy początkujący analitycy nagminnie stosują MWW (Mann-Whitney-Wilcoxon) wtedy, gdy powinno się testy interwałowe*. MWW to takie panaceum - "hmmm, czy mogę zastosować test t-Studenta? Nie? Aha, no to użyję MWW".

/ * testów interwałowych jest więcej. K-S jest już archaiczny. Nowsze to test Cramera-von Misesa, jego ulepszenie - test Andersona-Darlinga, test Shapiro-Wilka. /

Oba testy stosuje się do odpowiedzi na jedno z dwóch pytań:
1. czy, mówiąc obrazowo - istnieją statystycznie znamienne różnice między dwiema próbami?
2. czy obie próby pochodzą z takiego samego rozkładu, a więc z tej samej populacji?

Można to sprawdzić na kilka sposobów, ale każdy sposób ma swoje wady i zalety.

Ważne: każdy rozkład charakteryzują pewne parametry: położenia, skali (dyspersji) i - dla niektórych rozkładów - kształtu. I teraz, posługując się tymi terminami, można powiedzieć, że:

* Test K-S, ponieważ bada różnice w rozkładach (konkretnie bada "odległości" między dystrybuantami - stąd nazwa "interwałowy"), jest czuły na zmiany kształtu dystrybuanty. A zatem "zareaguje" na zmian wszystkich powyższych parametrów: skali, położenia i kształtu. Co ważne, test K-S nie zakłada niczego o rozkładach. Co z tego wynika? Oczywiście, jeśli dwie dystrybuanty są stochastycznie równe, to oba rozkłady "mają taki sam kształt, tak samo wyglądają" i w dodatku "leżą na sobie" (zerowe przesunięcie). Jeśli nie są - to próby pochodzą z różnych populacji. Proste i intuicyjne. Wniosek? K-S zbada "wszystko na raz" - przesunięcie i skalę (i ew. kształt) poprzez badanie odległości obu dystrybuant.

EDIT: K-S ma sens wtedy, gdy obie dystrybuanty mają w relatywnie podobny kształt, ponieważ dokonuje pomiaru punktowego (największa różnica). Nie mają tej wady testy takie jak Cramera-von Misesa albo jego nowsza wersja - Andersona-Darlinga (całki, więc "patrzą całościowo" na krzywe).

* Test MWW bada jedynie różnice w "przesunięciu" (położenie) rozkładów obu prób ALE JUŻ przy założeniu, że pochodzą one z rozkładu o takim samym kształcie. Jeśli kształty nie będą identyczne, to test może tego nie wykryć, gdyż skupia się tylko na położeniu. Okaże się wtedy, że chociaż próby wcale nie pochodzą z tej samej populacji, ale mają znikomo przesunięte rozkłady, to test tego nie wykrył.

A dlaczego tak się dzieje? Ponieważ MWW opiera się o porównanie sum rang w obu próbach, których wartości wynikają z wzajemnego położenia elementów tych prób względem siebie. Jeśli rozkłady są w miarę symetryczne i "wycentrowane" (zerowe przesunięcie, podobny kształt rozkładu), to sumy rang będą podobne; polecam zagłębić się w formułę testu MWW, jest prosta.

Nie ważne, jak bardzo zwiększy się dyspersję jednego z rozkładów, "wzajemny układ rang" dla obu prób pozostanie taki sam (elementy będą się dość symetrycznie przeplatać).

Trzeba pamiętać, co daje nam rangowanie - niweluje różnice ("zrównuje jedności i miliony") i linearyzuje zależności. Proszę spojrzeć:

Próba 1: -3, -2, -1, 0, 1, 2, 3
Próba 2: -300, -200, -100, 100, 200, 300

Czy te próby się różnią? Dla mnie tak, ponieważ chociaż są "wycentrowane", to jednak jedna ma dyspersję rzędu jednostek, a druga setek. Ale sprawdźmy.

Niech ranga danej wartości z danej próby to R_próba(wartość), np. ranga wartości "-3" z pierwszej próby to R1(-3). Uporządkujmy te rangi i nadajmy im wartości:

R2(-300)=1, R2(-200)=2, R2(-100)=3, R1(-3)=4, R1(-2)=5, R1(-1)=6, R1(0)=7, R1(1)=8, R1(2)=9, R1(3)=10, R2(100)=11, R2(200)=12, R3(300)=13

Jak się ułożyły rangi? (X - rangi dużych wartości, o - małych wartości): XXX ooooooo XXX - piękna symetria. Zwiększenie wariancji 2 próby nawet trylionkrotnie kompletnie nic tu nie zmieni.

Policzmy sumy rang:

Próba 1: 4+5+6+7+8+9+10 = 49
Próba 2: 1+2+3+11+12+13 = 42

Bierzemy tabele wartości krytycznych testu U dla n1=6, n2=7, R1=42. Otrzymujemy p-value = 1.0

Oczywiście, jeśli dwa rozkłady różnią się znacznie w odstępach i kształtach, to oba testy "dadzą radę". Ale zawsze trzeba pamiętać, kiedy Wilcoxon może nas wprowadzić w błąd.

Równość skal dwóch prób mierzy np. test Ansariego-Bradleya. Mamy ładną analogię do zagadnienia Berensa-Fishera z dziedziny testów parametrycznych, czyli porównania odległości między dwoma rozkładami o różnej dyspersji.
Mamy takie oto odpowiedniki testów (nieparam.-param.)
- test Ansariego-Bradleya równości dyspersji = test F na równość wariancji
- test MWW zerowego przesunięcia = test t na równość średnich.
- test Kołmogorowa-Smirnova gdy różne dyspersje = test t-Welscha różnych wariancji

Chociaż trzeba wyraźnie podkreślić, że test K-S to nie jest "skorygowany" test MWW (jak test t-Welscha jest skorygowanym pod względem wariancji testem t-Studenta), tylko zupełnie innym testem.

A teraz dość teorii - pora na przykład (w języku "R") na to, jak brak sprawdzenia założenia o równości parametru skali może diametralnie wpłynąć na różnice w określeniu istotności różnic dwóch prób.

# dwa rozkłady normalne, ta sama średnia, różne rozproszenia  (wariancje)
> x <- rnorm(50, 10, 1)
> y <- rnorm(50, 10, 10)
> ansari.test(x,y)

Ansari-Bradley test

data: x and y
AB = 1845, p-value = 3.775e-15
alternative hypothesis: true ratio of scales is not equal to 1

> wilcox.test(x,y)

Wilcoxon rank sum test with continuity correction

data: x and y
W = 1090, p-value = 0.2715
alternative hypothesis: true location shift is not equal to 0

> ks.test(x,y)

Two-sample Kolmogorov-Smirnov test

data: x and y
D = 0.54, p-value = 4.929e-07
alternative hypothesis: two-sided


Jeśli zna Pani pakiet obliczeniowy "R", to proszę poeksperymentować. Podaję funkcję, która w "iter" iteracjach generuje próby z rozkładu normalnego o różnych parametrach - przesunięciu (średnia) i skali (odch. std.) i "traktuje" je testem K-S i MWW.

Testy <- function(iter, dif, disp) {

testW <- array(iter, 0)
testKS <- array(iter, 0)

for(i in 1:iter) {
x <- rnorm(50, 0, 1)
y <- rnorm(50, 0 + dif, 1+disp)
testW[i] <- wilcox.test(x,y)$p.value
testKS[i] <- ks.test(x,y)$p.value
}

pvalW = 1-length(testW[testW<0.05]) / iter
pvalKS = 1-length(testKS[testKS<0.05]) / iter

layout(c(1,2))
hist(testW, main=sprintf("dif=%.1f, disp=%.1f, pval_Wilcox=%.5f", dif, disp, pvalW))
hist(testKS, main=sprintf("dif=%.1f, disp=%.1f, pval_KS=%.5f", dif, disp, pvalKS))

}


U mnie wyniki symulacji były takie:

       it.   śr. dysp.    pv KS    pv Wilcox
----------------------------------------
1. Brak przesunięcia, coraz większa dyspersja

Testy( 100, 0, 0) 0.96 0.94
Testy( 100, 0, 1) 0.60 0.89
Testy( 100, 0, 2) 0.16 0.88
Testy( 100, 0, 3) 0.01 0.96
Testy( 100, 0, 100) 0.0000 0.89

2. stała dyspersja, coraz większe, ale minimalne przesunięcie

Testy( 100, 0.1, 0) 0.93 0.91
Testy( 100, 0.3, 0) 0.75 0.70
Testy( 100, 0.5, 0) 0.54 0.40
Testy( 100, 0.7, 0) 0.20 0.10
Testy( 100, 0.8, 0) 0.08 0.02
Testy( 100, 1.0, 0) 0.02 0.0000


Na pozostałe pytania odpowiem po małej przewie :)

PS: zapomniałem o wniosku :) Najpierw proszę sprawdzać założenie o równości skali testem np. Ansariego-Bradleya. Jak odrzuci H0, to test K-S. Jak nie odrzuci - to MWW. I to wszystko :)Adrian Olszewski edytował(a) ten post dnia 18.05.12 o godzinie 13:59

Temat: Pomoc statystyczna do doktoratu, proszę o wskazówki

I reszta odpowiedzi.
Problem 2: jedna z moich zmiennych ma strasznie skośny rozkład. Wartość najmniejsza to 4 maksymalna to 1200, a mediana w okolicy 24. Jak ja mam wyznaczyć przedział ufności dla mediany? Pewien statystyk polecił mi użyć czegoś o nazwie pseudomediana Hodgesa albo użyć kwartyla rozkładu normalnego? Coś mi tam na szybko policzył ale dostał bardzo różne wyniki: 12-28, 24-30, wysłał mi je a potem wyjechał gdzieś i nie mam z nim kontaktu, a zdałam sobie sprawę że mam problem. Co powinnam zaraportować? Jak to ugryźć?

Nie ma się co dziwić, przy takiej skośności. Spróbowałbym bootstrapu, aczkolwiek
zależnie od jego metody dostanie się też różne wyniki (studentyzowane percentyle czasem są "niestabilne"). Estymator Hodgesa jest też OK. Wynik - który Pani chce, tylko trzeba podać jaką metodą go został uzyskany.

Podaję przydatną aproksymację z rozkładu dwumianowego, zwaną aproksymacją percentylową. Warto pamiętać o tak prostej rzeczy. Czasem metoda bootstrapowa zgłosi wyjątek ("estimated adjustment 'w' is infinite") i nie ma żadnych wyników. Wtedy poniższa metoda zwróci to, co bootstrap w sekcji "Percentile".

sort(x)[qbinom(c(.025,.975), length(x), 0.5)]


Pseudomedianę Hodgesa policzy wilcox.test(x, conf.int=T)

Zaś bootstrap:
x <- na.omit(ramka_danych$zmienna)
boot.ci(boot(x,function(x,i) median(x[i]), R=1000))


Ja bym postąpił jeszcze inaczej. Poszukał punktu podziału danych tak, żeby otrzymać mniej asymetryczne podgrupy. Może ten parametr okaże się niezłym dyskryminatorem z "podtekstem klinicznym". Proszę spróbować tak zrobić, a będzie Pani mieć realniejsze oszacowania przedziałów ufności a i może okaże się, że istnieje wyraźny kliniczny obraz w obu grupach.

> Problem 3: mam do porównania kilka grup badanych i tabelkę 3x4
tylko są w niej bardzo mało liczne grupy. Promotor polecił mi użyć dokładnego testu Fishera. Poszukałam ale widzę, że on jest tylko dla tabel 2x2. Jest jakiś inny test Fishera?

Oryginalnie Fisher zaproponował test do tablic 2x2. Test ten został uogólniony na wymiar MxN przez Freemana i Haltona. I chociaż poprawnie na ten mówi się "test Fishera-Freemana-Haltona", to często skraca się go prostu do "test Fishera". Takich przypadków jest więcej.
Problem 4: jak mogę określić "wielkość efektu" dla testu t? Kazano mi to policzyć.

Omega kwadrat, eta kwadrat i bodajże indeks d Cohena. Proszę poszukać wzorów.
Problem 5: mam wykonać model wpływu pewnych czynników na "sukces/porażka". Doczytałam, że aby stosować regresję logistyczną muszę mieć odpowiednio liczną próbę. Czy jeśli mam 130 poprawnych przypadków to jest to wystarczające?

Nie wiadomo.

Proszę podać, ile poprawnych obserwacji zawiera najmniej liczna klasa, a następnie, ile predyktorów zamierza Pani testować na starcie (nie ile predyktorów znajdzie się ostatecznie w modelu).

Opowiem na swoim przykładzie. Przy okazji analiz do pewnego badania naukowego w dziedzinie chirurgii okulistycznej miałem w grupie "porażka" 17 przypadków, a w grupie "sukces" - 102. Były 4 predyktory. I niestety, było za mało danych, nie mogłem uzyskać "zbieżności" podczas estymacji parametrów modelu.

Reguła kciuka mówi: zalecana liczebność grupy = stopnie_swobody / frakcja najmniej licznej grupy.

U mnie to było:
df = liczba_predyktorów * 15 (średnio 15 obserwacji na predyktor, podają <10;20>)
frakcja najmniej licznej grupy = 17/119 ~ 14%

Zalecana liczebność łącznie w obu grupach = (4*15)/0,14 ~ 430 obserwacji, czyli miałem ich 3 razy za mało.

Jeśli ma Pani podobną sytuację, to można zastosować inne podejścia - wszystkie powinny się dobrze sprawdzić:

1. dokładna regresja logistyczna. Np. w SAS jest dokładna, a w R - aproksymacja (co ma zalety i wady) bayesowską (Monte Carlo) z wykorzystaniem łańcuchów Markowa. Niestety, nie wiem, co z oceną dopasowania - ma jakiś ktoś pomysł? Kryteria informacyjne? Walidacja krzyżowa?

Chociaż nie... Przy tej liczbie danych sprawdzianu krzyżowego raczej się nie zrobi, bo trzeba by bardziej zrównoważyć obie grupy, a to zawsze ryzyko przy tak małej ich liczbie.

2. Metoda szacowania z ograniczeniem Firtha lub Jeffreya. Polecam, przydatna zwłaszcza przy separacji i quaziseparacji danych (zwykle występuje, gdy jest mało danych).

3. metody Monte Carlo:
- bootstrap, ale trzeba uważać - jeśli GLM nie uzyskuje zbieżności na danych wejściowych, bo są np. separowalne, to losowanie z tego zbioru to wrzucanie tych samych śmieci. Bootstrap to nie jest lekarstwo na śmieci i to jeszcze nieliczne śmieci. Co któreś losowanie pojawi się brak zbieżności i nie oszacują się parametry, a więc rozkład oszacowań w funkcji permutacji będzie niekompletny.

- permutacja reszt z modelem liniowym. Pakiet w R to logperm. Testowałem raz w życiu dla "zabawy".

Reasumując - polecam albo dokładną regresję logistyczną, albo Firtha. Zwłaszcza ta ostatnia cieszy się popularnością w medycynie.

4. zamienić zagadnienie na analizę logliniową. Trzeba tylko zmienne ilościowe skategoryzować przedziałami. Obniży się moc, bo utracone zostaną informację o relacji porządku, ale zawsze to ostatnia deska ratunku.

Ufff, to chyba już wszystko.

Pozdrawiam.Adrian Olszewski edytował(a) ten post dnia 31.01.12 o godzinie 14:35
Anita Morskala

Anita Morskala Student, nieistotne

Temat: Pomoc statystyczna do doktoratu, proszę o wskazówki

Panie Adrianie,

Dziękuję za obszerne wyjaśnienia. Pokazałam Pana wiadomość profesorowi i powiedział, że brzmi to wszystko sensownie i czytelnie. Niestety, o podanych przez Pana modelach regresji logistycznej nie słyszał, ale dziś skonsultuje to z recenzentami. Wzory na omegę i etę znalazłam, bardzo dziękuję. Co do mediany, to ma Pan rację, podzieliłam zbiór badanych na trzy grupy z punktu widzenia klinicznego i nawet jeden rozkład jest normalny a pozostałe dwa o wiele mniej skośne. Będę musiała trochę przebudować treść pracy w oparciu o tę nowość. Mam nadzieję, że teraz prace przebiegną już sprawnie.

W wyniku rozmowy z promotorem chciałabym też zapytać, czy nie zgodziłby się Pan objać konsultacją statystyczną mojej pracy? Czy ma Pan jakieś referencje? Jeśli tak, proszę napisać do mnie wiadomość, to podyskutujemy o szczegółach a najlepiej podać swój e-mail. Niestety, sprawa jest dość pilna.

Jakiego pakietu statystycznego Pan używa? Czy ten R to coś takiego jak Mapple?

Czym Pan się zajmował w chirurgii oka? Mam koleżankę w ten dziedzinie, która być może będzie jak ja potrzebować pomocy.

Temat: Pomoc statystyczna do doktoratu, proszę o wskazówki

Anita Morskala:
Czy ma Pan jakieś referencje? Jeśli tak, proszę napisać do mnie wiadomość, to podyskutujemy o szczegółach a najlepiej podać swój e-mail. Niestety, sprawa jest dość pilna.

W porządku.
Jakiego pakietu statystycznego Pan używa?

GNU R z dodatkami, Statistica 9 (tylko u klienta), Weka, Orange, RapidMiner.
Czy ten R to coś takiego jak Mapple?

I Maple i R to pakiety do obliczeń, z tą różnicą, że R jest ukierunkowany (biblioteki) na obliczenia statystyczne, a z kolei Maple - na symboliczne i z rozbudowanym modułem grafiki. R to środowisko praktycznie czysto tekstowe (choć jest kilka graficznych nakładek) i raczej mało przyjazne dla początkujących, ascetyczne.

Dzięki licznym bibliotekom zawierającym ogromną liczbę metod statystycznych na chyba każdy temat, często takich, których daleko szukać w innych pakietach (i często w kilku odmianach), obowiązkowo podawanej literaturze w opisie do każdej z nich (pozwala poznać zaimplementowane algorytmy), a także rozbudowanej społeczności użytkowników pakiet oferuje potężne możliwości, zwłaszcza dla analityka-eksperymentatora. Niestety, ma wysoki "próg wejścia".

Na zachodzie jest już standardem w R&D.
NY Times: Data Analysts Captivated by R’s Power

[...]R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia. It is becoming their lingua franca partly because data mining has entered a golden age, whether being used to set ad prices, find new drugs more quickly or fine-tune financial models. Companies as diverse as Google, Pfizer, Merck, Bank of America, the InterContinental Hotels Group and Shell use it.

R na tle innych pakietów
Czym Pan się zajmował w chirurgii oka? Mam koleżankę w ten dziedzinie, która być może będzie jak ja potrzebować pomocy.

Dakrocystorhinostomia + mitomycyna.



Wyślij zaproszenie do