10.12.2014 1 Rassal Sayı ve Rassal Değer Üretimi EME 3117 2 Girdi Analizi bölümünde gözlemlerden elde edilen SİSTEM SİMÜLASYONU verilere en uygun dağılımı uydurmuştuk. Bu günkü derste bu dağılımlardan simulasyonda kullanmak için nasıl rassal değişken üretileceği üzerinde durulacaktır. Rassal Sayı ve Rassal Değer Üretimi Örneğin bir eczaneye müşteri gelişleri arasında geçen sürenin Ders 12 dağılımı belirlenmiş olsun. Arena’da Bu EXPO(30 dağılımdan dk.) olarak simulasyonda kullanacağımız gelişler arası süreler nasıl üretilebilir? Rassal Sayı Üretimi Rassal Sayı ve Rassal Değer Üretimi 3 4 Herhangi bir dağılımdan rassal bir değişken Bir simulasyonda kullanılan gerçekte rassal değildir! rassal sayılar, üretebilmek için U(0,1) rassal değişkenleri gereklidir. Rassal sayılar, birbirinden bağımsız ve görülme olasılıkları eşit olan sayıların oluşturduğu dizilerdir. Bu sayı dizileri eşit olasılık gereği, Düzgün Tanım: Bir sözde rassal sayılar dizisi U(i), gerçek rassal sayılar dizisi U(0,1)’deki bazı ilgili istatistiksel özelliklere sahip deterministik sayılar dizisidir. (Uniform) olasılık dağılımı gösterir. 1 10.12.2014 √Rassal Sayıların Özellikleri Rassal Sayıların Dağılımı 6 Düzgün ve bağımsızlık özelliğinin iki sonucu; 1)(0,1) aralığı, eşit uzunlukta k sınıfa bölünürse, N; gözlemlerin toplam sayısı olmak üzere, her aralıktaki gözlemlerin beklenen değeri: B N k 2) Bir aralıkta bir değerin gözlemlenme olasılığı, elde edilen bir önceki değerden bağımsızdır. Rassal Sayı Üreteçlerinde İstenen Özellikler 7 1) Orta Kare Yöntemi 8 Bu yöntemde i) (m) basamaklı ve genellikle tek olan bir sayı başlangıç değeri (seed) olarak alınır. ii) Bu sayının karesi alınarak bulunan sayının ortasındaki m kadar basamaklı sayı alınır. iii)Alınan bu sayı rassal sayı olarak kaydedilir. iv)İstenen sayıda rassal sayı elde edene dek ii, iii, iv tekrar edilir. 2 10.12.2014 Örnek Dezavantajları 9 10 X 0 5497 (Seed) 2 0 1)İlk sayı ve dizinin uzunluğu arasındaki periyodu önceden bilmek mümkün değildir. Çogu kez peryot kısadır. 2 X ( 5497 ) 30217009 ise X 1 2170 U1 0.2170 2 X 12 ( 2170 ) 04708900 ise X 2 7089 1)Elde edien sayılar rassal olmayabilir. Yani dizide dejenerasyon (bozulma) söz konusu olabilir. U 2 0.7089 . . . 2) Doğrusal Eşlik Üreteci (Linear Congruential Generator) LCG Örnek 11 Tanım: Bir LCG aşağıda verilen tekrarlanan ilişkiye göre belirlenen 0 ve m-1 arasındaki ( R0 , R1 , ) tam sayılar dizisi tanımlar: Ri +1 ( aRi + c ) mod m (m 8, a 5, c 1, R0 5) parametreli Doğrusal Eşlik Üreteç (LCG) düsünün. Tanımlanan diziden ilk 9 Ri ve U i değerlerini hesaplayın. i 0,1, 2,... R0 : dizinin başlangıc değeri : sabit çarpan katsayısı : artış miktarı m :modulus M od operatorü: a c ê yú z y mod m Û z y - mê ú ë mû (m, a, c, R0 ) tamsayı ve a > 0 , c ³ 0, m > 0, 0 £ Ri £ m - 1 U i Ri m m>a, m>c m > R0 , ëxû , en büyük tamsayı £x 17 Örneğin, z 17 mod 3 Û z 17 - 3êê úú 17 - 3 5 2 . ë3û 3 10.12.2014 Çözüm Ri +1 ( aRi + c) mod m Rassal Sayı Dizileri i 0,1, 2, ( m 8,a 5,c 1, R0 5 ) 13 14 R1 (5R0 + 1) mod 8 26 mod 8 2 U 1 0.25 • Rassal sayıların Ui=Ri/m R2 (5R1 + 1) mod 8 11 mod 8 3 U 2 0.375 olduğuna dikkat edin. R3 (5R2 + 1) mod 8 16 mod 8 0 U 3 0.0 R4 (5R3 + 1) mod 8 1 mod 8 1 U 4 0.125 • Sayıların çevrim dizilerinde tekrarlanıp R5 6 U 5 0.75 tekrarlanmadığına R6 7 U 6 0.875 dikkat edin. R7 4 U 7 0.5 R0 5 R8 • Örneğin R1 =2 gibi bir çekirdek (seed), bir rassal dizisinde başlangıç yerini tanımlar. • Rassal sayı dizisi, farklı çekirdeklerle tanımlanan dizileri gösterir. R7 4 R1 2 R6 7 R2 3 R 5 U 0.625 8 • Uzun cevrim periyoduna 8 sahip a, m ve c R9 2 U 9 0.25 belirlenmesi amaçlanır. • Farklı görevlerde bağımsız rassal sayıları kullanabilmek için çevrimi ayrı dizilere bölmek isteriz. Rassal Sayılar Tablosu 15 R3 0 R5 6 R4 1 Rassal Sayı Üreteçlerinin Testleri 16 • Kolmogorov-Smirnov Testi • Ki-Kare Testi • Bagimsizlik testleri Koşu (run) testi Otokorlasyon Poker 4 testi (Autocorrelation) testi 10.12.2014 Rassal Değer Üretimi AMAÇ: • Bir simulasyon modelinde girdi olarak kullanılmak üzere belirli bir dağılımdan örneklem üretilmesi • Yaygın olarak kullanılan rassal değer üretim yöntemlerinin öğrenilmesi Ters dönüşüm tekniği Kabul-ret tekniği Dağılımlardan Örneklem Alınması • Tahmin edilemeyen yada belirsiz faaliyetlerin modellenmesinde istatistiksel dağılımlar kullanılır. • Gerçek yaşam problemlerindeki gelişler arası süre, servis süreleri, talep vb. değişkenler genellikle tahmin edilemezdir. • Bu tür değişkenler, belli bir istatistiksel dağılıma sahip rassal değişkenler olarak modellenebilir. Rassal Değer Üretme Teknikleri Ters Dönüşüm Tekniği • Rassal değer üretme tekniklerinin tümü [0,1] aralığında Düzgün dağılmış rassal sayıların elimizde mevcut olduğunu varsayar. Üstel, Düzgün, Weibull ve deneysel sürekli Her bir Ri rassal sayı için: dağılımların yanı sıra bir çok kesikli dağılımdan örneklem almaya uygun bir yöntemdir. Hesaplama yönünden basit ve direk bir yöntem olmasına karşın, her zaman etkin değildir. 5 10.12.2014 Deneysel Kesikli Dağılım Ters Dönüsüm Tekniği (Devam) (Ters Dönüşüm) • Tekniğin temel mantığı: r = F(x) birikimli dağılım fonksiyonu için [0,1] düzgün dağılımından r rassal sayısını üret x’i hesapla. F(x) r = F(x) x= F-1(r) r1 x1 Eğer Ri aralıktaysa 0 £ Ri £ 0.4 0.4 < Ri £ 0.7 0.7 < Ri £ 0.9 0.9 < Ri £ 1.0 Xi 1 2 3 4 1 2 3 f ( xi ) 0.4 0.3 0.2 F (x i ) 0.4 0.7 0.9 4 0.1 1.0 if x < 1 ì0 ï0.4 if 1 £ x < 2 ïï F ( x) í0.7 if 2 £ x < 3 ï0.9 if 3 £ x < 4 ï if 4 £ x îï 1 x Deneysel Kesikli Dağılım (Devam) (Ters Dönüşüm) xi Uygulamalar • [a,b] aralığında Düzgün Değer Üretimi • Üstel Değer Üretimi Kesikli Ters Dönüşüm Algoritması Üret ri uniform(0,1) for i=1 to n If ri £ F(xi ) then return x Loop i 24 6 10.12.2014 [a,b] Aralığında Düzgün Değer Üretimi [a,b] Aralığında Düzgün Değer Üretimi (Devam) (Ters Dönüşüm) (Ters Dönüşüm) • Düzgün dağılmış X rassal değişkenine ait f(x) olasılık yoğunluk fonksiyonu aşağıda verilmiştir. ì 1 ï f(x) í b - a ïî0 • X rassal değişkeninin Birikimli Dağılım Fonksiyonu F(x), Olasılık Yoğunluk Fonksiyonu f(x)’in integrali alınarak bulunur. a£ x£b Aksi Halde F(x) ò f(x): Olasılık Yoğunluk Fonksiyonu (Probability density function, pdf): a£ x£b x>b F(x): Birikimli (Olasılık) Dağılım Fonksiyonu (Cumulative density function, cdf) [a,b] Aralığında Düzgün Değer Üretimi (Devam) x<a ì0 ïï x - a f(x)dx í ïb - a ïî1 Üstel Dağılım (Ters Dönüşüm) (Ters Dönüşüm) 28 • Düzgün dağılımdan değerler üretmede ters dönüşüm metodunu kullanmak için Fx(x) = R alınır ve x aşağıdaki gibi çözülür: x-a R ise x F -1 ( x) (b - a) R + a b-a ìl e- l x f (x) í î0 ì0 F(x) í -lx î1- e • Artık, [a,b] aralığında Düzgün rassal değer üretebiliriz: [0,1] aralığında Düzgün R üret x = a + R (b -a) E[X] 27 7 1 l x³0 A ksi Halde x<0 0 £ x£¥ l 1 E[X] 10.12.2014 Üstel Dağılım (Devam) Üstel Dağılım (Devam) (Ters Dönüşüm) (Ters Dönüşüm) 29 30 1- İstenilen X rassal değişkeni için kümülatif yoğunluk fonksiyonu hesaplanır. 31 Üstel Dağılım (Devam) Üstel Dağılım (Devam) (Ters Dönüşüm) (Ters Dönüşüm) 32 8 10.12.2014 Rassal Normal Değer Üretme Üstel Dağılım (Devam) (0,5<Rassal Sayı<1) (Ters Dönüşüm) 33 r = F(x) birikimli dağılım fonksiyonu için [0,1] düzgün dağılımından r rassal sayısını üret x’i hesapla. s 2 100 Örnegin m =25,s 2 100 parametreli Normal Dagilimdan rassal deger uretelim. R=0.919 olsun. F(x) 0,919 m 25 x z x- m s x m + zs F(z) 0, 919 z Rassal Normal Değer Üretme Rassal Normal Değer Üretme (0,5<Rassal Sayı<1) P ( Z £ 1, 4 ) 0,919 (0<Rassal Sayı<0,5) f(z) Üretilen rassal sayının 0.5’ten küçük olması normal dağılımdan üretilecek değerin ortalamadan küçük olduğunu gösterir. z 1, 4 z s 2 100 Örnegin m =25,s 2 100 parametreli Normal Dagılımdan rassal deger uretelim. x m + zs 25 + 1, 4.10 39 R=0.35 olsun. m 25 x z x- m s F(x) RS 0,35 s2 1 F(z) RS 0,35 x m - zs -z 9 0 10.12.2014 Rassal Normal Değer Üretme Rassal Normal Değer Üretme (0<Rassal Sayı<0,5) (0<Rassal Sayı<0,5) P ( Z £ 0.39 ) 0, 65 f(z) P(Z £ -0.39) 0, 35 s 2 1 -z 0 z 0 z z 0, 39 s 2 1 x m - zs 25 - 0, 39.10 z 21,1 P(Z < -z) P(Z > z) 0, 35 P(Z < z) 1- 0, 35 0,65 0, 35 10