Διωνυμική κατανομή

Και άλλες διακριτές κατανομές

Αθανάσιος Σταυρακούδης

Εργαστήριο Εφαρμογών Πληροφορικής και Υπολογιστικών Οικονομικών

05/12/2023

Ορισμοί, υποθέσεις και εφαρμογές

Τυχαία μεταβλητή - ρίψη ενός κέρματος

Τυχαία μεταβλητή είναι μια αβέβαιη ποσότητα η τιμή της οποίας είναι τυχαία

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

Ρίψη Επιτυχία Πιθανότητα
\(X=0\) \(P(X=0) = 1/2\)
\(X=1\) \(P(X=1) = 1/2\)

Κατανομή πιθανότητας

Υπάρχουν δύο δυνατά ενδεχόμενα (\(X\)), Κ(εφαλή) και Γ(γράμματα). Κάθε ενδεδχόμενο μπορεί να συμβεί με συγκεκριμένη πιθανότητα, εδώ ίση με 1/2. Οι τιμές που παίρνει η πιθανότητα (\(P(X)\)) εμφάνισης κάθε ενδεχομένου προέρχεται από την κατανομή πιθανότητας.

Δειγματικός χώρος

Μια τυχαία μεταβλητή είναι συνάρτηση του δειγματικού χώρου. Στο συγκεκριμένο παράδειγμα ο δειγματικός χώρος είναι το σύνολο \(\Omega = \{Γ, Κ\}\) το οποίο αυθαίρετα ορίζουμε ως \(\Omega = \{0, 1\}\).

Τυχαία μεταβλητή - ρίψη δύο κερμάτων

Ρίψη Επιτυχία Πιθανότητα
\(X=0\) \(P(X=0) = 1/4\)

\(X=1\) \(P(X=1) = 2/4\)
\(X=2\) \(P(X=2) = 1/4\)

\(\Omega = \{0, 1, 2\}\)

Τυχαία μεταβλητή - ρίψη τριών κερμάτων

Ρίψη Επιτυχία Πιθανότητα
\(X=0\) \(P(X=0) = 1/8\)



\(X=1\) \(P(X=1) = 3/8\)


\(X=2\) \(P(X=1) = 3/8\)
X=3 P(X=3) = 1/8

\(\Omega = \{000, 001, 010, 100, 011, 101, 110, 111\}\)

Ομοιόμορφη διακριτή κατανομή

Ζάρι και πιθανότητες

Ας υποθέσουμε πως ρίχνουμε ένα ζάρι. Κάθε πιθανό αποτέλεσμα (1 έως 6) έχει πιθανότητα ίση με 1/6 (αμερόληπτο ζάρι).

x <- 1:6
y <- rep(1/6, 6)
plot(x, y, type = "h", lwd = 2)
points(x, y, pch = 19, cex = 2)

Τυχαία δειγματοληψία

Να πως μπορούμε να κάνουμε προσομοίωση ρίψης ενός ζαριού:

sample(x = 1:6, size = 1)
[1] 3
  • x, είναι το διάνυσμα τιμών από όπου θα λάβουμε το δείγμα
  • size, είναι το μέγεθος του δείγματος.

Στο παραπάνω ## Ένας τυχαίο ενδεχόμενο

Προσομοίωση στην R

Αντί να ρίξουμε κέρμα (πείραμα Κεφαλή/Γράμματα) ας ζητήσουμε από τον υπολογιστή έναν τυχαίο αριθμό 0 (επιτυχία) ή 1 (αποτυχία) με πιθανότητα \(p = 1/2\)

rbinom(n = 1, size = 1, prob = 0.5)
[1] 0

Η διαδικασία ονομάζεται προσομοίωση: υποκαθιστούμε μια φυσική διαδικασία με μια νοητή, και μάλιστα μέσω Η/Υ (υπολογιστική προσομοίωση)

Πολλά κέρματα

Ας υποθέσουμε τώρα πως ρίχνουμε 10 κέρματα:

rbinom(n = 10, size = 1, prob = 0.5)
 [1] 0 1 0 1 1 0 1 1 1 0

Αν θέλουμε μάλιστα μπορούμε να υπολογίσουμε και το πόσες φορές είχαμε επιτυχία:

x <- rbinom(n = 10, size = 1, prob = 0.5)
sum(x)
[1] 6

Επαναλήψεις

Ας υποθέσουμε τώρα πως ρίχνουμε 10 κέρματα από 5 φορές το καθένα:

rbinom(n = 10, size = 5, prob = 0.5)
 [1] 2 3 2 4 4 1 3 4 3 2

Πως το ερμηνεύουμε:

  • Στο πρώτο είχαμε επιτυχία 2 φορές
  • Στο δεύτερο είχαμε επιτυχία 3 φορές

Στο τηλέφωνο

Ας υποθέσουμε πως καλείτε μέσα στο διάστημα μιας εβδομάδας 8 φίλους σας από 7 φορές τον καθένα (μία φορά κάθε μέρα). Αν η πιθανότητα να απαντήσει κάποιος σε μία κλήση είναι \(p = \frac{3}{4}\), τότε μια τυχαία εβδομάδα θα μπορούσατε να είχατε τα παρακάτω αποτελέσματα:

rbinom(n = 8, size = 7, prob = 3/4)
[1] 7 5 3 6 4 4 3 4

Παρατηρήσεις:

  • Ο πρώτος απάντησε 7 (από τις 7) κλήσεις!
  • Ο δεύτερος απάντησε 5 (από τις 7) κλήσεις
  • Ο όγδοος απάντησε 4 (από τις 7) κλήσεις

Πιθανότητες σημείου

Η συνάρτηση dbinom

Η συνάρτηση dbinom υπολογίζει την πυκνότητα πιθανότητας της διωνυμικής κατανομής, την πιθανότητα σε κάποιο \(X=k\).

\[ \Pr(k;n,p) = \Pr(X = k) = \binom{n}{k} p^k(1-p)^{n-k} \]

\[ \binom{n}{k} =\frac{n!}{k!(n-k)!} \]

Στην R γράφουμε:

dbinom(x = k, size = n, prob = b)

Ρίψη κέρματος 1 φορά

Επιτυχία: \[\Pr(X=1) = \binom{2}{1}\left(\frac{1}{2}\right)^1\left(1-\frac{1}{2}\right)^{(2-1)} = \frac{2!}{1!(2-1)!}\times\frac{1}{2}\times\frac{1}{2} = \frac{1}{2}\]

dbinom(x = 1, size = 1, prob = 0.5)
[1] 0.5

Αποτυχία: \[\Pr(X=0) = \binom{2}{1}\left(\frac{1}{2}\right)^1\left(1-\frac{1}{2}\right)^{(2-1)} = \frac{2!}{1!(2-1)!}\times\frac{1}{2}\times\frac{1}{2} = \frac{1}{2}\]

dbinom(x = 0, size = 1, prob = 0.5)
[1] 0.5

Σύντομη εντολή

Αν ρίξουμε 1 φορά (\(n\)=size=1) 1 κέρμα έχουμε ενδεχόμενα είτε:

  • 0 επιτυχία (\(k=0\))
  • 1 επιτυχία (\(k=1\)).

Μπορούμε να συντομεύσουμε τους υπολογισμούς ως εξής:

dbinom(x = 0:1, size = 1, prob = 0.5)
[1] 0.5 0.5

Όλα τα πιθανά ενδεχόμενα : expand.grid

Ας υποθέσουμε πως κάνουμε ένα πείραμα με δύο πιθανά ενδεχόμενα (ρίψη κέρματος). Αναπαριστούμε τα αποτελέσματα με 0 (αποτυχία) και 1 (επιτυχία). Αν κάνουμε δύο πειράματα (2 ρίψεις) ποια είναι τα πιθανά αποτελέσματα;

Να πώς μπορούμε να το δούμε αυτό στην R:

s <- 0:1
expand.grid(s, s) 
  Var1 Var2
1    0    0
2    1    0
3    0    1
4    1    1

Δοκιμάστε τα παρακάτω και σχολιάστε το αποτέλεσμα:

s <- 1:6
expand.grid(s, s) 
s <- 0:1
expand.grid(s, s, s) 

Δύο επαναλήψεις

Πιθανά ενδεχόμενα με δύο ρίψεις:

Code
s <- 0:1
expand.grid(s, s) %>% 
  mutate(k = Var1 + Var2) %>% 
  count(k) %>% 
  mutate(p = n / sum(n))
  k n    p
1 0 1 0.25
2 1 2 0.50
3 2 1 0.25

Παρατηρήσεις:

  • 0 επιτυχίες = 1 φορά = 1/4 πιθανότητα
  • 1 επιτυχία = 2 φορές = 1/2 πιθανότητα
  • 2 επιτυχίες = 1 φορά = 1/4 πιθανότητα

Εύκολος υπολογισμός

Δύο ρίψεις με πιθανότητα επιτυχίας 1/2

dbinom(x = 0:2, size = 2, prob = 1/2)
[1] 0.25 0.50 0.25

Ακόμα καλύτερα μπορούμε να δώσουμε μια πιο γενική λύση

x <- 0:2
dbinom(x = x, size = length(x)-1, prob = 1/2)
[1] 0.25 0.50 0.25

ή ακόμα καλύτερα:

n <- 2
x <- 0:n
dbinom(x, size = n, prob = 1/2)
[1] 0.25 0.50 0.25

Ακιδόγραμμα (base plot)

Code
n <- 2
k <- 0:n
d <- dbinom(x = k, size = n, prob = 0.5)
plot(k, d, type = "h", lwd = 2, ylim = c(0, 0.5))
points(x, d, cex = 2, pch = 19)

Ακιδόγραμμα (ggplot)

Code
n <- 2
k <- 0:n
d <- dbinom(x = k, size = n, prob = 0.5)
df <- tibble(k, d)
ggplot(df, aes(x = k, y = d)) + 
  geom_segment(x = k, y = 0, xend = k, yend = d, size = 1) +
  geom_point(size = 6) +
  scale_x_continuous(breaks = 0:n) +
  scale_y_continuous(limits = c(0, NA)) +
  theme_cowplot(font_size = 28)

Τρεις ρίψεις - Υπολογισμοί

dbinom(x = 0:3, size = 3, prob = 1/2)
[1] 0.125 0.375 0.375 0.125

Ακόμα καλύτερα μπορούμε να δώσουμε μια πιο γενική λύση

n <- 3
k <- 0:n
dbinom(x = k, size = n, prob = 1/2)
[1] 0.125 0.375 0.375 0.125

Τρεις ρίψεις - Ακιδόγραμμα

Code
n <- 3
k <- 0:n
d <- dbinom(x = k, size = n, prob = 0.5)
df <- tibble(k, d)
ggplot(df, aes(x = k, y = d)) + 
  geom_segment(x = k, y = 0, xend = k, yend = d, size = 1) +
  geom_point(size = 6) +
  scale_x_continuous(breaks = 0:n) +
  scale_y_continuous(limits = c(0, NA)) +
  labs(x = "", y = "") +
  theme_cowplot(font_size = 28)

Ασυμμετρία

Προσοχή! Η πιθανότητα επιτυχίας δεν είναι παντού και πάντα 50%.

Αν για παράδειγμα σε ένα τυχαία πείραμα τριών επαναλήψεων η πιθανότητα επιτυχίας είναι 40%, τότε θα έχουμε:

n <- 3
k <- 0:n
dbinom(x = k, size = n, prob = 0.4)
[1] 0.216 0.432 0.288 0.064

Ένα τεστ πολλαπλής επιλογής

Ας υποθέσουμε πως δίνουμε ένα τεστ 10 ερωτήσεων πολλαπλής επιλογής όπου κάθε ερώτημα έχει 4 πιθανές απαντήσεις. Ποια είναι η πιθανότητα (απαντώντας στην τύχη κάθε ερώτημα) να πετύχουμε σκορ 0 έως 10;

dbinom(x = 0:10, size = 10, prob = 1/4)
 [1] 5.631351e-02 1.877117e-01 2.815676e-01 2.502823e-01 1.459980e-01
 [6] 5.839920e-02 1.622200e-02 3.089905e-03 3.862381e-04 2.861023e-05
[11] 9.536743e-07

Παράμετροι θέσης διακριτής μεταβλητής

  • μέση τιμή

Mέση τιμή

Οι τιμές και οι πιθανότητες που μπορεί να πάρει μια διακριτή μεταβλητή δίνονται στον παρακάτω πίνακα.

Ποια είναι η αναμενόμενη (μέση) τιμή;

x P xP
0 0.125 0.000
1 0.375 0.375
2 0.375 0.750
3 0.125 0.375
NA NA 1.500

\[E[h(X)] = \sum_{i=1}{N}h(x)P(x)\]

x = c(0, 1, 2, 3)
P = c(1/8, 3/8, 3/8, 1/8)
sum(x*P)
[1] 1.5

Πιθανότητες περιοχής

Πιθανότητα περιοχής

Ρίχνουμε ένα κέρμα 4 φορές. Ποια είναι η πιθανότητα να έχουμε επιτυχία τουλάχιστον 3 φορές;

Απάντηση: 0.25 + 0.0625 = 0.3125

Μαθηματικοί υπολογισμοί

\[\Pr(X=3) = \binom{4}{3}\left(\dfrac{1}{2}\right)^3\left(1-\dfrac{1}{2}\right)^1 = \dfrac{4!}{3!\times1!}\left(\dfrac{1}{2}\right)^3\left(1-\dfrac{1}{2}\right)^1 = 4\times\dfrac{1}{8}\times\dfrac{1}{2} = \dfrac{1}{4}\]

\[\Pr(X=4) = \binom{4}{4}\left(\dfrac{1}{2}\right)^4\left(1-\dfrac{1}{2}\right)^0 = \dfrac{4!}{4!\times0!}\left(\dfrac{1}{2}\right)^4\left(1-\dfrac{1}{2}\right)^0 = 1\times\dfrac{1}{16}\times\dfrac{1}{1} = \dfrac{1}{16}\]

\[\Pr(X\ge3) = \Pr(X=3) + \Pr(X=4) = \dfrac{1}{4}+\dfrac{1}{16} = \dfrac{5}{16}\]

Υπολογισμοί στην R με τη dbinom

Κάθε περίπτωση χωριστά:

dbinom(x = 3, size = 4, prob = 0.5)
[1] 0.25
dbinom(x = 4, size = 4, prob = 0.5)
[1] 0.0625

Συνολικά:

dbinom(x = 3:4, size = 4, prob = 0.5)
[1] 0.2500 0.0625

Αυτό που ζητάμε είναι το άθροισμα:

sum( dbinom(x = 3:4, size = 4, prob = 0.5) )
[1] 0.3125

Υπολογισμοί στην R με την pbinom

Κόκκινη περιοχή

pbinom(q = 2, size = 4, prob = 0.5, lower.tail = TRUE)
[1] 0.6875

Μπλε περιοχή

pbinom(q = 2, size = 4, prob = 0.5, lower.tail = FALSE)
[1] 0.3125

Πωλήσεις και πωλήτρια

Σε ένα πολυκατάστημα μια εξειδικευμένη πωλήτρια προσπαθεί να πουλήσει ένα νέο προϊόν. Η πιθανότητα επιτυχίας της (μετά από κάθε επίδειξη σε πελάτη) είναι 20%.

Αν σε μια ημέρα δει 10 πελάτες, ποια είναι η πιθανότητα να πουλήσει το προϊόν σε 2 από αυτούς;

dbinom(x = 2, size = 10, prob = 0.2)
[1] 0.3019899

\[\Pr(X=2) = \binom{10}{2}\left(\dfrac{1}{5}\right)^2\left(1-\dfrac{1}{5}\right)^8 = \dfrac{10!}{8!\times2!}\left(\dfrac{1}{5}\right)^2\left(1-\dfrac{1}{5}\right)^8 = 45\times\dfrac{1}{25}\times\dfrac{65536}{390625} \approx 0.3019899 \]

Ακιδόγραμμα πωλήτριας

Πιθανότητα το πολύ 2 πωλήσεων

pbinom(q = 2, size = 10, prob = 0.2)
[1] 0.6777995
sum(dbinom(x = 0:2, size = 10, prob = 0.2))
[1] 0.6777995

Πιθανότητα τουλάχιστον 3 πωλήσεων

pbinom(q = 2, size = 10, prob = 0.2, lower.tail = FALSE)
[1] 0.3222005
sum(dbinom(x = 3:10, size = 10, prob = 0.2))
[1] 0.3222005

Πιθανότητα τουλάχιστον 5 πωλήσεων

pbinom(q = 4, size = 10, prob = 0.2, lower.tail = FALSE)
[1] 0.0327935
sum(dbinom(x = 5:10, size = 10, prob = 0.2))
[1] 0.0327935

Πιθανότητα πωλήσεων μεταξύ 1 και 4

Οι 3 τρόποι που δίνονται παρακάτω είναι ισοδύναμοι και δίνουν το ίδιο αποτέλεσμα.

pbinom(q = 4, size = 10, prob = 0.2, lower.tail = TRUE) -
  pbinom(q = 0, size = 10, prob = 0.2, lower.tail = TRUE)
[1] 0.8598323
diff( pbinom(q = c(0, 4), size = 10, prob = 0.2, lower.tail = TRUE) )
sum(dbinom(x = 1:4, size = 10, prob = 0.2))

Quantiles

Quantiles

Ρίχνουμε ένα ζάρι 20 φορές. Υποθέτουμε πως επιτυχία είναι να φέρουμε 5 ή 6.

dbinom(x = 0:20, size = 20, prob = 1/3)

Αθροιστική πιθανότητα

n <- 20
k <- 0:n
d <- dbinom(x = k, size = n, prob = 1/3)
tibble(k, d) %>%
  mutate(cp = cumsum(d))
# A tibble: 21 × 3
       k        d       cp
   <int>    <dbl>    <dbl>
 1     0 0.000301 0.000301
 2     1 0.00301  0.00331 
 3     2 0.0143   0.0176  
 4     3 0.0429   0.0604  
 5     4 0.0911   0.152   
 6     5 0.146    0.297   
 7     6 0.182    0.479   
 8     7 0.182    0.661   
 9     8 0.148    0.809   
10     9 0.0987   0.908   
# ℹ 11 more rows

Ερώτημα πιθανότητας

Ποιο είναι το ελάχιστο πλήθος προσπαθειών έτσι ώστε να είμαστε τουλάχιστον 80% σίγουροι για 1 επιτυχία;

qbinom(p = 0.8, size = 20, prob = 1/3)
[1] 8
  • Εφαρμόζουμε τη συνάρτηση qbinom
  • Το αποτέλεσμα της είναι τιμή στον οριζόντιο άξονα
  • Είναι το αντίστροφο της pbinom

Σύνοψη

4 τύποι συναρτήσεων

  • d πυκνότητα πιθανότητας
dbinom(x, size, prob)
  • p συνάρτηση πιθανότητας
pbinom(q, size, prob)
  • q ποσοστιαία συνάρτηση
qbinom(p, size, prob)
  • r ψευδοτυχαίοι αριθμοί
rbinom(n, size, prob)

Γεωμετρική κατανομή

Εισαγωγικά

Έχει ιδιαίτερη σύνδεση με την διωνυμική κατανομή.

Αναλύει το ερώτημα: Πόσες προσπάθειες μέχρι την πρώτη επιτυχία.

Παράδειγμα προς ανάλυση:

  • Ψάχνουμε για δουλειά
  • Πιθανότητα πρόσληψης 25%
  • Στέλνουμε βιογραφικά και αιτήσεις
  • Περιμένουμε απαντήσεις
  • Ποια είναι η πιθανότητα να προσληφθούμε με την 1η προσπάθεια;
  • Ποια είναι η πιθανότητα να προσληφθούμε με την 2η προσπάθεια;
  • Πόσες αιτήσεις να κάνουμε για να έχουμε πιθανότητα πρόσληψης τουλάχιστον 95%;

Ιστόγραμμα γεωμετρικής κατανομής

\[p = 0.25\]

Υπολογισμοί πιθανότητας

Ποια είναι η πιθανότητα να προσληφθούμε με την 1η αίτηση;

dgeom(x = 0, prob = 0.25)
[1] 0.25

Γιατί \(n=0\); Γιατί ζητάμε επιτυχία με την 1η αίτηση, δηλαδή 0 αποτυχίες.

Ποια είναι η πιθανότητα να προσληφθούμε με την 2η αίτηση;

dgeom(x = 1, prob = 0.25)
[1] 0.1875

Δηλαδή 1 αποτυχία και μετά επιτυχία.

Ποια είναι η πιθανότητα να προσληφθούμε με την 1η ή 2η αίτηση;

sum(dgeom(x = 0:1, prob = 0.25))
[1] 0.4375
pgeom(q = 1, prob = 0.25)
[1] 0.4375

Δηλαδή επιτυχία μετά από καμία ή το πολύ 1 επιτυχία.

Πιθανότητα 95%

Πόσες αιτήσεις πρέπει να κάνουμε για να αυξηθεί το ποσοστό πιθανότητας πρόσληψης στο 95%;

qgeom(p = 0.95, prob = 0.25)
[1] 10

11 αιτήσεις