16 Ocak 2021 Cumartesi

Merkezi Limit Teoremi Sayısal Uygulama Örneği

 

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