2017-02-01 13 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)) 
    } 

내가 몬테카를로 시뮬레이션을위한 정지 기준 SEM의 값을 사용하려면,하지만 난 샘플 또는 샘플의 수단에서 SEM을 계산해야한다 것을 이해 ?

답변

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)이며, 우리는 각 k에 대해 X_k의 정밀도를 평가하려고합니다. 분명한 선택은 sqrt (1/(k-1) * sum (Y_i-X_k)^2) 인 X_k의 샘플 표준 편차입니다. 이를 다음과 같이 구현할 수 있습니다.

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

예 I는 SD (X의 [1 : 난]) 의미/SQRT (I)의 평균의 표준 오차 – Demaunt

+0

그래서 샘플 데이터를 이용하여, 각 관찰 후에 의미하지? – Demaunt

+0

맞습니다. 평균의 정밀도를 평가하려고합니다. 의미의 흐름의 평균이 아닙니다. – Julius