przewodnikPoPakiecieR7

przewodnikPoPakiecieR7



146 Wybrane procedury statystyczne

3.3 Przetwarzanie wstępne

Rzadko się zdarza, że dane można bezpośrednio wykorzystywać do analiz statystyce nych. W większości przypadków zebrane dane wymagają wstępnego przetwarzania Co więcej, etap przygotowywania danych zajmuje często więcej czasu niż same ana- lizy. Poniżej przedstawimy dwie grupy metod, często wykonywanych na wczesnyjr&f etapie przeprowadzania analiz. Pierwsza grupa to metody radzenia sobie z brakują, cymi obserwacjami, druga to metody do wstępnej transformacji zmiennych.

3.3.1 Brakujące obserwacje

•ćgSpEgj

W środowisku R brakujące obserwacje są oznaczane symbolem NA. Do sprawdzania, czy dane (wektory, macierze, ramki danych) zawierają brakujące obserwacje możni -wykorzystać funkcję is.naO. Jej wynikiem jest podobna struktura (a wiec również ■; wektor, macierz lub ramkę danych) wypełniona wartościami logicznymi TRUE (gdy w tej pozycji jest brakująca obserwacja) lub FALSE (w przeciwnym razie).

Tnn&nk.... wektor bez wartości brakujących, a może jeszcze wektor z obserwacjami obecnymi?



Jeżeli w ramce danych są brakujące obserwacje, to najprostszym sposobem radzenia sobie z nimi jest usunięcie całego wiersza. Usunąć brakujące dane z wektora można funkcją na. omit (stats). Jej wynikiem jest wektor wartości pozbawiony wartości brakujących. Do usunięcia wierszy zawierających brakujące obserwacje z ramki danych służy funkcja complete.casesO. Poniżej przedstawiamy przykłady wykorzystania obu funkcji.

>    # wczytujemy zbiór danych z brakującymi obserwacjami

>    library(dprep)

>    data(hepatitis)

>    # jak duży to zbiór danych? 1SS przypadków

>    dim(hepatitis)

[1] 155    20

>    # ile jest brakujących obserwacji (pomiarów) w tym zbiorze danych

>    sum(ls.naChepatitls)) fi] 167

>    tt ile jest brakujących przypadków (z przynajmniej jednym brakującym

pomiarem) u tym zbiorze danych

>    sum(apply(ie.na(hepatitis),l,max))

[1] 76

>    indeksyKompletnych ■■ complete.cases(hepatitis)

>    # rozmiar danych po usunięciu brakujących przypadków, zostało 52X

przypadków

>    dim(hepatitis[indeksyKompletnych,])

[1] 80 20

#    zajmijmy się tylko 19 kolumną summary(hepatitis[, 19])

NA’s

67.00


Min. Ist Qu.    Median    Hean    3rd Qu.    Marc.

0.00    46.00    61.00    61.85    76.25    100.00

#    usuwamy brakujące elementy tego wektora summary(na.omit(hepatitis[,19]))

Min. Ist Qu.    Median    Mean    3rd Qu.    Max.

0.00    46.00    61.00    61.85    76.25    100.00

Przetwarzanie wstępne

147


V; Usunięcie wierszy z brakującymi obserwacjami to najłatwiejsze rozwiązanie, ale jSŚajigcydowaiiie nie najlepsze. Pomijając frustrację badacza, któremu mówimy, że usu-iięliśmy kilkadziesiąt procent zbieranych w trudzie wyników, ponieważ brakowało w nich jednego pomiaru, to taka redukcja danych prowadzi do niepotrzebnego po-gorszenia właściwości procedur statystycznych, zwiększenia wariancji estymatorów, zmniejszenia mocy testów itp. Zamiast usuwać całe wiersze, zalecanym postępowaniem jesf w miejsce brakujących pomiarów wstawianie (imputowanie) sztucznych pomiarów. Ogólnie rzecz biorąc imputacje wstawia się na jeden z dwóch sposobów:

•    W miejsce brakującego pomiaru wstawia się wartość charakterystyczną dla danej zmiennej. Najczęściej wstawia się średnią, medianę lub (rzadziej) modę

' dla danej zmiennej. Bardziej wyrafinowane rozwiązanie to dopasowanie modelu regresji na zbiorze kompletnych danych i w miejsce brakujących danych wstawianie wartości wyznaczonych z modelu regresji. Innym rozwiązaniem jest wyznaczanie imputacji bazując na zbiorze przypadków najbardziej podobnych do przypadku z brakującą obserwacją (tzw. knn imputation) lub wykorzystanie algorytmu EM do oceny najlepszej wartości do wstawienia.

•    Wygenerowanie wielu replikacji zbioru danych z imputacjami. W każdej replikacji brakujące obserwacje zastępowane są przez obserwacje wygenerowane z rozkładu określonego dla danej zmiennej. Najczęściej warunkowego, a więc: określonego przez model regresji zbudowany dla kompletnych przypadków, lub brzegowego, bazując tylko na rozkładzie brzegowym tej zmiennej. W tym przypadku kolejne kroki analizy statystycznej są wykonywane dla każdej z replikacji zbioru danych, a następnie wyniki poszczególnych kroków są ze sobą zestawiane.

Poniżej dokładniej przedstawimy pierwszy sposób generowania imputacji. Osoby zainteresowane drugim powinny zaznajomić się z funkcją areglmpute(Haisc) lub transcan(Hmisc). Warto też prześledzić ostatni przykład z tego podrozdziału.

Zacznijmy od generowania imputacji w wektorze wartości. Do tego celu wygodnie jest posłużyć się funkcją impute(Hmisc). W zależności od wartości argumentu fun, za brakujące obserwacje wstawiane są różne wartości. Domyślnie, imputowana jest mediana, ale możemy wskazać też dowolną inną funkcję. Przykładowo fun=mean im-• putować będzie wartość średnią. .Jeżeli za argument fun podstawimy wartość liczbową, to będzie ona wstawiana w miejsce brakujących obserwacji. Jeżeli f un="randora". ' to brakujące wartości będą zastąpione przez pozostałe wartości z próby, wylosowane metodą losowania ze zwracaniem. W sytuacji, gdy pierwszy argument, jest typu factor argument fun jest ignorowany, a za brakujące obserwacje imputowana jest 4 najczęściej występująca wartość.

>    # wektor z brakującymi obserwacjami

>    wektor - c(l,5,NA,2,8.8.3,NA.10.4)

>    tt imputujemy wartość 2.5

>    imputeCwektor,2.5)

1    2    3    4    5    6    7    8    9    10

5.0    2.6*    2.0    8.0    8.0    3.0    2.5*    10.0    4.0

>    # imputujemy wartość średnią

>    impute(wektor,mean)

12    3    4    5    6    7    8    9    10

1.000    5.000 5.125*    2.000    8.000    8.000    3.000    5.125*    10.000    4.000


Wyszukiwarka

Podobne podstrony:
przewodnikPoPakiecieR 3 I 178 Wybrane procedury statystyczno W powyższym przykładzie wygląda na to,
przewodnikPoPakiecieR 3 I 178 Wybrane procedury statystyczno W powyższym przykładzie wygląda na to,
przewodnikPoPakiecieR 3 I 178 Wybrane procedury statystyczno W powyższym przykładzie wygląda na to,
przewodnikPoPakiecieR4 140 Wybrane procedury statystyczne >    U ustawiamy ziarno
przewodnikPoPakiecieR 1 I m 174 Wybrane procedury statystyczne. P So good «dvice here is: Bewarc
75190 przewodnikPoPakiecieR 1 I m 174 Wybrane procedury statystyczne. P So good «dvice here is: B
przewodnikPoPakiecieR7 166 Wybrane procedury statystyczne mezczyzna piec Niepowodzenia Rysunek 3.23
przewodnikPoPakiecieR7 126 Wybrane procedury statystyczne Statystyki opisowe127 Tabela 3.1: Statyst
przewodnikPoPakiecieR8 128 Wybrane procedury statystyczne 128 Wybrane procedury statystyczne 3.1.1.
przewodnikPoPakiecieR9 130 Wybrane procedury statystyczne Histogram zmiennej wiek Histogram zmienne
przewodnikPoPakiecieR1 134 Wybrane procedury statystyczne Domyślnie, przedział ufności dla med
przewodnikPoPakiecieR3 138 Wybrane procedury statystyczne 138 Wybrane procedury statystyczne Za aut
przewodnikPoPakiecieR4 —■4 140 Wybrane proceduiy statystyczne >    # ustawiamy zi

więcej podobnych podstron