7 Στοχαστικά Συστήματα – Μέθοδοι Monte Carlo

7.4 Αλγόριθμοι Monte Carlo Μαρκοβιανών Αλυσίδων

Στα προηγούμενα παραδείγματα παρουσιάσαμε αλγορίθμους Monte Carlo, οι οποίοι δειγματοληπτούν (προσομοιώνουν) μια τυχαία μεταβλητή X από μια συγκεκριμένη κατανομή, έστω π(x). Αυτό μπορεί να γίνει, όπως είδαμε, είτε απ’ ευθείας από την κατανομή π(x), είτε, αν αυτό δεν είναι δυνατόν, χρησιμοποιώντας μια βοηθητική κατανομή, έστω g(x).

Στο κεφάλαιο αυτό θα παρουσιάσουμε μεθόδους Monte Carlo, και πιο συγκεκριμένα αλγορίθμους τύπου Metropolis – Hastings, οι οποίοι βασίζονται στη δημιουργία στατιστικά εξαρτώμενου δείγματος από μια Μαρκοβιανή Αλυσίδα. Οι αλγόριθμοι αυτοί στη γενική τους μορφή ονομάζονται αλγόριθμοι MCMC (Markov Chain based Monte Carlo).

Παράδειγμα 7.2.

Έστω ότι θέλουμε να πάρουμε δειγματοληψία από μια τυχαία μεταβλητή x, η οποία ακολουθεί την κατανομή Boltzmann:

π(x)=1Zexp[-h(x)] (7.11)

όπου x είναι η τιμή της τ.μ., X,h(x) είναι μια συνάρτηση της x και Z είναι μια σταθερά κανονικοποίησης.

Η δειγματοληψία από την παραπάνω κατανομή δεν είναι εύκολη καθώς δεν μπορεί να γίνει με άμεσο τρόπο, ενώ και η σταθερά Z είναι συνήθως άγνωστη. Στη περίπτωση αυτή μπορούμε προσομοιώσουμε την π(x) χρησιμοποιώντας μια Μαρκοβιανή διεργασία. Τι είναι όμως μια Μαρκοβιανή αλυσίδα;

7.4.1 Μαρκοβιανές Αλυσίδες

Ορισμός.

Μαρκοβιανή Αλυσίδα (Markovian Chain). Μαρκοβιανή αλυσίδα ονομάζουμε μια σειρά τυχαίων μεταβλητών (μπορούμε να τη δούμε και σαν «χρονική» σειρά), για την οποία η πιθανότητα μετάβασης σε μια νέα κατάσταση εξαρτάται μόνο από τη δεδομένη κατάσταση της σειράς.

Έστω μια ακολουθία τ.μ. της μορφής:

x(0),x(1),x(2),,x(t).

H παραπάνω σειρά («αλυσίδα») ονομάζεται Μαρκοβιανή αν ισχύει η Μαρκοβιανή ιδιότητα, δηλαδή αν η τιμή της σειράς σε μια χρονική στιγμή, έστω t+1, εξαρτάται μόνο από τη τιμή της σειράς στην αμέσως προηγούμενη στιγμή, t. Δηλαδή αν η πιθανότητα η τ.μ. να λάβει μια τιμή στην t+1 εξαρτάται μόνο από την τιμής της την αμέσως προηγούμενη τιμή:

P(x(t+1)=xt+1|x(t)=xt,,x(0)=x0)=P(x(t+1)=xt+1|x(t)=xt) (7.12)

όπου xt+1,xt,,x0 είναι οι τιμές της τ.μ. X στις χρονικές στιγμές t+1,t, και 0 αντίστοιχα.

Ορισμός.

Πίνακας ή Πυρήνας Μετάβασης (Transition Matrix or transition kernel): Η πιθανότητα:

A(x,y):=P(x(t+1)=y|x(t)=x)

ονομάζεται Πίνακας Μετάβασης.

Παρατήρηση 7.5.

Προσέξτε ότι το άθροισμα των πιθανοτήτων πάνω σε όλες τις δυνατές τιμές του y πρέπει να δίνει μονάδα, δηλαδή, yA(x,y)=1 για κάθε x.

Παράδειγμα 7.3.

Τυχαίος Περίπατος σε 1 Διάσταση. Υποθέστε την παρακάτω ακολουθία τυχαίων μεταβλητών:

xn=Αxn-1+ϵn (7.13)

όπου xn και xn-1 είναι οι τιμές της τ.μ. στις «χρονικές» στιγμές n και n-1 αντίστοιχα, Α είναι ένας πραγματικός αριθμός και η ϵn είναι ένας τυχαίος αριθμός από την κανονική κατανομή, δηλαδή ϵnN(μ,σ2), π.χ. την τυπική κανονική κατανομή, ϵnN(0,1).

Σε αυτή την περίπτωση η ακολουθία των x είναι μια Μαρκοβιανή Αλυσίδα καθώς οι τυχαίοι αριθμοί ϵn είναι, από τον ορισμό τους, ανεξάρτητοι του n. Η ακολουθία αυτή ονομάζεται τυχαίος περίπατος (random walk).

Το παράδειγμα αυτό είναι αρκετά γενικό και μπορεί να περιγράφει ένα πολύ μεγάλο εύρος προβλημάτων. Ως εφαρμογή θεωρήστε ότι xn είναι τ.μ. που ακολουθούν την κατανομή Bernoulli (π.χ. προέρχονται από ρίψη νομισμάτων) με πιθανές τιμές xn=1 ή xn=-1 και:

P(xn=1)=1-P(xn=-1)=P.

Έστω τώρα η τ.μ. S, οι τιμές της οποίας ορίζονται ως:

S(t)=x1+x2++xt,S(0)=0

δηλαδή η οποία περιγράφει τη διαφορά μεταξύ φορών «γράμματα» και «κορώνας» σε n ρίψεις νομισμάτων. Εύκολα μπορούμε να δείξουμε ότι η S(t),t=0,1,2,, είναι μια Μαρκοβιανή αλυσίδα.

Σύντομο πρόβλημα 7.3.

Δείξτε ότι η παραπάνω ακολουθία S(t),t=0,1,, είναι μια Μαρκοβιανή αλυσίδα.

Παράδειγμα 7.4.

Τυχαίος Περίπατος σε d – διαστάσεις. Ο τυχαίος περίπατος μπορεί εύκολα να γενικευτεί στην περίπτωση μιας ακολουθίας τυχαίων μεταβλητών σε πολλές διαστάσεις, δηλαδή αν το x είναι διάνυσμα τυχαίων μεταβλητών της μορφής: x=(x1,x2,,xd).

Σε αναλογία με το παραπάνω παράδειγμα η σειρά:

𝒙n=𝑨𝒙n+ϵn (7.14)

είναι μια Μαρκοβιανή αλυσίδα.

Παρατήρηση 7.6.

Προσέξτε ότι στη γενική περίπτωση οι παραπάνω τυχαίοι αριθμοί ϵn είναι ένα διάνυσμα τυχαίων αριθμών.

Ορισμός.

Εναλλακτικός Ορισμός – Μαρκοβιανή Αλυσίδα (Markovian Chain): Έστω Α το πιθανό σύνολο τιμών της τ.μ. X για μια δεδομένη χρονική στιγμή t+1. Αν η πιθανότητα η τ.μ. να λάβει μια τιμή στην t+1 εξαρτάται μόνο από την τιμής της την αμέσως προηγούμενη τιμή, δηλαδή αν:

P(x(t+1)Α|x0,x1,x2,,xt)=P(x(t+1)Α|x(t)=xt) (7.15)

η αλυσίδα ονομάζεται Μαρκοβιανή. Και στην παραπάνω σχέση xt,,x0 είναι οι τιμές της τ.μ. X στις χρονικές στιγμές t, και 0 αντίστοιχα.

7.4.2 Αλγόριθμος Metropolis

Στο κεφάλαιο αυτό παρουσιάζουμε το πιο γνωστό αλγόριθμο Monte Carlo βασισμένο σε Μαρκοβιανές αλυσίδες, αλλά και γενικότερα το πιο γνωστό αλγόριθμο Monte Carlo. Θεωρούμε το παρακάτω πρόβλημα, που συζητήσαμε και σε προηγούμενο υπο-κεφάλαιο. Έστω ότι θέλουμε να υπολογίσουμε ιδιότητες μέσω προσομοίωσης για ένα στοχαστικό σύστημα το οποίο ακολουθεί την κατανομή Boltzmann:

π(x)=exp[-h(𝒙)]exp[-h(𝒙)]d𝒙=1Zexp[-h(x)]. (7.16)

Στην παραπάνω σχέση η h(x) είναι μια συνάρτηση της (n-διάστατης στη γενική μορφή) τυχαίας μεταβλητής 𝒙 και Z είναι μια σταθερά κανονικοποίησης (n-πολλαπλό ολοκλήρωμα).

Η σταθερά Z είναι συνήθως άγνωστη, καθώς ο υπολογισμός της απαιτεί τον υπολογισμό του n-διάστατου ολοκληρώματος, πρόβλημα που είναι εξίσου δύσκολο, αν όχι πιο δύσκολο, από το αρχικό πρόβλημα, δηλαδή την προσομοίωση της π(𝒙). Το πρόβλημα αυτό είναι ιδιαίτερα σημαντικό καθώς όλα τα μοριακά συστήματα σε ισορροπία ακολουθούν την κατανομή Boltzmann. Σε αυτή την ιδιότητα οφείλεται κυρίως το πολύ μεγάλο εύρος εφαρμογών του αλγορίθμου Metropolis Monte Carlo.

Το παραπάνω πρόβλημα επιλύεται με τη χρήση Μαρκοβιανών αλυσίδων και τον αλγόριθμο Metropolis.

Ο αλγόριθμος Metropolis αναπτύχθηκε από τους N. Metropolis, A. Rosenbluth, M. Rosenbluth, A. Teller and E. Teller (MRRTT) το 1953 και είναι ο πιο γνωστός αλγόριθμος Monte Carlo.

Θεωρείστε μια n-διάστατη τυχαία μεταβλητή, στη χρονική στιγμή t,𝒙(t)={x1(t),x2(t),,xn(t)} η οποία ακολουθεί την κατανομή π(𝒙), παράδειγμα την κατανομή Boltzmann. Ο αλγόριθμος Metropolis αποτελείται από τα παρακάτω βήματα:

  • Βήμα 1: Αρχικά δημιουργούμε μια πρόταση (n-διάστατη τυχαία μεταβλητή) 𝒚 από ένα κανόνα μετάβασης (προτεινόμενη κατανομή) T(𝒙(t),𝒚).

  • Βήμα 2: Κατόπιν υπολογίζουμε την ποσότητα r(𝒙(t),𝒚) όπου:

    r(𝒙(t),𝒚)=min{1,π(𝒚)π(𝒙)}. (7.17)
  • Βήμα 3: Δημιουργία τυχαίου αριθμού από ομοιόμορφη κατανομή στο διάστημα (0,1), δηλαδή uU(0,1). Η νέα τιμή της Μαρκοβιανής αλυσίδας 𝒙(t+1) είναι:

    𝒙(t+1)={𝒚,ανur(𝒙(t),𝒚)𝒙(t),ανu>r(𝒙(t),𝒚) (7.18)

Όπως βλέπουμε από τον αλγόριθμο αυτό η νέα τιμή της Τ.Μ., σε χρόνο t+1, είναι είτε η προηγούμενη (δηλαδή αυτή σε χρόνο t) είτε η νέα, η οποία προτείνεται με βάση κάποιο κανόνα μετάβασης.

Τέλος από την Μαρκοβιανή αλυσίδα της μεταβλητής 𝒙, μπορούμε να υπολογίσουμε συναρτήσεις της 𝒙 οι οποίες σχετίζονται με τις ιδιότητες που μας ενδιαφέρουν. Ως παράδειγμα μπορούμε να βρούμε την μέση τιμή συναρτήσεων της μεταβλητής f(𝒙), δηλαδή να υπολογίσουμε n-διάστατα ολοκληρώματα της μορφής:

E{f(𝒙)}=f(𝒙)d𝒙.
Παρατήρηση 7.7.

Το μεγάλο πλεονέκτημα του παραπάνω αλγορίθμου είναι ότι μπορούμε να αναπτύξουμε την Μαρκοβιανή αλυσίδα, χωρίς να χρειάζεται να προσομοιώσουμε κατευθείαν από την κατανομή π(𝐱). Επίσης είναι σχετικά «απλός» αλγόριθμος στην υλοποίησή του.

Παρατήρηση 7.8.

Ουσιαστικά η πολυπλοκότητα του Metropolis Monte Carlo αλγορίθμου έγκειται στην καλή επιλογή του κανόνα μετάβασης T(𝐱(t),𝐲). Για κάθε πρόβλημα μπορούν γενικά να προταθούν διαφορετικοί κανόνες μετάβασης; η αποτελεσματικότητα σε κάθε περίπτωση πρέπει να εξετάζεται από

7.4.3 Αλγόριθμος Metropolis – Hastings

Ο παραπάνω αλγόριθμος υποθέτει ότι ο κανόνας μετάβασης είναι συμμετρικός, δηλαδή T(𝒙(t),𝒚)=T(𝒚,𝒙(t)). Λίγα χρόνια αργότερα, το 1970, ο Hastings πρότεινε μια γενίκευση του παραπάνω αλγορίθμου για μη συμμετρικούς κανόνες μετάβασης.

Η μόνη διαφορά το γενικευμένου αλγορίθμου Metropolis – Hastings σε σχέση με τον αρχικό αλγόριθμο Metropolis είναι στον υπολογισμό της ποσότητας r(𝒙(t),𝒚). Πιο συγκεκριμένα, ο αλγόριθμος Metropolis – Hastings (1970) αποτελείται από τα παρακάτω βήματα:

  • Βήμα 1: Αρχικά δημιουργούμε μια πρόταση (n-διάστατη τυχαία μεταβλητή) 𝒚 από ένα κανόνα μετάβασης (προτεινόμενη κατανομή) T(𝒙(t),𝒚).

  • Βήμα 2: Κατόπιν υπολογίζουμε την ποσότητα r(𝒙(t),𝒚) όπου:

    r(𝒙(t),𝒚)=min{1,π(𝒚)T(𝒚,𝒙(t))π(𝒙)T(𝒙(t),𝒚)} (7.19)
  • Βήμα 3: Δημιουργία τυχαίου αριθμού από ομοιόμορφη κατανομή στο διάστημα (0,1), δηλαδή uU(0,1). Η νέα τιμή της Μαρκοβιανής αλυσίδας 𝒙(t+1) είναι:

    𝒙(t+1)={𝒚,ανur(𝒙(t),𝒚)𝒙(t),ανu>r(𝒙(t),𝒚) (7.20)

Ο αλγόριθμος Metropolis – Hastings (η ο αλγόριθμος Metropolis) χρησιμοποιείται στις μέρες μας κατά κόρον σε ένα τεράστιο εύρος επιστημονικών πεδίων, από τη στατιστική φυσική, τη βιολογία, τη χημεία, και την οικονομία. Στο τέλος του κεφαλαίου υπάρχει πρότυπο ανάπτυξης γενικού αλγορίθμου Metropolis – Hasting σε γλώσσα MATLAB.