Reklama
Szukaj zleceń na Getak.pl
Adrian Olszewski

offline

Adrian Olszewski

Główny projektant iMed24 SA, Biostatystyk

Wypowiedzi

  • Adrian Olszewski
    Wpis na grupie Etyka w praktyce w temacie Małżeństwo z prostytutką.

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Etyka w praktyce

  • Adrian Olszewski
    Wpis na grupie Programiści .NET w temacie A ja lubię Windows Forms

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Programiści .NET

  • Adrian Olszewski
    Wpis na grupie Programiści .NET w temacie A ja lubię Windows Forms

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Programiści .NET

  • Adrian Olszewski
    Wpis na grupie Etyka w praktyce w temacie Małżeństwo z prostytutką.

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Etyka w praktyce

  • Adrian Olszewski
    Wpis na grupie Etyka w praktyce w temacie Homoseksualizm - normalność czy choroba?

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Etyka w praktyce

  • Adrian Olszewski
    Wpis na grupie Etyka w praktyce w temacie Wojna z katolikami.

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Etyka w praktyce

  • Adrian Olszewski
    Wpis na grupie Etyka w praktyce w temacie Wojna z katolikami.

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Etyka w praktyce

  • Adrian Olszewski
    Wpis na grupie Etyka w praktyce w temacie Ufni górą

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Etyka w praktyce

  • Adrian Olszewski
    Wpis na grupie Etyka w praktyce w temacie Ufni górą

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Etyka w praktyce

  • Adrian Olszewski
    Wpis na grupie Etyka w praktyce w temacie Wojna z katolikami.

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Etyka w praktyce

  • Adrian Olszewski
    Wpis na grupie Etyka w praktyce w temacie Ufni górą

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Etyka w praktyce

  • Adrian Olszewski
    Wpis na grupie GL - Uwagi/Propozycje w temacie "Ciekawe dyskusje", co to za ...?

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy GL - Uwagi/Propozycje

  • Adrian Olszewski
    Wpis na grupie GL - Uwagi/Propozycje w temacie "Ciekawe dyskusje", co to za ...?

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy GL - Uwagi/Propozycje

  • Adrian Olszewski
    Wpis na grupie GL - Uwagi/Propozycje w temacie "Ciekawe dyskusje", co to za ...?

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy GL - Uwagi/Propozycje

  • Adrian Olszewski
    Wpis na grupie R w temacie prop.test, chi2, t.test
    20.05.2012, 22:19

    PS: jeśli przeprowadzałaś wcześniej jakiekolwiek wnioskowania (nie wiem - "w pracy domowej", w pracach zaliczeniowych, publikacjach), a nikt tego jeszcze nie widział, to popraw zawczasu!

    Przyjmuj regułę: p.val < alfa => odrzucić H0;
    p.val > alfa => nie można odrzucić H0.

    Gdy "równe", albo bardzo blisko alfy (np. 0.048, 0.051) to oczywiście należy trzymać się reguły wnioskowania (odrzucić, nie można odrzucić), ale dobrze jest dopisać iż wskazanym jest wykonać doświadczenia na liczniejszej próbie, gdyż uzyskany wynik znajduje się "na granicy".

    I jeszcze jedno - jeśli będziesz porównywać coś u tych samych pacjentów "przed-po" jakąś akcją (podanie leku, zabieg) albo w kolejnych punktach czasu (np. krzywa cukrowa), to stosuj test dla prób zależnych (paired t-test, test for dependent samples).Adrian Olszewski edytował(a) ten post dnia 21.05.12 o godzinie 09:26



    Zgłoś | Cytuj

  • Adrian Olszewski
    Wpis na grupie R w temacie prop.test, chi2, t.test
    20.05.2012, 22:09

    Kama Jansen:
    Zrobilam na poczatku tak jak mowiles hist i wizualnie nie wyglada mi to na rnorm bo jest troche przesuniety w lewo.

    Dlatego wątpliwości zawsze należy rozwiewać odpowiednim testem statystycznym. Nawet wykres QQ potrafi płatać figle.
    1) Czy hist powinnam robic osobno dla dwoch grup
    hist(dsu$sKreat[dsu$dag==0]) i hist(dsk$sKreat[dsk$dag==0])
    czy dla jednej calej grupy hist(dsa$sKreat[dsa$dag==0]) ?

    Dla wszystkich prób, które będziesz porównywać.
    Dalej robie test na norm dla tych dwoch grup i otrzymuje:
    shapiro.test(dsu$sKreat[dsu$dag==0])

    Shapiro-Wilk normality test

    data: dsu$sKreat[dsu$dag == 0]
    W = 0.7895, p-value = 7.548e-14

    Czyli na zadanym poziome istotności należy odrzucić hipotezę o tym, ze próba pochodzi z populacji, w której ta cecha ma rozkład normalny.
    data: dsk$sKreat[dsk$dag == 0]
    W = 0.5734, p-value = 1.15e-15

    j.w.

    2) Czy otrzymujac takie p moge wnioskowac ze skoro p<0.05
    > (tak
    przyjelam) to pochodza z rnorm?

    Obawiam się, że musisz odświeżyć podstawy statystyki.
    Testy konstruuje się zwykle tak, że H0 określa "brak różnic". Mówiąc obrazowo (nie chce mi się tego ubierać w hermetyczny język statystyki, piszę "w trasie") - brak różnic między rozkładem próby i rnorm, brak różnic między wsp. korelacji o zerem, brak różnic między dwiema średnimi, brak różnic między wariancjami itd.

    Przyjmujesz "graniczne", akceptowalne przez Ciebie prawdopodobieństwo popełnienia błędu I rodzaju i stosujesz test, tzn. obliczasz wartość jego statystyki. R oblicza Ci następnie na podstawie tego wyniku pewną całkę - p.value, czyli "aktualne prawdopobieństwo popełnienia błędu I rodzaju". Jak to pr. jest < od tego, co Ty założyłaś, no to jesteś w domu. Jak jest większe, to niestety, na wybranym przez Ciebie poziomie istotności nie można odrzucić hipotezy zerowej (co NIE znaczy, że jest ona prawdziwa, a jedynie, że w danych warunkach nie można jej odrzucić). Albo inaczej - porównujesz otrzymaną wartość statystyki testu i porównujesz z tzw. wartością krytyczną dla rozkładu tej statystyki i jak obliczona_wartość > wartość krytyczna, to odrzucasz H0, jak mniejsza, nie ma podstaw od odrzucenia.
    Dalej przyjmujac ze pochodza z rnorm robie:
    var.test(dsk$sKreat[dsk$dag==0],dsu$sKreat[dsu$dag==0])

    I ponieważ już wiesz, że nie pochodzą, to odpowiednio zmodyfikuj ścieżkę postępowania.
    data: dsk$sKreat[dsk$dag == 0] and dsu$sKreat[dsu$dag == 0]
    F = 3.1338, num df = 100, denom df = 158,
    p-value = 1.316e-10

    Wariancje nie są tutaj równe.
    ratio of variances
    3.13377

    No właśnie.
    3) Czy widzac ze p<0.05 moge uznac ze maja takie same
    > variancje? ale tu jest tez napisane ze true ratio of variances is
    not equal to 1 czyli ze mam przyjac czy odrzucic alternatywna hipoteze?

    Widzisz, że przyjmując tak, jak pisałaś, to się nie trzyma kupy :)
    Odrzucić hipotezę zerową.

    PS: nie możesz przyjąć zerowej. Tzn. tak się często robi ale to w oparciu o wiedzę kliniczną na temat danego zagadnienia, ale trzymajmy się poprawnego formułowania wniosków.
    t = -1.5132, df = 258, p-value = 0.1314
    alternative hypothesis: true difference in means is not equal to 0


    Czyli nie można odrzucić hipotezy o braku różnic między średnimi wartościami badanej cechy w obu próbach. Innymi słowy - że obie próby pochodzą z tej samej populacji pod względem badanej cechy.
    95 percent confidence interval:
    -41.107411 5.382534

    Poczytaj przy okazji jak się ma do wnioskowania przedział ufności, bo CI i p-value są ze sobą blisko związane. Powiem tylko "w tajemnicy", że widzimy tutaj jak przedział ufności dla różnicy między średnimi (zestandaryzowanej) zawiera zero.

    A przecież badamy H0: m1=m2, a więc |m1-m2| = 0
    I jest zero.
    4) Czy widzac p=0.13 moge wnioskowac ze parametr sKreat w obu grupach nie jes taki sam, czyli grupy sa rozne?

    Patrząc na powyższe - nie.
    Teraz drugi scenariusz, jesli mialabym przyjac ze te rozklady nie sa normalne to powinnam zrobic A-B test:

    Tak.
    5) Czy p=0.6 ktore jest >0.05 oznacza ze skale nie sa rowne?

    Nie można odrzucić H0 o tym, ze się różnią.
    Jesli skale nie sa rowne to robilabym A-D test:

    W tym przypadku możesz zrobić A-D jak i Wilcoxona. Powinny dać zbieżne wyniki.
    Null Hypothesis: All samples come from a common population.

    t.obs P-value extrapolation
    not adj. for ties -0.13443 0.36901 1
    adj. for ties -0.13596 0.36945 1

    Nie można odrzucić hipotezy o równości (median albo stochastycznej równości dystrybuant - zależnie od testu).

    PS: na marginesie, widać, że wynik jest zbieżny z testem t-Studenta.
    Number of unique values: 136 ?

    Liczba unikalnych wartości w próbie. Takich, które się nie powtarzają.

    W następującym ciągu mamy 4 unikalne wartości: 1, 1, 5, 5, 6, 6, 6, 3

    Jeśli ich liczba jest równa total obs. to nie ma powtarzających się obserwacji.

    W następującym ciągu mamy 5 obserwacji i wszystkie są unikalne: 6, 4, 1, 2, 9

    Jeśli uniq. < total obs. to oznacza, że było kilka powtarzających (przynajmniej z maszynową dokładnością obliczeniową) wartości i algorytm rangujący dane musiał sobie poradzić z tzw. "ties ranks", czyli rangami związanymi, które są niepożądane z pewnych przyczyn. Zwykle uśrednia się takie związane rangi i trzeba potem nałożyć poprawkę na wynik oryginalnego testu.

    Oryginalne wartości: 10.1, 11.3, 10.4, 14.2, 15.8, 11.3
    Uporządkowane: 10.1, 10.4, 11.3, 11.3, 14.2, 15.8
    Porangowane: 1, 2, 3, 4, 5, 6
    Rangi związane: 1, 2, ( (3+4)/2 ), 5, 6 ===> 1, 2, 3.5, 5, 6
    I jak interpretowac adjusted for ties and not adjusted for ties, jaka jest roznica?

    Bierzesz p-val dla poprawki. A skąd wiesz, że jest poprawka? Jak unique val < total val

    > Mi wyszlo p<0.05 wiec uznalam ze rozklad jest normalny, ale ty > piszesz ze nie jest. Dlaczego?

    Jak pisałem - uzupełnij wiedzę w zakresie testowania hipotez.

    Pozdrowienia.Adrian Olszewski edytował(a) ten post dnia 24.05.12 o godzinie 15:21



    Zgłoś | Cytuj

  • Adrian Olszewski
    Wpis na grupie Programiści .NET w temacie Blokowanie zamknięcia aplikacji

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Programiści .NET

  • Adrian Olszewski
    Wpis na grupie R w temacie prop.test, chi2, t.test
    19.05.2012, 14:05

    Kama Jansen:
    napisales mi poprzednio: sprawdź najpierw dyspersję (test Ansariego-Bradleya)
    a teraz piszesz: nie sprawdziłaś na początku normalności
    to ja nie za bardzo rozumiem mam najpierw sprawdzac dyspersje czy najpierw normalnosc?

    Napisałem Ci tak:
    normalności. Gdyby się okazało, że próby nie pochodzą z r. normalnego, nie sprawdzaj ich "na ślepo" Wilcoxonem, tylko albo testem Kołmogorowa-Smirnova, Andersona-Darlinga albo Cramera-von Misesa, albo sprawdź najpierw dyspersję (test Ansariego-Bradleya) i jak test odrzuci H0 to użyj jednego z moglbys mi napisac takie podstawowe kroki jakie nalezy wykonac po kolei jak sie dostaje tabelke z danymi dla dwoch grup pacjentow to co nalezy zrobic?

    Napisałem Ci w poprzednim poście.
    To są bardzo ogólne rady. Etapów analizy może być wiele i różnych, zależy od tego, co się dzieje. Można transformować dane, przeprowadzać różne testy, wyodrębniąć podpróby itd.

    Czasem, zanim zacznie się stosować statystyki nieparametryczne warto też spróbować podzielić naszą asymetryczną próbę na podpróby, o ile uzasadnia to dziedzina wiedzy. Robi się to zwłaszcza, gdy widać wielomodalność (ile mod tyle grup) albo silną skośność (jedna grupa silnie skupiona wokół mody, druga - silnie rozproszona, niemal "płaska"). Trzeba to jednak umieć uzasadnić. W takich próbach rozkłady są zwykle o wiele bardziej symetryczne.

    Przykładowo: jaka jest średnia wieku w tej grupie?

    Obrazek


    Po podziale na dwie grupy jest wyraźnie prościej. Teraz należy odpowiedzieć sobie na pytanie, czy taki podział jest czymś uzasadniony (arbitralny, a nieuzasadniony podział jest równie zły, co jego brak i podpada pod zarzut manipulacji wynikami). Ale to już zostawia się klinicyście.

    Obrazek

    dostaje takie dane to od samego poczatku jak sie za to zawsze najlepiej zabrac ?

    0. Postawić hipotezy badawcze, zdefiniować kontrasty. Nawet, jeśli jest to analiza eksploracyjna, gdzie za bardzo jeszcze nie wiemy, co ciekawego możemy z tych danych odczytać. Wstępny zarys tego, co chcemy badać powinniśmy jednak zrobić. Ustalić poziom istotności i trzymać się go (nie zmieniać sobie dowolnie raz 0.1 raz 0.05 raz 0.00001) i raportować w oparciu o ten poziom (z tym, że podawać dokładne p.val gdy > alfa)

    1. Obejrzeć dane na wykresach. Scatterplot, histogram, boxplot, mosaic plot.
    Sprawdzić wystepowanie punktów odstających: histogram, boxplot, testy Grubbsa, scatterplot. Przy modelowaniu sprawdza się też wielowymiarowe statystyki, jak odległość Cooka, występowanie punktów wysokiej dźwigni (leverages).

    2. Statystyka opisowa - zwłaszcza nalegam na obliczenie kilku miar tendencji centralnej, jak: średnia arytmetyczna, geometryczna (zwłaszcza dla danych o prawoskośnym rozkładzie --> jest to inaczej transf. logarytmiczna danych), mediana, średnia ucięta i Winsora, trimean Tukeya (nie wiem, jak to przetłumaczyć "trójśrednia?". Bardzo fajna miara, bywa stosowana na zachodzie, w Polsce nie spotkałem się). Dla zmiennych jakościowych przejrzeć tabele kontyngencji, wykonać mosaic plot.

    3. Sprawdzić czy zmiennych pochodzą z rozkładu normalnego, zdecydować o podziałach, transformacjach: histogram, scatterplot, boxplot. (1-3 ciągle się przeplata)

    4. Zdecydować czy użyjemy testów parametrycznych czy nieparametrycznych i dla których zmiennych. Czasem trzeba w jednym teście porównywać zmienne IID jak też nie poch. z rozkł. normalnego. Zdecydować, których testów użyjemy - zależnie od skal, na jakich mierzone są dane. Zdecydować, czy badamy wyłącznie dwie cechy, czy więcej, gdyż są wzajemny "covariates".

    5. Sprawdzić założenia tych testów. Zweryfikować wybór testów zależnie od siły odstępstw od założeń (normalność, homogeniczność wariancji).

    6. Wykonać testy i zinterpretować ich wyniki. W razie niepewności dokonać symulacji ich zachowań w symulacji bootstrapowej. Również na tym etapie wychodzi nieraz konieczność podziału próby.

    W poprzednim poście podałem Ci przykładowe kroki - najprostszy scenariusz.

    Test zgodności z rnorm, test równości wariancji (param/nieparam), wybór testu badającego istotność różnic między próbami (param/nieparam).Adrian Olszewski edytował(a) ten post dnia 19.05.12 o godzinie 16:09



    Zgłoś | Cytuj

  • Adrian Olszewski
    Wpis na grupie Data Mining w biznesie w temacie czy istnieje gdzieś do ściagnięcia wersja polska...
    19.05.2012, 10:28

    Owszem, używam :) Dla mnie to R + SQL Server + platforma .NET to podstawowy wół roboczy.

    * Analiza danych w dla medycyny (biostatystyka). A więc badanie głównie skuteczności terapii - w tym zaś zamyka się wiele rodzajów analiz, jak. analiza odpowiedzi organizmu na terapię, analiza przeżycia, planowanie badań.

    - etap ujednolicania formatów, walidacji i oczyszczanie danych. Nie do pogardzenia jest tu możliwość wykorzystania SQL z poziomu R (ODBC, JDBC) i R z poziomu T-SQL (COM). Dataminerowi jednak się za bardzo nie przyda - ETL i dedykowane narzędzia zrobią to szybciej i prościej.

    - kolejne etapy analizy: opisowa + modelowanie, symulacje. Do dyspozycji jest tu praktycznie wszystko. Trzeba się tylko zaopatrzeć w kilka książek i nauczyć dobrze korzystać z Google oraz rseek.org. No i mieć świadomość pewnych rzeczy - dlatego poleciłbym R raczej analitykowi z umiejętnościami programowania, który wie, jak działa narzędzie, z które chce wykorzystać i skąd mogą brać się różnice.
    http://www.goldenline.pl/forum/1513580/programowanie-w-r

    - etap raportowania - prezentacja graficzna (wykresy, diagramy)+ tabelaryczna (XML + XSLT, albo export do Excela i tam obróbka). Fakt, że trzeba sobie najpierw przygotować bibliotekę użytecznych i fajnie wyglądających wykresów, ale potem opakowuje się to w funkcję i ma się od strzału wykresy, jakich trudno szukać w innych pakietach. Podobnie z XSLT i CSS - nie do przecenienia. Wyniki można wystawiać dla kolejnych podsystemów po wielu różnych kanałach (opisane niżej).

    Dodatkowo, jeśli wiem, że podstawowym narzędziem klienta jest Excel, korzystam z RExcela i mam wszystko w jednym miejscu. R jako silnik obliczeń, Excel jako frontend. Dzięki temu np. od razu wykresy takie, jakie sobie zażyczył zleceniodawca - zapisać w arkuszu i odesłać mailem. A że końcowami hurtowni danych Excel bywa dość często, więc można to ze sobą ładnie połączyć.

    Tak na marginesie - Oracle zrobił ukłon w stronę R, więc wreszcie nie trzeba będzie się bawić w ODBC :) http://www.goldenline.pl/forum/2791214/oracle-zauwaza-r

    * R jako "silnik obliczeniowy" do różnych zastosowań:
    - złożona walidacja w formularzach, np. będąca wynikiem jakiegoś modelu, którego komuś nie chce się implementować w C# czy PHP

    - "dopinane" do istniejących systemów gromadzenia danych (np. eCRF) moduły obliczeniowe.
    Do dyspozycji są interfejsy COM (a więc dowolny język go wspierający, VB, .NET, C++), operacje plikowe ("source" + rscript.exe + RODBC - wbrew pozorom jest to wygodne rozwiązanie, jak się dobrze zaprojektuje), gniazda TCP/IP, DDE, webserwisy.

    A tak "na luzie" :) - R na Nokii N900. Może czasem uratować życie.Adrian Olszewski edytował(a) ten post dnia 19.05.12 o godzinie 10:36



    Zgłoś | Cytuj

  • Adrian Olszewski
    Wpis na grupie GL - Uwagi/Propozycje w temacie GL muli!!!

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy GL - Uwagi/Propozycje

Wyślij zaproszenie do