ベルヌーイ確率変数の ML 推定を適用しています。私は最初に次のコードを持っています:
muBern = 0.75;
bernoulliSamples = rand(1, N);
bernoulliSamples(bernoulliSamples < muBern) = 1;
bernoulliSamples(bernoulliSamples > muBern & bernoulliSamples ~= 1) = 0;
bernoulliSamples; % 1xN matrix of Bernoulli measurements, 1's and 0's
estimateML = zeros(1,N);
for n = 1:N
estimateML(n) = (1/n)*sum(bernoulliSamples(1:n)); % The ML estimate for muBern
end
これはかなりうまく機能しますが、コードを実行するたびに、N=100
観測結果の 1 つにすぎません。この実験をI=100
何度も繰り返し、すべての結果の平均を取り、実験を正確に表す解を取得したいと考えています。
muBern = 0.75;
bernoulliSamples = rand(I, N);
bernoulliSamples(bernoulliSamples < muBern) = 1;
bernoulliSamples(bernoulliSamples > muBern & bernoulliSamples ~= 1) = 0;
bernoulliSamples; % IxN matrix of Bernoulli measurements, 1's and 0's
estimateML = zeros(I,N);
for n = 1:N
estimateML(n,:) = (1/n)*sum(bernoulliSamples(1:n,2)); % The ML estimate for muBern
end
このfor
ループが意図したとおりに実行されているかどうか疑問に思っています。各行は完全に異なる実験を表しています。2 番目のコード インスタンスは、100 の異なる実験の原因として 100 の異なる結果のみを使用して、最初のコード インスタンスと同じことを行っていますか?