czwartek, 7 października 2010

Kto pyta nie błądzi, czyli pytania statystyczne

Ponieważ blog ma służyć wymianie informacji proponuję temat dotyczący statystyki i jej praktycznego zastosowania, które nie jest sprawą prostą dla biologów. Jak ktoś może pomóc to piszcie:

Pytanie 1.  Mam zmienną niezależną, która jest rangą. Waha się od 1 do np. 100, i rozkład jest całkowicie równomierny (każdy przypadek ma inną rangę). Do tego kilka "explanatory variables". Pytanie: czy mając taką zmienną zależną mogę dopasować jakiegoś (jakiego?) GLMMa??? jaki rozkład i jak to ugryźć? jak nie GLMM to co alternatywnie?

dzieki
żmihor

14 komentarzy:

  1. Ahoj, intuicja mi podpowiada, ze mozna to spokojne przerobic tradycyjnym GLM, ale ponizej podsylam linka do publikacji o tym problemie

    http://qssi.psu.edu/files/PSUNF-Bailey.pdf

    Pozdrawiam

    piotrek s

    OdpowiedzUsuń
  2. jesli jest to zmienna niezalezna to jak najbardziej. na wybor typu glm/inne albo ewent na wybor rozkladu decydujacy wplyw ma zmienna zalezna bo to jej rozklad determinuje w duzym stopniu rozklad bledu.

    OdpowiedzUsuń
  3. chodzi mi o zmienną zależną. Ona ma rozkład równomierny (jest rangą). Nie spotkałem się jeszcze z GLMem z rozkładem równomiernym... da się?

    OdpowiedzUsuń
  4. Michał, może napisz tak po ludzku co chcesz policzyć, ta zmienna rangowa to co to takiego? a te zmienne objaśniające czym są? co jest zmienną objaśnianą?

    Czasem mam wrażenie, że łatwiej jest opisać tak po ludzku co zmierzasz liczyć niż szyfrować wszystko w slangu statystyczno-matematycznym.

    W sumie zajmujemy się testowaniem hipotez w biologii a ja z Twojego pytanie nie wiem co chcesz z czym porównywać?

    ms

    OdpowiedzUsuń
  5. ok, więc tak:

    mam bazę danych: jedną zmienną zależną i wiele zmiennych niezależnych. chcę sprawdzić wpływ zmiennych niezależnych na zależną. Normalnie robię to np. za pomocą regresji wielokrotnej albo GLMa. Na przykład sprawdzam jak wiek drzewostanu i wielkość płata (zmienne niezależne) wpływa na liczbę gatunków ptaków (zmienna zależna).

    Mam jednak problem jeśli zmienna zależna ma rozkład równomierny, np. ranga. Przykład: szereguję siedliska od najbardziej bogatego do najmniej bogatego w gatunki. Mam 100 siedlisk, każdemu nadaję rangę od 1 do 100. Taka zmienna zależna ma rozkład równomierny, tzn. nie ma dwóch siedlisk o takiej samej randze.

    Moje pytanie: jak to modelować? jaki model użyć (GLM? z jakim rozkładem??)?

    jakbym coś jeszcze namotał to wyjaśnię
    pozdro
    żmihor

    OdpowiedzUsuń
  6. Ok, wiem już na czym stoi sprawa.

    Innymi słowy masz wiele zmiennych objaśniających i chcesz sprawdzić ich wpływ na zmienną objaśnianą. Czy twoje zmienne objaśniające (niezależne) są ze sobą w jakiś sposób powiązane? Spora część zmiennych opisujących siedlisko leśne współgra ze sobą na zasadzie autokorelacji (również przestrzennej). Sensowność ich powiązania warto przetestować wstępnie przy pomocy PCA lub przy pomocy analizy kanonicznej CCA. Bardzo łatwo jest do GLMa włożyć zmienne odgórnie traktując je jako niezależne względem siebie, lub łączyć je w modele a później w wynikach łapać kocopałki.

    Niezależność zmiennych przed wpuszczeniem w model możesz spróbować ocenić metodą jackknife.

    Przy tego typu danych poleciłbym Tobie jedną z wielowymiarowych analiz w programie Canoco. Kilka razy zbliżone problemy rozwiązywałem właśnie przy pomocy tych metod. Zaletą ich jet to, że można tam stosować mieszane układy modelowe oraz nadają się one idealnie do analiz gradientów środowiskowych.

    Myślę, że więcej niż ja byłby w stanie na ten temat napisać Marcin Antczak. Marcin, jeśli czytasz, to dodaj coś od siebie.

    Pozdr,

    Michał

    OdpowiedzUsuń
  7. Tutaj link do Canoco v. 4.5

    http://www.pri.wur.nl/UK/products/Canoco/

    Trial działa w pełni funkcjonalnie i nim wygaśnie w spokoju zrobisz niezbędne analizy :)

    Pozdr,

    Michał

    OdpowiedzUsuń
  8. ok, jest to jakiś pomysł... RDA lub CCA jak rozumiem, jako bezpośrednia analiza gradientu. co do kolinearności zmiennych niezależnych to sobie z nią poradzę - robię najczęściej najpierw diagnostykę (np. VIF) a potem ewentualnie PCA jak jest źle.

    Dla moich danych idealnym rozwiązaniem byłoby zrobienie GLMa z rozkładem zmiennej zależnej równomiernym... istnieje co takiego? Poczytam jeszcze ten tekst od Piotrka Skórki bo tam jest ten problem poruszany.
    dzięki, pozdro
    żmihor

    OdpowiedzUsuń
  9. a ja tylko dodam ze taki rozklad mozna modelowac z uzyciem Monte Carlo i Markov Chain, dopisze wiecej jak wroca do cywilizacji.

    OdpowiedzUsuń
  10. czyli jednak nie ucieknę przed MCMC :o) napisz koniecznie

    OdpowiedzUsuń
  11. wróciwszy do cywilizacji - odpowiadam ;) po pierwsze - taka refleksje projektancka [jak juz po polskiemu to nie 'exp design' ;)]: jesli rangi mają szeregowac siedliska wg bogactwa gatunkowego po co w ogole tracić informację? nie lpiej po prostu wykorzystać samo bogactwo jako zmienna zależną? rozkład ciągły bedzie zawierał znacznie wiecej informacji niz nieciągły. a teraz co do rozkladu:
    - jesli koniecznie chcesz analizowac takie dane i jestes absolutnie pewny rozkladu typu 'uniform' - mozna zmusic wiekszosc szanujacych sie REMLi i nieREMLi do fitowania rozkladu normalnego o bardzo duzej wariancji, co w praktyce aproksymuje rozklad typu uniform dla wystarczajacego zakresu zmiennej losowej i ma plus taki, ze unikamy ryzyka zastosowania rozkladu 'niewlasciwego' (tzw improper) ktory nie sumuje sie do jedynki - co zdaza sie czesto (zawsze?) w rozkladach jednorodnych [i to jestzreszta powodem dla ktorego nie znalazlem w zadnym szanujecym sie sofcie rozkladu typu uniform jako rozkladu dla błędu)
    - mimo że Twoja próba ma rozkład równomierny (każda wartość unikalna) można założyć, że może ona pochodzić z hipotetycznejpopulacji,gdzie ten rozkład jest np. typo poissona o bardzo niskiej średniej albo innego - i znów pojawia się problem natury bardziej filozoficznej: statystyk klasyk spalił by mnie na stosie za takie herezje, statystyk z teamu Bayesa postawiłby piwo i poradził użyć w analizie mocnego priora o pożądanym rozkładzie.
    - i jeszcze ostatnia rada: poza typowym testowaniem hipotez sa jeszcze metody randomizacyjne, idealnew sytuacjach gdy mamy dziwne rozklady; w skrocie - randomizujesz wiele (bardzo wiele - 1000-100000) razy twoje dane i za kazdym razem patrzysz na ascocjacje Twoich rang ze zmiennymi niezaleznymi (czy to klasycznymi testami korelacji czy nieparametrycznie). Potem liczysz jaki procent (p) tych randomizacji daje zwiazek o podobnej sile jak ten w Twoich danych lub silniejszy - i traktujesz to p jakoklasyczne P (błąd I rodzaju)

    OdpowiedzUsuń
  12. i wybaczcie problemu klawiaturowe ;) ale niektóre klawisze nie chcę mi 'odskakiwać' ;)

    OdpowiedzUsuń
  13. ok, bogactwo było tylko przykładem. Tak naprawdę mam rangi z analizy zagnieżdżeń (nestedness analysis) z maksymalnie spakowanej macierzy species x samples. Program szereguje próby w takiej kolejności by macierz była maksymalnie spakowana. Nie będę może tego wątku rozwijał, w każdym razie mam rangę dla każdej próby i dla każdego gatunku.

    Byłoby super jak bym mógł to ugryźć zwykłym normalnym! Tylko teraz kwestia techniczna: myślisz, że można to przepuścić przez np. pakiet 'lme4' funkcję 'lmer', jako zwykły GLMM z rozkładem normalnym?

    dzięki wielkie za pomoc!
    pozdr
    żmihor

    OdpowiedzUsuń
  14. Ja zrobiłbym tak, że przepuściłbym to przez lmera ale nie testowałbym tak hipotezy tylko zrobił to co napisałem wcześniej - radnomizował dane, na każdym zestawie puścił lmera (można to zautomatyzować) i dopiero taki zestaw statystyk uznał za próbę z rozkładu statystyki i wg niego testował H0. Wiem, że Wiki to czasemsamo zło ;) ale tutaj (http://en.wikipedia.org/wiki/Analysis_of_variance#ANOVA_on_ranks) jest nawet cała sekcja o 'ANOVA on ranks' - myślę, że można to uogólnić na GLM. Ale tak jak mówię - bardziej bym był spokojny randomizując to niż biorąc 1 wynik z lmera jako test.

    OdpowiedzUsuń