2017-02-01 56 views
1

您能否幫我理解平均值(sem)的標準誤差:sem或semm更適合估計Monte-Carlo模擬與真實平均值的接近程度。R Monte-Carlo停止標準

我的意思是我必須使用觀察來計算sem,或者在每次觀察之後使用均值來計算semm?

#some data 
    x <- c(10,9,8,7,6,5,4,3,2,1,10,9,8,7,6,5,4,3,2,1,10,9,8,7,6,5,4,3,2,1,10,9,8,7,6,5,4,3,2,1) 
    x_means <- c() 
    sem <- c() 
    semm <- c() 

    for(i in 1:length(x)) 
    { 
     x_means <- c(x_means, mean(x[1:i])) 
     sem <- c(sem, sd(x)/sqrt(i)) 
     semm <- c(semm, sd(x_means)/sqrt(i)) 
    } 

我想使用半值停止標準的蒙特卡洛模擬,但明白我應該從樣本或手段的樣本計算sem?

回答

1

您的代碼中的sem使用了所有的模擬值,因此對於停止決策甚至是不可行的。我猜你對sem的意思是

sd(x[1:i])/sqrt(i) 

如果是這樣,sem是正確的選擇。

對i.i.d.的重複隨機觀測。 Y_k's,我們對E [Y_k]感興趣。每個增量的明顯估計量是X_k =(1/k)(Y_1 + ... + Y_k),我們想估計每個k的X_k的精度。一個明顯的選擇是X_k的樣本標準差,即sqrt(1 /(k-1)* sum(Y_i-X_k)^ 2)。我們可以如下實現它。

y <- NULL 
precision <- 1 
while (precision > 0.01){ 
    y <- c(y,rnorm(1)) # your own Monte-Carlo here, for this example, I chose trivial one 
    precision <- sd(y)/sqrt(length(y)-1) 
    if (is.na(precision)) precision <- 1 
} 
+0

是的,我的意思是SD(X [1:1])/ SQRT(i)所述平均值的 – Demaunt

+0

所以標準誤差使用的樣本數據,而不是每個觀測後是什麼意思? – Demaunt

+0

這是正確的。你想評估平均值的精確度。不是手段流的意思。 – Julius