Dr. Mehmet AKSARAYLI Ekonometri Böl. Simülasyon Ders Notları Rassal Sayı Üretilmesi RASSAL SAYI ÜRETİLMESİ Simülasyon analizinde kullanılacak az sayıda rassal sayı üretimi için ilkel yöntemler kullanılabilir. Çok sayıda rassal sayı için ise elektronik aygıtlar gereklidir. Böyle bir aygıt RAND şirketinde bulunmaktadır ve üretilen bir milyon rasgele sayı RAND şirketi tarafından bir teyp içinde kullanım için verilmektedir. Ülkemizde rasgele üretim aygıtı Harp Akademilerinde geliştirilmiş ve kullanılmaktadır. Fiziksel aygıtları kullanmanın iki güçlüğü vardır: 1. İstenildiği zaman bilgisayar gibi kendisinden bir rasgele sayı veren fiziksel bir aygıta sahip olmak bazen imkansızdır. 2. Böyle bir aygıttan üretilen sayıyı tekrar üretmek imkansızdır, dolayısıyla ilişkili simülasyon denemesi yapılamaz. Bu nokta, modelin hatalarını gidermede, modeli doğrulamada ve geçerliliğini onaylamada sık sık aynı rasgele sayıların aynı sırada kullanılması gerektiği için önemlidir. Fonksiyonel matematik ilişkilerin kullanımı ile üretilen rasgele sayılara sözde rasgele sayılar (pseudo random number) denir. Üretilen rassal sayılar ( 1/6 eşit olasılıkla gözlenmişlerdir) 1,2,5,3,6,4 olsun. Rassal sayı üretimine devam ettiğimizde, diziye yeni katılan sayılar: 1,2,... olarak üretilmiş ise algoritmanın tekrarlanma periyodu 6 ve çok kısadır. N adetlik üretimde 6 periyotlu otokorelasyonlu gelişen bir periyodik dizi elde edilmiş olur. Bu dizi istatistiksel özellikleri yönünden amaca uygun bir dizi değildir. Örneğin 500 adet rassal sayıya gerek duyulan bir benzetim analizi için 500 den biraz büyük periyodu olan bir rassal sayı üreteci yeterli olabilir. 1
Rastgelellik Koşulları (BRATLEY ET ALL, 1983 ; PİDD, 1984 ; GRAYBEAL POOCH, 1985) 1. Rastgele sayı üretecinin tekrarlanma periodunun uzun olması gerekir. Bir üretecin n üretimi için kendini yineleme periyodunun çok uzun olması gerekir. Rastgele sayı üreteçleri bir matematiksel fonksiyona dayanarak sayı üretimini sağlarlar. Bu nedenle belirli bir periodda fonksiyonun kendisini yinelemesi söz konusudur. Böylece oluşturulan algoritmanın yineleme periodunun çok uzun olması gerekir. 2. Rastgele sayı üretecinin n üretiminde elde edilen dizinin sayılarının ardışık olarak birbirinden bağımsız olmaları gerekir. t zaman sürecinde bir trend (eğilim) olmaması gerekir. 3. Rastgele sayı üretecinde t zamanda elde edilen n dizinin elemanlar t i, t i+k periodlarında bir kümeleme göstermemelidir. 4. Rastgele sayı üretecinde sayı üretimleri tekrarlanabilir, yeniden elde edilebilir olmalıdır. Oluşturulan bir algoritmanın her yeniden t period için çalıştırılması halinde üretilen diziler birbirine eşit olmalıdır. 5. Rastgele sayı üreteci çalıştırıldığı bilgisayar türüne bağımlılık göstermemelidir. Genellik prensibine uygun üretimler yapılabilmelidir. 6. Rastgele sayı üreteçleri sistemdeki her hangi bir X değişkeninin asimtotik dağılışına kolayca uyabilen bir esneklik içinde olmalıdır. Türetilen diziler kolayca amaca uygun biçime geçebilmelidir. 7. Rastgele sayı üreteçleri ile üretilen sayı dizilerinde sayıların önceki ve sonraki değerlerine bağımlılığı olmamalıdır. 8. Üretim, n için istenilen büyüklükte kısa sürede elde edilebilir rastgele sayı üretim algoritmaları olmalıdır. 2
Bu özelliklere birkaç yan özellik daha katılabilir, fakat yukarıdaki özelliklere uyan rastgele sayı üreteçlerine (RANGEN) sahip olunduğunda, istenilen rastgele sayı dizilerini elde etmek mümkün olacaktır. Simülasyon modellerinde rassal süreçleri oluşturmak için önce düzgün dağılıma sahip rassal sayılar üretilir ve bunlar diğer dağılımlara ilişkin rassal sayılara dönüştürülürler. Rassal sayı terimi, düzgün dağılmış rassal sayı terimi ile aynı anlamda kullanılmıştır. Simülasyon modellerinde genellikle (0 1) aralığındaki rassal sayılar söz konusudur. Farklı durumlarda, istenilen aralıklarda rassal sayılar, (0 1) aralığındaki sayıların uygun sayılarla çarpılması veya bölünmesi yoluyla elde edilir. Düzgün olasılık yoğunluk fonksiyonu; f(x) f(x) = 1/(b-a) ; a x b = 0 ; d.d. a b Herhangi bir rassal sayının elde edilme olasılığı diğer sayılarla eşit ve kendinden önce elde edilen sayılardan bağımsızdır. P (X=xi ) = sabit i = 1,2,...,t RASSAL SAYI ÜRETME YÖNTEMLERİ 1. Kare Ortaları Üreteci ( John Von Neuman 1946 ) 1. Başlangıç sayısı rasgele seçilir ( istediğimiz rassal sayı 4 haneli ise 4 haneli sayı seç ) 2. Bu sayının karesi alınır. 3. Sekiz basamağı doldurmak için gerekirse sayının sol tarafına sıfır konur. 4. Rassal sayı olarak kullanılmak üzere ortadaki 4 basamak seçilir. 5. 4. Adımda seçilen sayının karesi alınır 6. istenildiği rassal sayı adedi kadar 3-4 5 adımları tekrarlanır. Örnek : x 0 = 3187 başlangıç sayısı ile 10 adet rassal sayı elde edelim. 3
(x 0 ) 2 = 10156960 x 1 = 1569 (1569) 2 = 02461761 x 2 = 4617 (4617) 2 = 21316689 x 3 = 3166 (3166) 2 = 100235556 x 4 = 0235 (0235) 2 = 00055225 x 5 = 0552 (0552) 2 = 00304704 x 6 = 3047...... (5913) 2 = x 10 = 9635 Kare ortalamaları yöntemi n > 50 için kısa yineleme periyodu nedeniyle dizi kendini tekrarlamaktadır. Ayrıca hane sayısı (h) = 2 olduğunda çok kısa periyotta üretim sona ermektedir. 1960 lardan önce h = 4 ve n < 25 için yaygın olarak kullanılmıştır. İlk sayı ve dizinin yineleme uzunluğu arasındaki ilişkiyi kestirmek zordur. Örneğin; x 0 = 4500 alalım (x 0 ) 2 = 20250000 x 1 = 2500 (2500) 2 = 06250000 x 2 = 2500 (2500) 2 = 06250000 x 3 = 2500 (2500) 2 = 06250000 x 4 = 2500... Örneğin; x 0 = 44 ve h = 2 alalım ve 10 sayı üretelim: Rassal sayılar : 93, 64, 09, 08, 06, 03, 00, 00 olarak bulunur. Üretim gittikçe azalan bir dizidir ve 8. Üretimden sonra üretim durmuştur. Yöntemin Sakıncaları: üretilen dizinin periyodu çok kısadır. Uygun bir başlangıç sayısı verilmemişse kısa sürede üretim sıfıra yaklaşmaktadır. h = 4 dışında uygulama düzenli değildir. 4
2.Çarpımsal Benzerlik Yöntemi u 0, b (çarpan), c (artış sayısı) ve m (modüler aritmetik böleni) parametreleri verildiğinde Rn rasgele sayısı, u n = ( b.u n-1 + c ) mod (m) n = 1,2,... Rn = u n /m, n = 1,2,... ile hesaplanır. Örnek: b = 9, c = 5, u 0 = 11 ve m= 12 alarak rassal sayı üretelim. U 1 = (9x11 + 5) mod (12) = 104 mod (12) = (12X8 + 8 ) mod (12) = 8 R 1 = 8/12 = 0,6667 U 2 = (9x8 + 5) mod (12) = 77 mod (12) = (12X6 + 5 ) mod (12) = 5 R 2 = 5/12 = 0,4167 U 3 = (9x5 + 5) mod (12) = 50 mod (12) = (12X4 + 2 ) mod (12) = 2 R 3 = 2/12 = 0,16667 çarpımsal benzerlik yönteminde en önemli sorun u 0, b (çarpan), c (artış sayısı) ve m (modüler aritmetik böleni) parametrelerinin seçimi ile ilgilidir. Seçim işlemlerinde bazı kurallara uymak gerekir. m (modüler aritmetik böleni): Tekrarlama periyodu m den küçük olacağından m in büyük değerler olarak seçilmesi uygun olacaktır. m in 2 n 1 değerine eşit ( n>25) bir değer olması uygun çözüm olabilir. m = 2 31 1 uygun bir mod olduğu saptanmış bulunmaktadır. b (çarpan), c (artış sayısı) seçimi: b = 2 16 + 5 = 65541 b = 2 16 + 3 = 65539 yaygın kullanılanlardır. b = 16807 b = 630360016 c için m in kuvvetli olması uygundur. u 0 ın seçimi: dizinin m periyodu uzun ise u 0 ın seçimi önemsizdir. 5
3. Eklemeli Uyum Üreteci Önceden belirlenen iki ya da daha fazla sayıya dayanarak önceki ve sonraki sayıların toplamlarının modül olarak ele alınan bir sayıya bölündükten sonra kalan sayıların türetilmiş sayı olarak alan bir yöntemdir. x k = ( x k-1 + x k-j ) mod (m) Bu yöntemin çalışması için başlangıç olarak kaç sayının kullanılacağı ve üretilecek sayı büyüklüğünün belirlenmesi gerekir. Örneğin 0 12 arasında sayı üretilecekse modülün, max. Değerin bir fazlası olması gerekir. Bu yöntem başlangıç olarak alınan k elemanlı bir alt dizinin genişletilmesini kapsayan bir yöntemdir. Örnek : m = 10, k = 5 için rassal sayılar = 3, 7, 9, 2, 6 dizisinin genişletilmesini sağlayalım. x 1 = 3, x 2 = 7, x 3 = 9, x 4 = 2, x 5 = 6 x 6 = ( x 5 + x 1 ) mod (10) = ( 6 + 3 ) mod (10) = 9 x 7 = ( x 6 + x 2 ) mod (10) = ( 9 + 7 ) mod (10) = 6 x 8 = ( x 7 + x 3 ) mod (10) = ( 6 + 9 ) mod (10) = 5 x 9 = ( x 8 + x 4 ) mod (10) = ( 5 + 2 ) mod (10) = 7 x 10 = ( x 9 + x 5 ) mod (10) = ( 7 + 6 ) mod (10) = 3 6