Ανάλυση Δεδομένων

1. Διερεύνηση διαφόρων γνωστών κατανομών

Η R επιτρέπει τη χρήση “βιβλιοθηκών”. Οι βιβλιοθήκες περιέχουν διάφορες εντολές/συναρτήσεις καθώς και δεδομένα. Για να γίνουν διαθέσιμες οι εντολές και τα δεδομένα στον χρήστη, η βιβλιοθήκη πρέπει να εγκατασταθεί στον υπολογιστή (αυτό γίνεται μόνο την πρώτη φορά) και ακολούθως να φορτωθεί στη μνήμη (αυτό γίνεται κάθε φορά που θα χρησιμοποιήσουμε το περιεχόμενο της βιβλιοθήκης). Πιο κάτω εγκαθιστούμε τη βιβλιοθήκη rmutil, η οποία περιέχει εντολές για παραγωγή δειγμάτων από την κατανομή Laplace, με συνάρτηση πυκνότητας πιθανότητας \(f(x)=\frac1{2s}e^{-\frac{|x-m|}s}, \;x\in\mathbb{R}.\) Επίσης εγκαθιστούμε τη βιβλιοθήκη moments, η οποία περιέχει εντολές για των υπολογισμό τον συντελεστών λοξότητας και κυρτότητας.

install.packages('rmutil')
install.packages('moments')

Ακολούθως φορτώνουμε τις βιβλιοθήκες για να γίνουν διαθέσιμα τα περιεχόμενά τους.

library(rmutil)  
## 
## Attaching package: 'rmutil'
## The following object is masked from 'package:stats':
## 
##     nobs
## The following objects are masked from 'package:base':
## 
##     as.data.frame, units
library(moments)

Παράγουμε 5 διαφορετικά δείγματα αποτελούμενα από 200 ανεξάρτητες και ισόνομες πραγματώσεις από τις κατανομές: τυπική κανονική, κατανομή Student με 10 βαθμούς ελευθερίας, τυπική κατανομή Laplace, \(\chi^2_2\) και \(Gamma(3,2)\).

set.seed(2)
normal<-rnorm(200)
student<-rt(200,10)
laplace<-rlaplace(200)
chisq2<-rgamma(200,shape=1, rate=1/2)
gamma<-rgamma(200,shape=3, rate=2)

Εμφανίζουμε τα ιστογράμματα κάθε δείγματος. Βλέπουμε ότι τα πρώτα 3 είναι περίπου συμμετρικά γύρω από το μηδέν, ενώ τα άλλα 2 έχουν θετικές τιμές και είναι δεξιά λοξά. Το δείγμα από την τυπική Laplace έχει μεγαλύτερο εύρος τιμών από το δείγμα από την τυπική κανονική. Το δείγμα από την \(\chi_2^2\) έχει μόνο λίγες παρατηρήσεις κοντά στο μηδέν ενώ το δείγμα από την \(Gamma(3,2)\) έχει αρκετές, το δείγμα από την \(\chi^2_2\) έχει ακραίες τιμές κλπ.

par(mfrow=c(3,2))
hist(normal)
hist(student)
hist(laplace)
hist(chisq2)
hist(gamma)

Εμφανίζουμε τα κυτιογραφήματα των 5 δειγμάτων. Παρατηρούμε πχ ότι το δείγμα της \(\chi_2^2\) είναι δεξιά λοξό με μεγάλο μήκος δεξιάς ουράς και ακραίες τιμές, της Laplace είναι συμμετικό με ακραίες τιμές, της Κανονικής συμμετρικό χωρίς ακραίες τιμές κλπ.

par(mfrow=c(1,1))

boxplot(normal, student, laplace, chisq2, gamma, names=c("normal", "student", "laplace", "chisq2", "gamma"))

Μπορούμε να μελετήσουμε τους δείκτες λοξότητας, πχ το δείγμα από την \(Gamma(3,2)\) είναι δεξιά λοξό ενώ από την \(N(0,1)\) είναι περίπου συμμετρικό.

skewness(normal)
## [1] 0.04766609
skewness(gamma)
## [1] 1.275407

Μπορούμε να χρησιμοποιήσουμε τον έλεγχο Kolmogorov-Smirov, για να ελέγξουμε κάτα πόσο δύο δείγματα φαίνονται να προέρχονται από την ίδια κατανομή, με στατιστική σημαντικότητα \(\alpha\). Αυτό γίνεται με την εντολή ks.test, η οποία παίρνει ως όρισμα δύο δείγματα ή ένα δείγμα και μια κατανομή. Η δεύτερη περίπτωση χρησιμεύει για τη σύγκριση ενός δείγματος με μια θεωρητική κατανομή.

ks.test(normal, student) 
## 
##  Two-sample Kolmogorov-Smirnov test
## 
## data:  normal and student
## D = 0.05, p-value = 0.9639
## alternative hypothesis: two-sided
ks.test(student, 'pnorm')
## 
##  One-sample Kolmogorov-Smirnov test
## 
## data:  student
## D = 0.057964, p-value = 0.5124
## alternative hypothesis: two-sided
ks.test(normal, gamma)
## 
##  Two-sample Kolmogorov-Smirnov test
## 
## data:  normal and gamma
## D = 0.59, p-value < 2.2e-16
## alternative hypothesis: two-sided

Βλέπουμε ότι τα δείγματα από την τυπική κανονική κατανομή και από την Student με 10 βαθμούς ελευθερίας, φαίνονται να προέρχονται από την ίδια κατανομή! Αυτό είναι αναμενόμενο αφού όσο πληθαίνουν οι βαθμοί ελευθερίας η κατανομή Student προσεγγίζει την τυπική κανονική κατανομή.

Ακολούθως κάνουμε μια μελέτη της κυρτότητας των δειγμάτων από την τυπική κανονική και την κατανομή Laplace. Μεγάλη κυρτότητα δείχνει ότι η διακύμανση οφείλεται σε λίγες ακραίες τιμές ενώ οι υπόλοιπες τιμές είναι συγκεντρωμένες κοντά στον μέσο, παρά σε πολλές διάσπαρτες τιμές γύρω από το μέσο. Προσέξτε ότι οι τυχαίες μεταβλητές \(X\) και \(Y=cX\) για οποιοδήποτε \(c\in\mathbb{R}\) έχουν τον ίδιο συντελεστή κυρτότητας, συνεπώς δεν υπάρχει λόγος να κανονικοποιήσουμε την Laplace για να έχει διασπορά 1, όπως έχει και η τυπική κανονική.

par(mfrow=c(1,1))
boxplot(normal, laplace, names=c("normal", "laplace")) 

Από το κυτιογράφημα βλέπουμε ότι η τυπική Laplace έχει τις περισσότερες τιμές πολύ κοντά στο μηδέν και μερικές ακραίες τιμές, ενώ η κανονική έχει όλες τις τιμές κοντά στο μηδέν. Συνεπώς περιμένουμε ότι η τυπική Laplace θα έχει μεγαλύτερη κυρτότητα από την τυπική κανονική.

kurtosis(normal)
## [1] 2.295313
kurtosis(laplace)
## [1] 5.309794

Η εντολή ecdf δίνει την εμπειρική συνάρτηση κατανομής. Κοιτάζοντας τις εμπειρικές συναρτήσεις κατανομής για τα δείγματα laplace και normal, μπορούμε να συγκρίνουμε με ακόμα ένα τρόπο τα δύο δείγματα.

par(mfrow=c(1,2))
plot.ecdf(normal, verticals=T, col.p="white", col.v="black", main="Εμπειρική Συνάρτηση Κατανομής δείγματος normal")
plot.ecdf(laplace, verticals=T, col.p="white", col.v="black", main="Εμπειρική Συνάρτηση Κατανομής δείγματος laplace")