Monte Carlo süreci

Python ile Monte Carlo Simülasyonları

Izzy Weber

Curriculum Manager, DataCamp

Simülasyon adımları

  1. Girdi değişkenlerini tanımla ve onlar için olasılık dağılımları seç

  2. Bu dağılımlardan örnekleyerek girdiler üret

  3. Simüle edilen girdilerle belirleyici bir hesap yap

  4. Sonuçları özetle

Python ile Monte Carlo Simülasyonları

Pi değerini hesaplamak

−1 ile 1 aralığında olan $x$ ve $y$ için rastgele $(x, y)$ noktaları üret.

Rastgele örneklenmiş noktalarla kare içine çizilmiş bir dairenin grafiği

$$Area_{circle} = \pi $$

$$Area_{square} = 2 \times 2 = 4 $$

$$\frac{Area_{circle}}{Area_{square}} = \frac{\pi}{4} $$

$$\frac{n_{red}}{n_{all}} = \frac{\pi}{4} $$

$$ \pi = 4 \times \frac{n_{red}}{n_{all}}$$

Python ile Monte Carlo Simülasyonları

Adım 1

Girdi değişkenlerini tanımla ve onlar için olasılık dağılımları seç

  • Girdiler: $(x, y)$ koordinatlarıyla gösterilen tekil noktalar
  • Olasılık dağılımları: $x$ ve $y$, eksi bir ile bir arasında düzgün dağılıma uyar.

 

circle_points = 0 
square_points = 0
Python ile Monte Carlo Simülasyonları

Adım 2

Bu dağılımlardan örnekleyerek girdiler üret

 

−1 ile 1 arasında düzgün dağılmış rastgele $x$ ve $y$ koordinatları örnekle:

for i in range(n):
    x = random.uniform(-1, 1)
    y = random.uniform(-1, 1)
Python ile Monte Carlo Simülasyonları

Adım 3

Simüle edilen girdilerle belirleyici hesap yap

Her noktanın daire içinde olup olmadığını kontrol et: verilen $x$ ve $y$ için belirleyicidir

dist_from_origin = x**2 + y**2

Evetse, noktayı circle_points'a ekle; her zaman square_points'a ekle

if dist_from_origin <= 1:
     circle_points += 1
square_points += 1
Python ile Monte Carlo Simülasyonları

Adım 4

İlgi duyulan soruları yanıtlamak için sonuçları özetle

 

Çok sayıda simülasyon turundan sonra pi değerini hesapla!

pi = 4 * circle_points/ square_points
Python ile Monte Carlo Simülasyonları

Hepsi bir arada

n = 4000000
circle_points = 0 
square_points = 0

for i in range(n): x = random.uniform(-1, 1) y = random.uniform(-1, 1) dist_from_origin = x**2 + y**2 if dist_from_origin <= 1: circle_points += 1 square_point += 1
pi = 4 * circle_points / square_points print(pi)
3.142518
Python ile Monte Carlo Simülasyonları

Hadi pratik yapalım!

Python ile Monte Carlo Simülasyonları

Preparing Video For Download...