• Nie Znaleziono Wyników

Zajęcia518grudnia2020 EstymacjaMonteCarloDorotaCelińska-Kopczyńska Rachunekprawdopodobieństwaistatystyka

N/A
N/A
Protected

Academic year: 2021

Share "Zajęcia518grudnia2020 EstymacjaMonteCarloDorotaCelińska-Kopczyńska Rachunekprawdopodobieństwaistatystyka"

Copied!
21
0
0

Pełen tekst

(1)

Rachunek prawdopodobieństwa i statystyka

Estymacja Monte Carlo

Dorota Celińska-Kopczyńska

Uniwersytet Warszawski

Zajęcia 5 18 grudnia 2020

(2)

Idea zajęć – co i po co będziemy robić?

I Monte Carlo jest metodą stosowaną do matematycznego modelowania zjawisk zbyt złożonych, żeby można było wyznaczyć ich wyniki analitycznie

I Poprzez wielokrotne losowania i uśrednianie ich wyników otrzymujemy przybliżenie wielkości interesującego nas zjawiska I Metoda sprawdza się w zastosowaniach praktycznych:

potrzebujemy szybko otrzymać oszacowanie potrzebnej wartości

I Podczas zajęć zapoznamy się z metodami (i usprawnieniami) całkowania metodą Monte Carlo

(3)

Problem 4a – sztandarowy przykład

W zadaniu chcemy wyznaczyć pole koła jednostkowego.

Wykorzystamy symulację Monte Carlo. Z kwadratu [-1,1] x [-1,1]

wylosujemy N punktów (o współrzędnych x ,y ). Dla każdego punktu będziemy sprawdzać, czy należy on do koła jednostkowego (porównując z nierównością koła). Oznaczmy przez X liczbę wylosowanych punktów, które należały do koła jednostkowego.

Oszacowaniem pola koła jest X /A, gdzie A to pole kwadratu, z którego losowaliśmy (w tym przypadku wynosi 4).

(4)

Problem 4a – reformulacja

I Zadanie może być niektórym znane jako “wyznacz wartość liczby pi”.

I Wystarczy zwrócić wartość AX /N.

(5)

Problem 4a – plusy i minusy

I Zadanie wydaje się sztuczne – mamy znacznie lepsze metody wyznaczania wielkości liczby pi!

I Tak samo znamy wzór na pole koła – nie musimy korzystać z przybliżenia!

I Zadanie obrazuje jednak wszystkie kroki symulacji Monte Carlo:

1. przeformułowanie problemu do schematu powtarzalnego eksperymentu

2. losowanie wartości

3. uśrednianie otrzymanych wyników

4. powiązanie uśrednionych otrzymanych wyników z pierwotnym problemem

I Dzieki znanemu rozwiązaniu łatwo można pokazać działanie metody (wiadomo, czego oczekiwać) i znaleźć problemy/błędy.

(6)

Problem 4a – co może pójść nie tak?

I Monte Carlo trzeba zaprojektować mądrze. Nie zawsze łatwo jest to “mądrze” znaleźć

I Poniżej uzyskane rozkłady uzyskanych wyników w zależności od wielkości kwadratu, z którego losowaliśmy (bok długości 2,5,20,100 odpowiednio)

(7)

Problem 4b – całkowanie w dwóch wymiarach (*)

Proszę zaprojektować symulację Monte Carlo, która pozwoli obliczyć wartość całki na przedziale [-1,1] dla zadanej krzywej.

Przykładowo:

f (x ) =p1 − x2 .

(8)

Problem 4b – intuicyjna propozycja

I Pierwsza, szybka propozycja to “skorzystajmy z tego samego schematu, co do liczenia pi” – losujemy punkt i sprawdzamy, czy znalazł się poniżej krzywej, stosunek liczby takich punktów do pola prostokąta, z którego losowaliśmy da nam szukaną wartość

I Propozycja ma jednak podobną wadę jak poprzednio: w zależności od postaci funkcji lub wielkości prostokąta, z którego losujemy możemy wiele razy losować “bezużyteczne” punkty.

I Uzyskany wynik będzie mieć wysoką wariancję (lub w ogóle nie da się go uzyskać)

(9)

Problem 4b – usprawnienie

I Losujmy tylko wartość pierwszej współrzędnej, f (x ) obliczymy ze wzoru

I Zsumujmy uzyskane wartości f (x ) i podzielmy przez N (liczbę losowań) – uśrednijmy

I Ograniczyliśmy losowania do obszaru, który jest dla nas ciekawy. Wynik ma dzięki temu niższą wariancję

(10)

Problem 4b – porównanie

I Intuicyjna propozycja: E [(x , y ) ∈ K ] = E [Y ¬ f (X )]

I Usprawnienie: E [PNi =1f (xi)/N]

I Proszę porównać usprawnienie z metodą prostokątów/trapezów

(11)

Problem 4b – uogólnienie

I Czy to Monte Carlo jest nam potrzebne?

I Dla przypadku dwóch wymiarów możemy zastosować metodę prostokątów/trapezów – potrzebujemy k figur do wyliczenia pola

I Dla przypadku trzech wymiarów możemy zastosować metodę prostopadłościanów – potrzebujemy k2 brył do wyliczenia objętości...

I Dla przypadku d wymiarów?

(12)

Problem 4b – uogólnienie

I Całki możemy chcieć liczyć dla funkcji wielu zmiennych I Stosując uogólnienia metody trapezów/prostokątów, jeśli

przyjmiemy, że k to liczba “obiektów”, których chcemy użyć, nasza metoda będzie wymagała ich kd −1. Złożoność O(kd).

I Założmy, że komputer może wykonać 109 operacji na sekundę. Dla przypadku 100 zmiennych przy zaledwie 2 obiektach, metoda wymaga 2100 operacji – bilion lat I Usprawnione Monte Carlo N razy losuje d − 1 wartości

(ostatnia jest wyliczana ze wzoru). Złożoność O(Nd ).

(13)

Problem 4c

Mając daną formułę DNF φ, zlicz liczbę wartościowań, które spełniają tę formułę. Wykorzystaj symulację Monte Carlo

(14)

Problem 4c – DNF?

I Disjunctive Normal Form – rodzaj formuły logicznej I xi – zmienne. Mogą przyjmować wartości prawda (1) albo

fałsz (0). Zmienna lub jej negacja to literał I Literały łączymy w klauzule. W DNF klauzule są

koniunkcjami literałów

I DNF to alternatywa takich klauzul. Jest spełniona, jeśli wartością wyrażenia jest prawda. Wystarczy jedna klauzula prawdziwa, żeby DNF było spełnione.

I Podobne formuły logiczne są wykorzystywane w Teorii Złożoności. Dobra wiadomość: ten slajd zawiera wszystko z TZ, co jest potrzebne do wykonania zadania.

(15)

Problem 4c – (mały) przykład (*)

φ = (x1∧ x2) ∨ (x2∧ ¬x3)

(16)

Problem 4c – (mały) przykład

φ = (x1∧ x2) ∨ (x2∧ ¬x3)

I Zmienne: x1, x2, x3. Literały: x1, x2, ¬x3.

I Rozpatrujemy 8 przypadków (każda ze zmiennych może być ustawiona na 2 sposoby). DNF spełniają (wynikiem jest prawda) 3 przypadki

I W ogólnym przypadku do rozpatrzenia 2M przypadków (M – liczba zmiennych)

(17)

Problem 4c – metoda intuicyjna

I Powtarzaj N (duże) razy:

I Wylosuj wartości (0/1) zmiennych x1, xM.

I Sprawdzaj, czy dla wylosowanych wartości którakolwiek z klauzul jest spełniona (w pesymistycznym wariancie sprawdzimy wszystkie).

I Jeśli spełniona, zwiększ L (liczbę spełnionych wyrażeń) I Oszacowanie szukanej wartości to L2NM

(18)

Problem 4c – co może pójść nie tak?

I Co się dzieje, gdy np. 64 zmienne, 100 klauzul, w każdej klauzuli po 30 zmiennych?

I Nawet stosując bardzo duże N, możemy nie trafiać w ustawienia xi, które spełniają DNF

I Zła wiadomość: w faktycznych zastosowaniach rozpatruje się DNF z milionami klauzul. Nie uciekniemy od problemu.

I Wniosek? Trzeba zastosować sztuczkę jak w 4b – ograniczyć się do “interesujących” nas przypadków

(19)

Problem 4d – zadanie zaliczeniowe do 21.01.2021 23:59

Usprawnij problem zliczania wartościowań spełniających dane DNF, tworząc symulację Monte Carlo ograniczoną do

“przydatnych” wartościowań.

(20)

Problem 4d – jak rozwiązać

I Wykorzystajmy obserwację, że wystarczy nam jedna klauzula spełniona, żeby DNF było spełnione

I Ustawmy wartości literałów dla pojedynczej klauzuli, tak, żeby wiedzieć, że jest spełniona. Pozostałe (nie biorące udziału w klauzuli) zmienne losujemy dowolnie N razy – i tak już wiemy, że DNF jest spełnione. Zapiszmy liczbę uzyskanych wartościowań I Powtórzmy dla pozostałych klauzul. Haczyk: część “dobrych”

ustawień spełnia też wcześniejsze – dodajemy tylko te, które do tej pory nie mogły się pojawić.

I Ostatecznie otrzymamy przybliżoną liczbę wartościowań spełniających DNF

(21)

Problem 4d – (mały) przykład

φ = (x1∧ x2) ∨ (x2∧ ¬x3)

1. Ustawmy wartości spełniające pierwszą klauzulę: x1: 1, x2: 1.

2. Wylosujmy wartości dla x3 – nie bierze udziału w pierwszej klauzuli.

Mamy x3: 0 i x3: 1. Dostajemy dwa wartościowania: (1,1,0), (1,1,1).

3. Przechodzimy do drugiej klauzuli. Ustawmy wartości, które ją spełniają:

x2: 1, x3: 0.

4. Wylosujmy wartości dla x1 – nie bierze udziału w drugiej klauzuli. Mamy x1: 1 (spełnia 1!) i x1: 0 (nowe!). Dostaliśmy jedno nowe wartościowanie:

(0,1,0).

5. Druga klauzula była ostatnią. Zwracamy liczbę wartościowań: 3.

Cytaty

Powiązane dokumenty

Jeżeli G(x) jest funkcją nieujemną, wówczas minimalna wariancja estymatora ważonego jest równa 0. Należałoby jednak w takim przypadku znać wartość całki w

Wariancję etsymatora całki można zmniejszyć odpowiednio dobierając fgp. Należałoby jednak w takim przypadku znać wartość całki w mianowniku. Minimalizacja wariancji w

Wykład będzie się składał z następujących części: generatory liczb losowych, generowanie liczb i wektorów o zadanych rozkładach, planowanie i metody opra- cowania

Pier- wszy termin będzie więc dotyczył teorii generatorów oraz metod generowania liczb losowych o zadanych rozkładach lub bardziej właściwie liczb pseudo- losowych, bo tylko

funkcja p-wartości i jej wykorzystanie do testowania generatorów, rodzaje testów wykorzystywanych przy testowaniu generatorów, co to są testy oparte na schematach urnowych..

Fakt 2.1 Załóżmy, że Q jest regularną symetryczną macierzą prawdopodobieństw przejścia oraz π jest rozkładem na E z ściśle dodatnimi elementami.. 180

generatory liczb pseudolosowych, generowanie zmiennych i wektorów losowych o zadanych rozkładach, planowanie i metody opracowania symulacji, algorytmy do symulacji pewnych klas

I Skoro się powtórka pojawiła, to zwracamy rozmiar grupy, w którym to się stało... Po co