Re: [問題] 如何證明i.i.d.已回收
※ 引述《jack555 (Jason Mraz !!!)》之銘言:
: ※ [本文轉錄自 Statistics 看板]
: 作者: jack555 (Jason Mraz !!!) 看板: Statistics
: 標題: [問題] 如何證明i.i.d.
: 時間: Tue Nov 24 14:32:43 2009
: 各位好,小弟在此有個小問題請教,假設一個由randn產生的矩陣如下:
: A = randn(2,2,100)+j*randn(2,2,100);
: B1 = A(1,1,:);
: B2 = A(1,2,:);
: B3 = A(2,1,:);
: B4 = A(2,2,:);
: 那請問如何證明B1~B4互相都是i.i.d.呢?
: 是用xcorr 去求corss-correlation嗎?
: 假若B1~B4並非為i.i.d.那如何去產生一個都為i.i.d.且mean = 0,var = sigma^2
: 的A矩陣呢?
: 以上,麻煩各位解惑 ^^
恕我簡化您的題目:
假設一個隨機向量 X = (X1, X2), 其樣本向量 A = (A1, A2) 產生法如下:
A = randn(2, 1);
請提出一個猜測法 (hypothesis) 來驗證 X ~ N(0, I)
解答:
從 X 取出 10^5 個向量: A
計算其樣本均值: m1, m2
樣本變異量: v1, v2
樣本共變異量: r
n = 1e5;
A = randn(2, n);
m1 = mean(A(1, :))
m2 = mean(A(2, :))
v1 = n / (n - 1) * var(A(1, :))
v2 = n / (n - 1) * var(A(2, :))
r = sum((A(1, :) - m1) .* (A(2, :) - m2)) / (n - 1)
假設 X ~ N(0, I)
根據定理:P[|E[X] - Mn(X)| > c] < Var[X] / (nc^2)
其中 Mn(X) 是 X 的 n 個樣本均值
設 c = 0.01,計算樣本和期望值的差異大於 0.01 的機率
P[|E[X1] - m1| > 0.01] < 1 / (n * 0.01^2) = 10000/n
P[|E[X2] - m2| > 0.01] < 1 / (n * 0.01^2) = 10000/n
由於我們取 10^5 個向量,所以 n = 10^5
P[|E[X1] - m1| > 0.01] < 1 / (10^5 * 0.01^2) = 10%
P[|E[X2] - m2| > 0.01] < 1 / (10^5 * 0.01^2) = 10%
最後得到 m1, m2 與真正的 E[X1], E[X2] 差異超過 0.01 的機率不會超過 10%
另外三個 v1, v2, r 不是樣本均值我就不會算了。
因此,我們可以提出一個猜測法:
-0.01 < m1 < 0.01
-0.01 < m2 < 0.01
-0.99 < v1 < 1.01 % 下面三式未驗證其機率
-0.99 < v2 < 1.01
-0.01 < r < 0.01
以上五式同時成立時,即猜測 X ~ N(0, I)
若任一式不成立時則否。
完整 MATLAB 測試碼如下:
n = 1e5;
A = randn(2, n);
m1 = mean(A(1, :));
m2 = mean(A(2, :));
v1 = n / (n - 1) * var(A(1, :));
v2 = n / (n - 1) * var(A(2, :));
r = sum((A(1, :) - m1) .* (A(2, :) - m2)) / (n - 1);
if abs(m1) < 0.01 && ...
abs(m2) < 0.01 && ...
abs(v1 - 1) < 0.01 && ...
abs(v2 - 1) < 0.01 && ...
abs(r) < 0.01
disp('OK');
else
disp('The test was failed');
end
請翻閱 Hypothesis Testing 以取得相關知識。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.235.24
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):