Primijenjena statistika
  • Priručnik primijenjene statistike u R-u
  • Predgovor
  • 1. Uvod u R
    • 1.1. R objekti
    • 1.2. Manipulacije i agregacije podataka
    • 1.3. Import i eksport podataka
    • 1.4. Korisničke funkcije
  • 2. Tipovi i nivoi mjerenja statističkih obilježja
  • 3. Deskriptivna statistika i grafičko predstavljanje podataka
    • 3.1. Mjere centralne tendencije
    • 3.2. Mjere varijabiliteta
    • 3.3. Mjere oblika rasporeda
    • 3.4. Grafičko predstavljanje podataka
  • 4. Distribucije vjerovatnoća slučajne promjenljive
    • 4.1. Binomni raspored
    • 4.2. Normalni raspored
    • 4.3. Studentov t raspored
    • 4.4. Fišerov F raspored i hi-kvadrat raspored
  • 5. Uzorak i uzoračke ocjene
  • 6. Statističko testiranje hipoteza
    • 6.1. t-test na osnovu jednog uzorka
    • 6.2. t-test na osnovu dva uzorka
    • 6.3. Test proporcija
    • 6.4. Analiza varijanse – ANOVA (klasična ANOVA i Welch ANOVA)
    • 6.5. Wilcoxonov test ranga na osnovu jednog uzorka
    • 6.6. Wilcoxonov test na osnovu dva uzorka
    • 6.7. Kruskal-Wallisov test
    • 6.8. Testovi normalnosti
      • 6.8.1. Jarque-Bera test normalnosti
      • 6.8.2. Pearsonov hi-kvadrat test normalnosti
    • 6.9. Testovi homogenosti varijanse
      • 6.9.1. F test jednakosti varijansi
      • 6.9.2. Bartlettov test homogenosti varijansi
      • 6.9.3. Fligner-Killeenov test homogenosti varijansi
  • 7. Linearna regresija
    • 7.1. Ocjena modela linearne regresije
    • 7.2. Dijagnostika ocijenjenog modela linearne regresije
  • 8. Binomna logistička regresija
  • 9. Literatura
  • Biografija
Powered by GitBook
On this page

Was this helpful?

  1. 3. Deskriptivna statistika i grafičko predstavljanje podataka

3.4. Grafičko predstavljanje podataka

Pored računanja deskriptivne statistike, u cilju boljeg razumijevanja analiziranog obilježja, veoma je korisno grafički predstaviti podatke. Često vizuelna prezentacija podataka ima veći efekat na razumijevanje analiziranog obilježja od čisto sumarnih statistika. U ovoj sekciji biće predstavljene tri vrste grafika: histogram, boks dijagram (engleski boxplot) i multivarijantni dijagram rasturanja (engleski scatter plot) za numerička obilježja i bar dijagram za kvalitativna obilježja.

Histogram predstavlja jedan od najčešće korišćenih grafika za univarijantno prezentovanje numeričkog obilježja. Jedan od načina određivanja broja intervalnih klasa za histogram jeste tzv. Sturgesovo pravilo. Na osvnovu tog pravila broj intervalnih klasa određujemo formulom:

K=log2(N)+1K = log_2(N) + 1K=log2​(N)+1

gdje je NNN broj vrijednosti analiziranog obilježja. Na osnovu broja intervalnih grupa jednostavno je odrediti širinu intervala koristeći formulu:

interval=Xmax−XminKinterval = \frac{X_{max} - X_{min}}{K}interval=KXmax​−Xmin​​

gdje su XmaxX_{max}Xmax​ i XminX_{min}Xmin​ maksimalna i minimalna vrijednost obilježja . Na osnovu ovih podataka definišu se intervalne klase i prebroji se koliko se podataka analiziranog obilježja nalazi u kojoj klasi. Na apscisi (x osi) koordinatnog sistema histograma predstavljene su formirane intervalne klase, dok su na ordinati (y osi) predstavljenje frekvencije tih klasa.

Primjer 23: Predstaviti histogram slučajno generisanih vrijednosti obilježja koje dolazi iz normalne raspodjele sa aritmetičkom sredinom 10 i standardnom devijacijom 1.

> set.seed(1)
> x <- rnorm(100, mean = 10, sd = 1)
> K <- ceiling(log2(length(x)) + 1)
> klase.granice <- seq(min(x), max(x), length.out = K + 1)
> histogram <- hist(x = x, 
+ breaks = klase.granice, 
+ col = "gray", 
+ xlab = "Klase", 
+ ylab = "Frekvencije", 
+ main = "Histogram")
> histogram$breaks
[1]  7.785300  8.362340  8.939380  9.516419 10.093459 10.670499 11.247538 11.824578 12.401618
> histogram$counts
[1]  3  7 15 25 24 17  6  3
> #intervali klasa - histogram
> diff(histogram$breaks)
[1] 0.5770397 0.5770397 0.5770397 0.5770397 0.5770397 0.5770397 0.5770397 0.5770397
> #intervali klasa - formula
> (max(x) - min(x)) / K
[1] 0.5770397

Prethodni primjer pokazuje slučaj kada korisnik sam definiše broj intervalnih klasa koristeći Sturgesovo pravilo primoravajući histogram da prikaže tačno izračunat broj intervalnih klasa. Defaultna podešavanje R funkcije hist imaju određene interne algoritme za prilagođavanja broja intervalnih klasa tako da rezultati mogu odudarati od prikazanog Primjera 23.

Primjer 24:

> histogram.def <- hist(x = x, 
+     col = "gray", 
+     xlab = "Klase", 
+     ylab = "Frekvencije", 
+     main = "Histogram")
> histogram.def$breaks
 [1]  7.5  8.0  8.5  9.0  9.5 10.0 10.5 11.0 11.5 12.0 12.5
> histogram.def$counts
 [1]  1  3  7 14 21 20 19  9  4  2

Boks dijagram sumira i grafički predstavlja vrijednosti obilježja u 5 brojeva i to: minimum, prvi kvartil (25%), medijanu (50%), treći kvartil (75%) i maksimum. Česte su modifikacije boks dijagrama u cilju utvrđivanja vrijednosti koje su potencijalni outlieri. Te modifikacije se odnose na računanje početne i krajnje vrijednosti 5 brojeva boxplota. Po defaultu minimum boxplota računa se u odnosu na vrijednost Q1−1.5IQR(x)Q_1-1.5IQR(x)Q1​−1.5IQR(x) , dok se maksimum računa u odnosu na vrijednosti Q3+1.5IQR(x)Q_3+1.5IQR(x)Q3​+1.5IQR(x), gdje su Q1Q_1Q1​ i Q3Q_3Q3​ prvi i treći kvartil obilježja xxx, a IQRIQRIQR interkvartilna razlika obilježja xxx.

Primjer 25: Predstaviti boks dijagram 20 slučajno generisanih vrijednosti obilježja koje dolazi iz normalne raspodjele sa aritmetičkom sredinom 0 i standardnom devijacijom 1.

> set.seed(100)
> rn <- rnorm(20, mean = 0, sd = 1)
> #boxplot sa range parametrom jednakim 0
> boxplot(rn, range = 0, plot = FALSE)$stat
           [,1]
[1,] -0.9138142
[2,] -0.3743582
[3,]  0.0930803
[4,]  0.4147432
[5,]  2.3102968
> quantile(rn, p = c(0, 0.25, 0.5, 0.75, 1), type = 2)
        0%        25%        50%        75%       100% 
-0.9138142 -0.3743582  0.0930803  0.4147432  2.3102968 
> # boxplot default (range parametar jednak 1.5)
> boxplot(rn, plot = FALSE)$stat
           [,1]
[1,] -0.9138142
[2,] -0.3743582
[3,]  0.0930803
[4,]  0.4147432
[5,]  0.8867848
> #intervartilna razlika na osnovu podataka iz boxplot funkcije
> 0.4147432 - (-0.3743582)
[1] 0.7891014
> #funkcije IQR koristi metod 7 (type = 7) za računavanje kvantila
> IQR(rn)     
[1] 0.7337968
> #IQR unutar boxplot funkcije koristi metod 2 (type = 2)
> igr.bp <- quantile(rn, p = 0.75, type = 2) - quantile(rn, p = 0.25, type = 2)  
> igr.bp   
      75% 
0.7891014 
> #outlier range = 1.5  
> #gornja granica boxplota
> max(rn[rn < 1.5 * igr.bp + quantile(rn, p = 0.75, type = 2)])  
[1] 0.8867848
> #donja granica boxplota
> min(rn[rn > quantile(rn, p = 0.25, type = 2) - 1.5 * igr.bp])
[1] -0.9138142
> #prvi, treći kvartil i medijana
> quantile(rn, p = c(0.25, 0.5, 0.75), type = 2) 
       25%        50%        75% 
-0.3743582  0.0930803  0.4147432 
> #potencijalni outlier
> boxplot(rn, plot = FALSE)$out
[1] 2.310297
> par(mfrow = c(1, 2))
> boxplot(rn, range = 0)
> title("Boxplot rn range = 0")
> boxplot(rn)
> title("Boxplot rn range = 1.5")

Napomena: Argument range funkcije boxplot omogućava korisniku da sam definiše način konstruisanja minimuma i maksimuma boxplota, a samim tim i da promijeni kriterijume za identifikovanje potencijalnih outliera.

Statistička analiza obično pretpostavlja analizu seta obilježja prije nego analizu samo jednog obilježja. Takvi setovi podataka u R-u mogu biti predstavljeni multivarijantnom matricom plota - kao što je prikazano sljedećim primjerom.

Primjer 26: Na multivarijantnom dijagramu rasturanja predstaviti set podataka iris

> data(iris)
> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
> plot(iris, main = "Dataset iris")

Bar dijagram predstavlja jednostavan, ali veoma efikasan način predstavljanja kvalitativnih obilježja. Po izgledu sličan je histogramu, a jednostavno rečeno predstavlja grafički prikaz broja jedinica svake kategorije analiziranog obilježja.

Primjer 27: Slučajno generisne vrijednosti obilježja (x) iz Primjera 23, podijeliti u 5 intervalnih grupa jednake intervalne širine, a zatim grafički predstaviti transformisano obilježje na bar dijagramu.

> set.seed(1)
> x <- rnorm(100, mean = 10, sd = 1)
> x.trans <- cut(x = x, breaks = 5, include.lowest = TRUE)
> tbl <- table(x.trans)
> tbl
x.trans
[7.78,8.71] (8.71,9.63] (9.63,10.6] (10.6,11.5] (11.5,12.4] 
          6          24          36          28           6 
> barplot(tbl, main = "Bar dijagram")

Pored funkcija koje su dio osnovne konfiguracije, R ima izuzetno razvijen modul za grafičku prezentaciju podataka u vidu dodatnih paketa. Tako je na primjer paket ggplot2 neformalno priznat kao standard za grafičko predstavljanјe podataka unutar R zajednice.

Primjer 28: Provjeriti da li je paket ggplot2 već instaliran. Ukoliko nije, instalirati isti, а ukoliko jeste, importovati paket. Zatim koristeći generisana obilježja iz Primjera 21 (x) i Primjera 24 (x.trans) definisati data frame db. Na kraju, predstaviti obilježje x na histogramu, boks dijagramu i linijskom dijagramu, a obilježje x.trans predstaviti na bar dijagramu.

> if(!require("ggplot2")) {
+ install.packages("ggplot2")
+ } else {
+ library(ggplot2)
+ }
> set.seed(1)
> x <- rnorm(100, mean = 10, sd = 1)
> x.trans <- cut(x = x, breaks = 5, include.lowest = TRUE)
> db <- data.frame(x, x.trans)
> head(db)
          x     x.trans
1  9.373546 (8.71,9.63]
2 10.183643 (9.63,10.6]
3  9.164371 (8.71,9.63]
4 11.595281 (11.5,12.4]
5 10.329508 (9.63,10.6]
6  9.179532 (8.71,9.63]
> g1 <- ggplot(db, aes(x = x)) + geom_histogram() + ggtitle("ggplot2 histogram")
> g1
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
> g2 <- ggplot(db, aes(y = x)) + geom_boxplot() + ggtitle("ggplot2 boks dijagram")
> g2
> g3 <- ggplot(db, aes(x = 1:nrow(db), y = x)) + geom_line() + ggtitle("ggplot2 linijski dijagram")
> g3
> g4 <- ggplot(db, aes(x = x.trans)) + geom_bar() + ggtitle("ggplot2 bar dijagram")
> g4

Previous3.3. Mjere oblika rasporedaNext4. Distribucije vjerovatnoća slučajne promjenljive

Last updated 4 years ago

Was this helpful?