Υπολογισμοί με την R
Εργαστήριο Εφαρμογών Πληροφορικής και Υπολογιστικών Οικονομικών
12/08/2023
Ας υποθέσουμε πως ρίχνουμε ένα ζάρι. Η πιθανότητα να φέρουμε το όποιο αποτέλεσμα είναι 1/6 (αμερόληπτο ζάρι).
Μια τέτοια κατανομή ονομάζεται ομοιόμορφη. Επειδή οι τιμές είναι διακριτές (εδώ ακέραιοι αριθμοί) : διακρική κατανομή.
Μπορούμε να κάνουμε προσομοίωση μιας τυχαίας ρίψης ζαριού ως εξής:
Κλήρωση Ας υποθέσουμε πως θέλουμε να κληρώσουμε 2 νικητές σε μια λίστα 6 ατόμων.
Αν η λίστα είναι αριθμημένη:
Αν η λίστα είναι ονομαστική:
Ας υποθέσουμε πως ρίχνουμε το ζάρι 2 φορές, ή πως ρίχνουμε 2 ζάρια ταυτόχρονα. Οι δύο ρίψεις είναι ανεξάρτητες μεταξύ τους, η μία δεν επηρεάζει την άλλη.
Σε αυτή την περίπτωση η δειγματοληψία είναι με επανατοποθέτηση: Υπάρχει πιθανότητα οι δύο ρίψεις να φέρουν το ίδιο αποτέλεσμα (διπλές).
[1] 5 2
[1] 4 4
Προσομοίωση ρίψης 100 ζαριών:
[1] 2 3 4 2 5 2 5 4 5 5 5 1 1 6 2 1 4 6 4 3 6 2 3 5 3 6 5 6 2 4 1 3 6 4 1 2 5
[38] 2 1 1 1 1 5 2 6 5 3 2 4 6 1 3 4 4 2 1 4 6 1 5 2 5 2 2 6 6 3 1 2 2 5 3 2 6
[75] 4 1 5 6 3 4 4 3 5 5 2 4 1 3 2 1 3 3 5 1 2 6 2 1 6 5
Ποιος είναι ο μέσος;
ή αλλιώς:
Για ένα μεγάλο πλήθος επαναλήψεων η κατανομή του μέσου είναι κανονική:
tibble(i = 1:1e4,
k = sample(2:100, size = 1e4, replace = TRUE)) %>%
rowwise() %>%
mutate(m = sample(1:6, size = k, replace = TRUE) %>% mean()) %>%
ggplot(aes(x = m)) +
geom_histogram(binwidth = 0.1, fill = "#336699", alpha = 0.7) +
geom_vline(xintercept = 3.5, color = "#FF3333") +
theme_minimal_grid(font_size = 15)
Το ύψος της καμπύλης της κανονικής κατανομής περιγράφει την πυκνότητα πιθανότητας, όχι την πιθανότητα.
Η σημειακή πιθανότητα της κανονικής (και κάθε συνεχούς) κατανομής είναι ίση με μηδέν.
Πιθανότητα στη διωνυμική κατανομή:
Πυκνότητα πιθανότητας στην κανονική κατανομή:
d πυκνότητα πιθανότητας
p συνάρτηση πιθανότητας
q ποσοστιαία συνάρτηση
r ψευδοτυχαίοι αριθμοί
Ο μέσος και η τυπική απόκλιση μπορούν να οριστούν σε επιθυμητές τιμές κατά περίπτωση.
Οι προεπιλεγμένες τιμές είναι 0 και 1 αντίστοιχα (τυπική κανονική κατανομή).
Ένας τυχαίος αριθμός της \(\mathcal{N}(0, 1)\)
Όλοι οι τρόποι γραφής είναι ισοδύναμοι. Προτίμηση:
Αποφεύγουμε:
Για ένα οποιοδήποτε διάνυσμα τιμών \(x\) παράγουμε ένα διάνυσμα τιμών \(z\) σύμφωνα με τον τύπο:
Αν γνωρίζουμε τις ιδιότητες του πληθυσμού. \[ z = {x- \mu \over \sigma} \] - \(\mu\) είναι ο μέσος πληθυσμού - \(\sigma\) είναι η τυπική απόκλιση του πληθυσμού
Αν γνωρίζουμε τις ιδιότητες του δείγματος. \[ z = {x - \bar{x} \over S} \] - \(\bar{x}\) είναι ο μέσος του δείγματος - \(S\) είναι η τυπική απόκλιση του δείγματος
Για παράδειγμα, αν
Τότε:
Μέσος και διακύμανση του διανύσματος τιμών x:
Μέσος και διακύμανση του διανύσματος τιμών z:
Δηλαδή έχουμε μετασχηματισμό μιας κατανομής \(\mathcal{N}(6, 8.5)\) σε κατανομή \(\mathcal{N}(0, 1)\)
Ο μετασχηματισμός μπορεί να εφαρμοστεί ανεξάρτητα από την κανονική κατανομή. Για παράδειγμα έστω \(x\) ένα διάνυσμα τιμών από την ομοιόμορφη κατανομή \((0, 10)\):
Αν εφαρμόσουμε το μετασχηματισμό \(z\)
Θα πάρουμε:
Αν \(Χ\simΝ(\mu, \sigma^2)\) τότε \(Z~N(0, 1)\), όπου \(Ζ = \frac{X-\mu}{\sigma}\). Για παράδειγμα αν \(\mu=2\) και \(\sigma=3\):
ggplot(NULL) +
geom_area(aes(x = c(-Inf, Inf)), stat = "function", fun = dnorm, args = list(mean = 0, sd = 1), fill = "#A52A02", alpha = 0.7) +
geom_area(aes(x = c(-Inf, Inf)), stat = "function", fun = dnorm, args = list(mean = 4, sd = sqrt(3)), fill = "#556B02", alpha = 0.7) +
scale_x_continuous(limits = c(-4, 12), breaks = pretty_breaks(10)) +
labs(x = "", y = "") +
theme_minimal_hgrid(font_size = 18)
Η πιθανότητα (εμβαδόν) δεξιά και αριστερά του μέσου είναι ίση με 1/2
ggplot(NULL) +
#geom_area(stat = "function", fun = dnorm, fill = "#00998a", xlim = c(-4, 0)) +
geom_function(fun = dnorm, size = 1, color = "black") +
geom_area(aes(x = c(-4, 4)), stat = "function", fun = dnorm, fill = "#A52A02", alpha = 0.7, xlim = c(-4, 0)) +
geom_area(aes(x = c(-4, 4)), stat = "function", fun = dnorm, fill = "#556B02", alpha = 0.7, xlim = c(0, 4)) +
annotate(geom = "text", label = "pnorm(q = 0, mean = 0, sd = 1, lower.tail = TRUE)", size = 7, color = "#A52A02", x = -2.4, y = 0.42) +
annotate(geom = "text", label = "pnorm(q = 0, mean = 0, sd = 1, lower.tail = FALSE)", size = 7, color = "#556B02", x = 2.4, y = 0.42) +
scale_x_continuous(limits = c(-4, 4), breaks = pretty_breaks(10)) +
labs(x = "", y = "") +
theme_minimal_hgrid(font_size = 18)
Η πιθανότητα (εμβαδόν) δεξιά και αριστερά του μέσου είναι ίση με 1/2 ανεξάρτητα από το μέσο και τη διακύμανση.
Το ίδιο αποτέλεσμα. Γιατί;
Επειδή και στις δύο περιπτώσεις μετράμε στο ίδιο σημείο: μισή μονάδα τυπικής απόκλισης δεξιά από τον μέσο.
\[\mathcal{N}(0, 1^2)\]
Ανεξάρτητα από τις παραμέτρους της κανονικής κατανομής, η πιθανότητα να συναντήσουμε αριθμούς εντός περιοχών που ισαπέχουν σε μονάδες τυπικής απόκλισης είναι σταθερή.
Αν \(Χ~Ν(4, 3)\) ποια είναι η πιθανότητα \(\Pr(X>6)\);
Απάντηση:
Σύμφωνα με το μετασχηματισμό z:
Χρειάζεται ο μετασχηματισμός;
Αν έχουμε πρόσβαση σε Η/Υ και σε στατιστικό περιβάλλον (πχ R) όχι δεν χρειάζεται. Αν είμαστε με μολύβι, χαρτί και στατιστικούς πίνακες στο παράρτημα ναι χρειάζεται.
Διάγραμμα πυκνότητας πιθανότητας (PDF) \[f(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2}\]
Διάγραμμα αθροιστικής πυκνότητας πιθανότητας (CDF) \[F(x;\mu,\sigma) = \frac{1}{\sigma\sqrt{2\pi}} \int_{-\infty}^x e^{ \left( -\frac{(t - \mu)^2}{2\sigma^2} \right)}\, dt\]
Έστω η μεταβλητή \(X~\sim N(0,1)\). Έστω το σημείο \(x=-\dfrac{1}{2}\).
ggplot(NULL) +
geom_function(fun = dnorm, args = list(mean = 0, sd = 1), size = 1, color = "#A52A02") +
geom_point(aes(x=c(-0.5, -0.5), y=c(0, dnorm(x = -0.5, mean = 0, sd = 1))), size = 4) +
geom_segment(aes(x = c(-0.5, -0.5),
y = c(0, dnorm(x = -0.5, mean = 0, sd = 1)),
xend = c(-0.5, -4),
yend = c(dnorm(x = -0.5, mean = 0, sd = 1), dnorm(x = -0.5, mean = 0, sd = 1))
),
linetype = "dashed") +
scale_x_continuous(limits = c(-4, 4), expand = expansion(add=c(0, 0.00)), breaks = pretty_breaks(10)) +
scale_y_continuous(expand = expansion(add=c(0, 0.01))) +
labs(x = "", y = "") +
theme_cowplot(font_size = 28)
Το ύψος της καμπύλης (πυκνότητα πιθανότητα) στο σημείο \(χ=-\dfrac{1}{2}\)
ggplot(NULL) +
geom_function(fun = dnorm, args = list(mean = 0, sd = 1), size = 1, color = "#A52A02") +
geom_area(aes(x = c(-5, 5)), stat = "function", fun = dnorm, args = list(mean = 0, sd = 1), fill = "#A52A02", alpha = 0.7, xlim = c(-5, -0.5)) +
scale_x_continuous(limits = c(-4, 4), expand = expansion(add=c(0, 0.00)), breaks = pretty_breaks(10)) +
scale_y_continuous(expand = expansion(add=c(0, 0.01))) +
labs(x = "", y = "") +
theme_cowplot(font_size = 28)
Το εμβαδόν κάτω από την καμπύλη (η πιθανότητα) της περιοχής \((-\infty, \dfrac{1}{2})\)
Η αναμονή (λεπτά της ώρας) σε ένα τηλεφωνικό κέντρο εξυπηρέτησης ακολουθεί την κατανομή \(\mathcal{N}(25, 33)\).
α) Ποια είναι η πιθανότητα αναμονής λιγότερο από 20 λεπτά;
β) Ποια είναι η πιθανότητα αναμονής περισσότερο από 35 λεπτά;
γ) Ποια είναι η πιθανότητα αναμονής μεταξύ 10 και 24 λεπτών;
Η ποσοστιαία μεταβολή στην τιμή μιας μετοχής ακολουθεί (πχ, για τους τελευταίους 3 μήνες) την κατανομή \(\mathcal{N}(0.2, 7)\).
α) Πόση είναι η πιθανότητα αυριανή μεταβολή της να είναι μεταξύ 1% και 2%;
β) Πόση είναι πιθανότητα η αυριανή μεταβολή της να είναι ακριβώς 1%;
γ) Πόση είναι πιθανότητα η αυριανή μεταβολή της να είναι 1% με ακρίβεια ενός δεκαδικού (1.0%);
Αθανάσιος Σταυρακούδης - ΕΕΠΥΟ