Merkezi Limit Teoremi ile ilgili sayısal bir uygulama yapılacaktır. Bu uygulamada öncelikle rasgele sayılardan oluşturulan bir dağılım yapılacaktır. Ardından bu dağılımın ortalaması ve standart sapması hesaplanacaktır. Dağılımdan n tane rasgele sayı alınacak, ve bu işlem m defa tekrar edilecek alınan sayıların histogram grafiği çizdirilecektir. Sonuç olarak elde edilen histogram, normal dağılım olacaktır.
Rasgele bir veri dizisi oluşturalım. Bu veri dizisi 100 tane veri içersin ve değerleri rasgele olsun.
t_max = 100; Y = 3*rand([1 t_max])+1; plot(Y); xlabel('#'); ylabel('Y'); title('Rasgele Sayılar'); ylim([0 5]);
Oluşturulan verilerin ortalamasını ve standart sapmasını elde edelim.
meanY = mean(Y); stdY = std(Y); fprintf('Ortalama: %f\nStd. : %f\n', meanY, stdY);
Ortalama: 2.376872 Std. : 0.825175
Veri setinden, rasgele n tane nokta seçilecektir. Bu verileri rasgele tam sayı üreten randi fonksiyonu kullanarak yapabiliriz. Örneğin 5 tane rasgele sayı seçmek için aşağıdaki komutlar kullanılarabilir:
r1 = randi(t_max, [1 5]); y1 = Y(r1); disp('Rasgele #:'), disp(r1); disp('Rasgele seçim değerleri:'), disp(y1); clear r1 y1;
Rasgele #:
92 38 45 3 77
Rasgele seçim değerleri:
1.4718 3.2127 1.5314 1.8853 2.9937
Şimdi, bu işlemi belirli bir m sayısı defa yapıldığını düşünelim. Bunun için matrix kullanılabilir. nxm boyutlarında seçim vektörleri oluşturalım. n = 5, m = 3 için örnek bir seçim aşağıdaki gibidir.
n = 5; m = 3; r1 = randi(t_max, [n m]); disp('Örneğin m = 2, 2. seçim için n adet seçim:'); disp(r1(:,2)); disp('Örneğin m = 2, 2. seçim için n adet seçim değerleri:'); disp(Y(r1(:,2))); disp('Rasgele seçimler: (her sütun farklı bir denemedir)'); disp(r1); disp('Bu seçimler için Y değerleri:'); disp(Y(r1)); clear r1 n m;
Örneğin m = 2, 2. seçim için n adet seçim:
50
24
100
70
75
Örneğin m = 2, 2. seçim için n adet seçim değerleri:
1.5910 1.9546 1.4941 2.6258 2.9816
Rasgele seçimler: (her sütun farklı bir denemedir)
73 50 27
78 24 5
82 100 31
59 70 92
98 75 95
Bu seçimler için Y değerleri:
2.0244 1.5910 2.5840
2.0431 1.9546 1.1805
2.2913 1.4941 1.0744
1.3127 2.6258 1.4718
2.2484 2.9816 3.5818
Y veri dizisinden rasgele n örneklem alalım. Bu örneklem alma işlemini m defa tekrar edelim. O halde seçimlerin ortalamarı aşağıdaki gibi hesaplanacaktır.
n = 30; m = 2000; X = Y(randi(t_max, [n m])); meanX = mean(X); fprintf('n = %d, m = %d, Ortalama (m=1) = %f\n', n, m, meanX(1));
n = 30, m = 2000, Ortalama (m=1) = 2.349442
Elde edilen verilerin dağılımı histogram ile incelendiğinde elde edilen dağılım normal dağılım olacaktır.
clf; histogram(meanX); title(['n = ' num2str(n) ', m = ' num2str(m)]); xlabel('X''lerin ortalaması'); ylabel('Tekrar');


Hiç yorum yok:
Yorum Gönder