Agnieszka Nowak - Brzezińska Instytut Informatyki ...zsi.tech.us.edu.pl/~nowak/abdiped/R.pdf ·...

Post on 01-Mar-2019

274 views 2 download

Transcript of Agnieszka Nowak - Brzezińska Instytut Informatyki ...zsi.tech.us.edu.pl/~nowak/abdiped/R.pdf ·...

Statystyczne metody analizy danych przy użyciu środowiskaR

Agnieszka Nowak - BrzezińskaInstytut Informatyki, Uniwersytet Śląski

Wybrane zagadnienia

Plan wystąpienia

1. Wprowadzenie.

2. Środowisko R.3. Wybrane metody analizy danych:

� Prezentacja danych.� Regresja liniowa, predykcja danych.� Obserwacje odstające a obserwacje wpływowe.

4. Podsumowanie.

Środowisko R

� Jest to bardzo elastyczne (darmowe) środowisko analityczne o bogatejfunkcjonalności, które jest stosowane w wielu badawczych i praktycznychpracach dotyczących analizy danych i odkrywania wiedzy.

� R jako język programowania dostarcza wbudowanych operacjiułatwiających przetwarzanie tabelarycznych zbiorów danych, mechanizmówgraficznego opisu danych, bogatych bibliotek funkcji analitycznych,obejmujących szeroki zakres metod statystycznych i metod odkrywaniawiedzy oraz - co niezwykle ważne - interaktywny interpreter poleceń i (dlaniektórych platform) graficzny interfejs użytkownika.

� Wszystkie niezbędne informacje o języku R znajdziemy na stronach CRAN(The Comprehensive R Archive Network), gdzie dostępne są pakietyźródłowe, dokumentacja, oraz obszerne zasoby bibliotek.

Rysunek: Okno główne środowiska R

Pomoc w nauce R

� Godnym polecenia materiałem umożliwiającym przyswojeniepodstawowych zagadnień jest darmowy kurs pt. ”Wprowadzenie do językaR” dostępny na stroniehttp://cran.r-project.org/doc/contrib/Komsta-Wprowadzenie.pdf atakże źródło anglojęzyczne pt. ”An Introduction to R” do ściągnięcia zestrony http://cran.r-project.org/doc/manuals/R-intro.html.

� The R Language Definition - źródło:http://cran.r-project.org/doc/manuals/R-lang.html

� The R Language – A Short Companion - źródło:http://cran.r-project.org/doc/contrib/R_language.pdf

� R Reference Card - źródło:http://cran.r-project.org/doc/contrib/refcard.pdf

Pomoc środowiska R

Statystyka opisowa za pomocą R-aWyznaczanie miar rozkładu

Bardzo prostą metodą w zakresie statystyki opisowej jest tworzenie opisu zbiorudanych za pomocą tzw. emphmiar rozkładu cechy. Miary rozkładu możnapodzielić na kilka podstawowych kategorii:

� miary położenia, np. kwantyl, miary tendencji centralnej (np. średniaarytmetyczna, średnia geometryczna, średnia harmoniczna, średniakwadratowa, mediana, moda),

� miary zróżnicowania, np. odchylenie standardowe, wariancja, rozstęp,rozstęp ćwiartkowy, średnie odchylenie bezwzględne, odchyleniećwiartkowe, współczynnik zmienności,

� miary asymetrii, np. współczynnik skośności, współczynnik asymetrii, trzecimoment centralny,

� miary koncentracji, np. współczynnik Giniego, miara kurtozy [2].

Funkcja summary:

Pakiet Hmisc i komenda library(Hmisc)

Funkcja describe z pakietu psych

otrzymujemy: nazwę zmiennej (kolumny, cechy), jej numer w całym zbiorze danych(var), liczba wartości w zbiorze (n) a także statystyki typu: średnia (mean), odchyleniestandardowe (sd), mediana (median), elementy minimalny (min) i maksymalny (max),skośność (skew) oraz kurtoza (kurtosis).

Graficzna prezentacja wyników

� histogramy i wykresy częstości (ang. density plot)- przedstawiające rozkładempiryczny cechy,

� wykresy rozrzutu (ang. scatterplots) - pozwalające wykrywać pewnezależności (i ich typ) między wartościami ciągłymi obserwacji w pewnejmierzonej skali. Każdy punkt wykresu reprezentuje pojedynczą obserwację,

� wykresy pudełkowe (ang. boxplot) - prezentowane za pomocą pudełka,którego lewy bok jest wyznaczony przez pierwszy kwartyl, zaś prawy bokprzez trzeci kwartyl. Szerokość pudełka odpowiada wartości rozstępućwiartkowego. Wewnątrz pudełka znajduje się pionowa linia, określającawartość mediany. Rysunek uzupełniamy po prawej i lewej stronieodcinkami. Lewy koniec lewego odcinka wyznacza najmniejszą wartość wzbiorze, natomiast prawy koniec prawego odcinka to wartość największa.

Histogramy

> dane<-c(3,4,5,6,7,7,7,8,8,8,9)> hist(dane,col="red",xlab="wartości",main="Histogram")

Wykresy pudełkowe

Wykresy pudełkowe spotykane są najczęściej w pakietach komputerowychwspomagających proces analizy i interpretacji danych statystycznych.

Oczywiście:� Lower whisker - wartość najmniejsza

dla danej zmiennej.

� Lower quartile - punkt dokładnie na25% zbioru obserwacji.

� Median - punkt rozgraniczającydokładnie 50% obserwacji.

� Upper quartile - Punkt, przed którymjest 75% obserwacji.

� Upper whisker - najwyższa wartość wzbiorze.

� Mean - wartość średnia w zbiorzeobserwacji.

Wykres pudełkowy

boxplot(dane,col="red",xlab="wartości",main="Wykrespudełkowy")

Wykresy w R

Ogromną zaletą środowiska R jest jego system graficzny i możliwości łatwejwizualizacji danych. Bardzo skrótowo (ale jednocześnie wystarczająco)generowanie wykresów zostało przedstawione w kursie dostępnym pod adresem:http://www.oginet.pl/~rasp/r/wykresy.html. Generalizując powiemy, żenależy wyróżnić dwa rodzaje funkcji graficznych w R:

� wyskopoziomowe funkcje rysują kompletne wykresy ( i usuwającepoprzednie),

� niskopoziomowe funkcje dodające do wykresów nowe elementy typulegenda, punkty, linie, tekst.

Wykres rozrzutu - przykład 1

Wykres rozrzutu - przykład 2

Wykres mieszany - przykład 3

http://www.statmethods.net/advgraphs/layout.html

Regresja - metoda najmniejszych kwadratów

Model regresji liniowej

Obserwacje odstające

Obserwacja odstająca (ang. outlier)

jest obserwacją, która nie spełnia równości regresji czyli nie należy do modeluprostej regresji. Obserwacje odstające mogą znacząco wpłwać na postać prostejregresji: b0 + b1x dla której wartość sumy:

∑ni=1(yi − yi )2 a więc i sumy∑n

i=1(yi − (b0 + b1xi ))2 ma być możliwie najmniejsza.

Jeśli analizujemy tylko pojedyncze zmienne objaśniające, to identyfikacjaobserwacji odstających jest dość prosta. Wystarczy generować wykresy rozrzutubądź histogramy. Jeśli zaś chcemy szukać obserwacji odstających globalnie (niedla pojedynczej zmiennej objaśniającej ale dla wielu) wówczas możemyanalizować rezydua lub rezydua studentyzowane i wśród nich szukać wartościodstających.

Wyznaczenie obserwacji odstających

Wyznaczenie obserwacji odstających

1. Mając wektor wartości resztowych(rezyduów) e = (e1, e2, . . . , en),gdzie wartośćresztowa ei = yi − yi (ei = yi − (b0xi + b1))powiemy, że błąd standardowyrezyduum ei jest równy:

SEei = S ∗√

1− (1

n+

(xi − x)2∑ni=1

(xi − x)2).

Wtedy studentyzowana wartość resztowa będzie odpowiadać wartości:

ri =eiSEei.

2. Sporządzając wykres wartości studentyzowanych rezyduów ri względem ichindeksu będziemy potrafili rozpoznawać te duże wartości, które przypuszczalniebędą odstającymi.

Podsumowując powiemy, że nowa obserwacja będzie punktem odstającym jeśli będziesię cechować dużą wartością standaryzowanej reszty. W praktyce, obserwacje odstająceto takie, których wartość bezwzględnych standaryzowanych reszt przekracza 2.

Wyznaczenie obserwacji odstających w R

W środowisku R wykrycie obserwacji odstających możliwe jest na kilkasposobów. Jednym z nich jest użycie funkcji rstudent. Jak widać naponiższym kodzie, w analizowanym przez nas zbiorze występuje obserwacjaodstająca. Jest to obserwacja o numerze 8 i wartości −2.176429.

Wyznaczenie obserwacji odstających w R

Alternatywnie, możemy użyć funkcji outlier.test z biblioteki car .

Obserwacje wpływowe

Obserwacja jest wpływowa (ang. influential)

jeśli jej obecność wpływa na prostą regresji, w taki sposób, że zmienia sięwspółczynnik kierunkowy tej prostej. Inaczej powiemy, że jeśli obserwacja jestwpływowa to inaczej wygląda prosta regresji w zależności od tego czy taobserwacja została ujęta w zbiorze, czy też nie (gdyż została usunięta).

W praktyce, jeśli obserwowana wartość leży w Q1 (czyli ma wartość mniejsząniż 25 centyl), to mówimy, że ma ona mały wpływ na regresję. Obserwacjeleżące między Q1 a Q3 kwartylem nazywamy wpływowymi. Wykrycie obserwacjiwpływowych umożliwia pomiar odległości Cooka z tzw. modyfikowanymirezyduami. Usuwamy obserwację potencjalnie wpływową i obliczamy różnicę.Obserwacja jest wpływowa jeśli ta różnica będzie wysoka. Odległość Cookamierzy poziom wpływu obserwacji i jest obliczana jako:

Di =

∑n

j=1(yj− ˆyj(i))2

pS2 =e2ipS2

hi(1−hi )2 ,gdzie yj jest wartością przewidywaną dla j-tej obserwacji

obliczoną w modelu z usuniętą obserwacją i-tą zaś ˆyj(i)jest wartością przewidywaną dla j-tej

obserwacji w modelu, w którym nie usunięto i-tej obserwacji (potencjalnie wpływowej).

Wyznaczenie obserwacji wpływowych w RTeraz jeśli chcemy poznać obserwacje wpływowe możemy użyć komendy:

której efektem będzie wykres:

Do wykrycia obserwacji wpływowych możemy także użyć funkcji >influence.measures(lm(b ∼ a)), której efekt będzie następujący:

Ostatnia kolumna wskazuje na obserwacje wpływowe zaznaczając przy nichsymbol ∗. Są to obserwacje 1 i 9.

Zbiór Cereals.data

Zbiór Cereals.data

� źródło: http://lib.stat.cmu.edu/DASL/Datafiles/Cereals.html

� Zbiór zawiera dane 77 rodzajów płatków śniadaniowych,które opisane są14 atrybutami warunkowymi i jednym atrybutem decyzyjnym ratingmówiącym o wartości odżywczej płatków w oparciu o informacje typu:calories, sugars, fiber , sodium, vitamins czy weight (ora zinne).

Zbiór Cereals.data

Zbiór Cereals.data

Wyznaczenie obserwacji odstających w modelu z wieloma zmiennymiobjaśniającymi

Obserwacje odstające będziemy wykrywać przy użyciu znanego już pakietu cari funkcji outlier.test w ramach tego pakietu.

Wykryliśmy jedną obserwację odstającą (płatki o nazwie Golden Crisp).

Obserwacje wpływowe w zbiorze CerealsFunkcja: influence.measures

Za wpływowe uznamy 6 obserwacji:100% Bran,All-Bran, All-Bran with Extra Fiber czy Frosted Mini-Wheats,Golden Crisp (które zresztą uznaliśmy za obserwację odstającą, outlier) oraz

Post Nat. Raisin Bran.

Bardzo ważne dla wykrycia obserwacji odstających są tzw. studentyzowanereszty. Wykres dla nich możemy wykonac wywołując komendę:

> qq.plot(model, main="QQ Plot")

Efektem będzie wykres z rozkładem obserwacji między I i III kwartylem, stądnazwa wykresu ”międzykwartylny”

Regresja liniowa dla zbioru Cereals

Predykcja dla zbioru Cereals

Równanie regresji:gdy zmienną objaśnianą będzie zmienna rating (wartość odżywcza płatków) zaśobjaśniającą sugars (poziom cukrów), będzie następującej postaci:

rating = -2.4 * sugars + 59.3

Gdy poziom cukrów wynosi np 1 to wartość odżywcza płatków będzie wynosić 56.9 zaś gdy poziom

cukrów będzie wynosił np 10 wówczas wartość odżywcza zmaleje do wartości 35.3.

Inne metody analizy danych

� analizy dyskryminacyjna:� library(MASS)i funkcja lda()

� analiza skupień:� pam(), kmeans(), pvclust(), hclust().

� drzewa klasyfikacyjne:� rpart(), printcp()

� analiza składowych głównych:� princomp(), factanal()

Analiza dyskryminacyjna

Analiza skupień - statystyki danych

Analiza skupień - klasyczny algorytm k-średnich

Drzewa klasyfikacyjne

Analiza składowych głównych

Analiza składowych głównych

Podsumowanie

� R jest wykorzystywany w badaniach naukowych i dydaktyce na najlepszychuczelniach na świecie, w dziedzinach biologii, socjologii, psychologii,ekonomii.

� R to środowisko do obliczeń statystycznych, a jednocześnie językprogramowania.

� R może działać na systemach Windows, Linux i MacOS.

Bibliografia

Smith L.I.,A tutorial on Principal Components Analysis,http://kybele.psych.cornell.edu/~edelman/Psych-465-Spring-2003/PCA-tutorial.pdf, 2002.

Redakcja naukowa: Walesiak M. and Gatnar E., Statystyczna analizadanych z wykorzystaniem programu R, PWN, 2009, Warszawa, Polska

Larose Daniel T., Metody i modele eksploracji danych. PWN, Warszawa,Polska, 2008.

Ćwik J. and Mielniczuk J., Statystyczne systemy uczące się. Ćwiczenia woparciu o pakiet R. Oficyna Wydawnicza Politechniki Warszawskiej,Warszawa, Polska, 2009.

Koronacki J. and Mielniczuk J., Statystyka dla studentów kierunkówtechnicznych i przyrodniczych. Wydawnictwa Naukowo-Techniczne,Warszawa, Polska, 2006.

Koronacki J. and Ćwik J., Statystyczne systemy uczące się. EXIT.Warszawa, Polska, 2008.