Μια αλυσίδα καταστημάτων άλλαξε το σύστημα παραγγελιών από τηλεφωνικές σε παραγγελίες μέσω εφαρμογής κινητού τηλεφώνου. Για να ελέγξει την επίδραση της αλλαγής αυτής στους σταθερούς (πιστούς) πελάτες της μέτρησε το πλήθος παραγγελιών κατά την τρέχουσα (παραγγελίες με εφαρμογή) περίοδο σε σχέση με την προηγούμενη (τηλεφωνικές παραγγελίες) περίοδο
Πελάτης | Τωρινή περίοδος | Προηγούμενη περίοδος | Διαφοράς |
---|---|---|---|
1 | 45 | 34 | 11 |
2 | 25 | 15 | 10 |
3 | 53 | 52 | 1 |
4 | 10 | 9 | 1 |
5 | 20 | 21 | -1 |
6 | 29 | 23 | 6 |
7 | 100 | 105 | -5 |
8 | 25 | 30 | -5 |
9 | 9 | 8 | 1 |
10 | 26 | 12 | 14 |
11 | 2 | 4 | -2 |
12 | 49 | 40 | 9 |
13 | 59 | 60 | -1 |
14 | 30 | 21 | 9 |
15 | 95 | 89 | 6 |
16 | 7 | 12 | -5 |
θέλουμε να ελέγξουμε αν υπάρχει σημαντική αύξηση στις παραγγελίες. Δηλαδή: \[ H_0 : \mu_1 - \mu_2 \le 0\] Δηλαδή αν ο μέσος των παραγγελιών με εφαρμογές κινητού τηλεφώνου (\(\mu_2\)) είναι μικρότερος του μέσου με τηλεφωνικές παραγγελίες$ (_1$)
Θα υπολογίσουμε την ποσότητα: \[ t = \frac{ \bar{D} - \mu_{D_0}}{s_D/\sqrt{n}} \] Όπου \(\bar{D}\) είναι ο μέσος της διαφοράς \(current - previous\).
Μπορούμε να ξεκινήσουμε με την εισαγωγή των δεδομένων:
current <- c(45, 25, 53, 10, 20, 29, 100, 25, 9, 26, 2, 49, 59, 30, 95, 7)
previous <- c(34, 15, 52, 9, 21, 23, 105, 30, 8, 12, 4, 40, 60, 21, 89, 12)
και να υπολογίσουμε τη διαφορά:
differ <- current - previous
Τώρα μπορούμε στο διάνυσμα τιμών της διαφοράς να υπολογίσουμε τη δειγματι´κή μέση τιμή:
(m <- mean(differ))
## [1] 3.0625
τη δειγματική τυπική απόκλιση:
(s <- sd(differ))
## [1] 6.244664
και επίσης το πλήθος τιμών (μήκος του διανύσματος)
(n <- length(differ))
## [1] 16
# Η τιμή του t στατιστικού είναι:
( tstat <- (m - 0) / (s/sqrt(n)) )
## [1] 1.961675
Για την αποτίμηση της παραπάνω τιμής χρειάζεται να τη συγκρίνουμε με κάποια κρίσιμης τιμή. Παλιότερα αυτό γινόταν με τη χρήση στατιστικών πινάκων. Σήμερα με τη χρήση οποιουδήποτε σταττιστικού πακέτου κάτι τέτοιο είναι εφικτό χωρίς τη χρήση στατιστικών πινάκων: εύκολα, γρήγορα, και με μεγαλύτερη ακρίβεια. Συνήθως επιλέγουμε το \(\alpha = 0.05\), η κρίσιμη τιμή δίνεται από τη κατανομή t:
(crit95 <- qt(0.95, df = n-1))
## [1] 1.75305
ή ισοδύναμα:
(crit95 <- qt(0.05, df = n-1, lower.tail = FALSE))
## [1] 1.75305
Παρατηρούμε στο παρακάτω σχήμα πως η κρίσιμη τιμή πέφτει εντός της περιοχής απόρριψης:
Επειδή η τιμή του t στατιστικού είναι μεγαλύτερη της κρίσιμης τιμής απορρίπτουμε τη μηδενική υπόθεση πως η διαφορά των μέσων είναι αρνητιτή. Δεν μπορούμε δηλαδή να υποθέσουμε πως οι παραγγελίες της τρέχουσας περιόδου (εφαμρμογή) είναι λιγότερες από τις παραγγελίες της προηγούμενης περιόδου (τηλεφωνικές).
Μπορούμε επίσης να υπολογίσουμε την τιμή p (p value) ως εξής:
pt(tstat, df = n-1, lower.tail = FALSE)
## [1] 0.03431621
Προσοχή, ελέγχουμε τη μηδενική υπόθεση: \[ H_0 : \mu_D \le 0\]
Η περιοχή απόρριψης είναι στη δεξιά πλευρά (δεξιόπλευρος έλεγχος) Αν η τιμή του στατιστικού ελέγχου είναι μεγαλύτερη από την κρίσιμη τιμή τότε απορρίπτουμε τη μηδενική υπόθεση.
Ας εστιάσουμε στην περιοχή απόρριψης. Η κρίσιμη τιμή επισημαίνετε με τη διακεκομμένη γραμμή, ενώ η σκίαση δείχνει την τιμή του στατιστικού ελέγχου.
Παρατηρούμε πως:
pt(tstat, df = n-1, lower.tail = FALSE)
## [1] 0.03431621
Δηλαδή μικρότερη από το επίπεδο σημαντικότητας 0.05.
Είτε με τον ένα τρόπο (σύγκριση στατιστικού ελέγχου και κρίσιμης τιμής) είτε με τον άλλο τρόπο (σύγκριση τιμής p με το επίπεδο σημαντικότητας) απορρίπτουμε τη μηδενική υπόθεση \(H_0 : \mu_D \le 0\).
Πρακτικά αυτό σημαίνει πως δεν αποδεχόμαστε πως οι παραγγελίες της τρέχουσας περιόδου είναι λιγότερες από τις παραγγελίες της προηγούμενης περιόδου. Μπορούμε να πούμε πως αποδεχόμαστε το ανάποδο; Δηλαδή πως οι παραγγελίες τηςε τρέχουσας περιόδου είναι περισσότερες από αυτές της προηγούμενης περιόδου; Όχι δεν μπορούμε. Η απόρριψη της μηδενικής υπόθεσης δεν σημαίνει αποδοχή της εναλλακτικής. Ο στατιστικός έλεγχος μπορεί να οδηγήσει στην απόρριψη ή μη μιας υπόθεσης αλλά δεν μπορεί να οδηγήσει στην αποδοχή καμίας υπόθεσης. Αυτό που μπορούμε να παραδεχτούμε είναι πως υπάρχει ένδειξη ότι οι παραγγελίες της τρέχουσας περιόδου δεν είναι μικρότερες από τις παραγγελίες της προηγούμενης περιόδου, Αυτό μας λέει ο δεξιόπλευρος έλεγχος που κάναμε,
Στην R μπορούμε εύκολα να κάνουμε τον παραπάνω έλεγχο ως εξής:
t.test(current, previous, alternative = "greater", paired = TRUE)
##
## Paired t-test
##
## data: current and previous
## t = 1.9617, df = 15, p-value = 0.03432
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
## 0.3256972 Inf
## sample estimates:
## mean of the differences
## 3.0625
και ελέγχουμε τη μηδενική υπόθεση: \[ \mu_{current} - \mu_{previous} \le 0 \] έναντι της εναλλακτικής: \[ \mu_{current} - \mu_{previous} > 0 \]
Ή ισοδύναμα να γράψουμε:
t.test(differ, mu = 0, alternative = "greater")
##
## One Sample t-test
##
## data: differ
## t = 1.9617, df = 15, p-value = 0.03432
## alternative hypothesis: true mean is greater than 0
## 95 percent confidence interval:
## 0.3256972 Inf
## sample estimates:
## mean of x
## 3.0625
για να ελέγξουμε τη μηδενική υπόθεση: \[ \mu_{D} \le 0 \] έναντι της εναλλακτικής: \[ \mu_{D} > 0 \]
Προσοχή, ορίζουμε μέσα στη συνάρτηση την εναλλακτική υπόθεση, όχι τη μηδενική.
Επίσης, σε αυτό το παράδειγμα η σύγκριση γίνεται κατά ζεύγη. Αν επιλέξουμε να δηλώσουμε τα δύο ξεχωριστά διανύσματα τιμών αυτό πρέπει επίσης να δηλωθεί (paired = TRUE). Δηλαδή ανάμεσα στις παρατηρήσεις υπάρχει μια σχέση 1-προς-1.
Ας υποθέσουμε πως θέλουμε να ελέγξουμε τη μηδενική υπόθεση: \[ \mu_{current} - \mu_{previous} > 0 \] έναντι της εναλλακτικής: \[ \mu_{current} - \mu_{previous} \le 0 \]
Έχουμε πολλές επιλογές στο πως να το κάνουμε. Ένας απλός τρόπος είναι με τη συνάρτηση t.test:
t.test(current, previous, alternative = "less", paired = TRUE)
##
## Paired t-test
##
## data: current and previous
## t = 1.9617, df = 15, p-value = 0.9657
## alternative hypothesis: true difference in means is less than 0
## 95 percent confidence interval:
## -Inf 5.799303
## sample estimates:
## mean of the differences
## 3.0625
Εδώ παρατηρούμε πως η τιμή p είναι πολύ μεγαλύτερη από το επίπεδο σημαντικότητας που έχουμε επιλέξει, το 0.05. Σε αυτή την περίπτωση δεν απορρίπτουμε τη μηδενική υπόθεση.
Θα καταλήξουμε στο ίδιο συμπέρασμα αν παρατηρήσουμε πως η στατιστική ελέγχου 1.962 δεν είναι μικρότερη από την κρίσιμη τιμή 1.753 στο επίπεδο σημαντικότητας 0.05. Επομένως δεν μπορούμε να απορρίψουμε τη μηδενική υπόθεση. Μπορούμε να το δούμε και στο παρακάτω διάγραμμα:
Σε αυτόν τον έλεγχο η περιοχή απόρριψης είναι στα δεξιά της κατανομής (αριστερόπλευρος έλεγχος). Η τιμή στατιστικού ελέγχου 1.962 είναι εκτός της περιοχής απόρριψης, δεν απορρίπτουμε τη μηδενική υπόθεση.
Υπενθυμίζεται πως το εμβαδόν της σκιασμένης περιοχής είναι 0.05, όσο και το επίπεδο σημαντικότητας του ελέγχου. Αν χρωματίσουμε διαφορετικά το γράφημα και σκιάσουμε την περιοχή που αντιστοιχεί στην τιμή του στατιστικού ελέγχου θα έχουμε:
η σκιασμένη περιοχή έχει εμβαδόν:
pt(tstat, df = n-1)
## [1] 0.9656838
Η τιμή αυτή (p value) είναι πολύ μεγαλύτερη από το επίπεδο σημαντικότητας 0.05, επομένως δεν απορρίπτουμε τη μηδενική υπόθεση.
Έστω πως θέλουμε να ελέγξουμε τη μηδενική υπόθεση: \[ \mu_{current} - \mu_{previous} = 0 \] έναντι της εναλλακτικής: \[ \mu_{current} - \mu_{previous} \neq 0 \]
Δηλαδή να ελέγξουμε πως δεν υπάρχει στατιστικά σημαντική διαφορά ανάμεσα στο μέσο των παραγγελιών με τηλέφωνο ή με την εφαρμογή. Προσοχή, ο έλεγχος δεν γίνει με βάση μόνο της αλγεβρικές τιμές του μέσου, πχ:
mean(current)
## [1] 36.5
mean(previous)
## [1] 33.4375
Ο έλεγχος αυτός μπορεί να γίνει εύκολα με τη συνάρτηση t.test αν γράψουμε:
t.test(current, previous, alternative = "two.sided", paired = TRUE)
##
## Paired t-test
##
## data: current and previous
## t = 1.9617, df = 15, p-value = 0.06863
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.2650468 6.3900468
## sample estimates:
## mean of the differences
## 3.0625
Το αντίστοιχο γράφημα είναι τώρα:
Πρέπει να έχουμε υπόψη πως στην περίπτωση του δίπλευρου ελέγχου, όπως στο παραπάνω σχήμα, η περιοχή απόρριψης μοιράζεται στο δεξιό και αριστερό άκρο της κατανομής. Το συνολικό εμβαδόν είναι 0.05, εφόσον 0.05 είναι το επίπεδο σημαντικότητας. Αυτό σημαίνει πως η σκιασμένη περιοχή στα δεξιά έχει εμβαδόν 0.05/2=0.025, όπως και η σκιασμένη περιοχή στα αριστερά.
Εδώ η τιμή p, η οποία μπορεί επίσης να υπολογιστεί και ως:
2 * pt(tstat, df = n-1, lower.tail = FALSE)
## [1] 0.06863242
είναι μεγαλύτερη του 0.05 (επίπεδο σημαντικότητας), επομένως δεν απορρίπτουμε τη μηδενική υπόθεση.
Η μη απόρριψη είναι βέβαια οριακή, η τμή p είναι κοντά στο όριο απόρριψης. Αυτό είναι πάντοτε καλό να το έχουμε κατά νου, να μην βλέπουμε τα πράγματα ως άσπρο-μαύρο αλλά να αναδεικνύουμε τη σχετική πλευρά των πραγμάτων.
Αν η μηδενική υπόθεση είναι αριστερόπλευρος έλεγχος \(H_0 : \mu \le 0\) τότε η τιμή p μπορεί να υπολογιστεί ως:
pt(tstat, df = n-1, lower.tail = FALSE)
Αν η μηδενική υπόθεση είναι δεξιόπλευρος έλεγχος \(H_0 : \mu \ge 0\) τότε η τιμή p μπορεί να υπολογιστεί ως:
pt(tstat, df = n-1, lower.tail = TRUE)
Αν η μηδενική υπόθεση είναι δίπλευρος έλεγχος \(H_0 : \mu = 0\) τότε η τιμή p μπορεί να υπολογιστεί ως:
2 * pt(tstat, df = n-1, lower.tail = FALSE)
Κανόνας: αν η τιμή p είναι μικρότερη από το επίπεδο σημαντικότητας (συνήθως αλλά όχι πάντα 0.05) απορρίπτουμε τη μηδενική υπόθεση.