2017-02-01 23 views
1

Не могли бы вы помочь мне понять, какая из стандартных ошибок средних (sem) значений: sem или semm более подходит для оценки того, насколько близка симуляция Монте-Карло к реальному средству.Критерии остановки 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)) 
    } 

Я хочу использовать значение а сем остановочных критерии для моделирования методом Монте-Карло, но понимаю я должен рассчитать РЭМ из образца или с помощью образца?

ответ

1

sem в вашем коде использует все моделируемые значения, поэтому это не является даже возможным для решения о прекращении. Я предполагаю, что вы означали для sem:

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

Если это так, sem - правильный выбор.

Для повторных случайных наблюдений i.i.d. Y_k, нас интересует E [Y_k]. Очевидная оценка для каждого приращения равна X_k = (1/k) (Y_1 + ... + Y_k), и мы хотим оценить точность X_k для каждого 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: г])/SQRT (я) – Demaunt

+0

Таким образом, стандартная ошибка среднего значения используются данные выборки, не означает, что после каждого наблюдения? – Demaunt

+0

Правильно. Вы хотите оценить точность среднего. Не среднее средство потока. – Julius