티스토리 뷰


Q. 샘플 분산은 ( 표본 값과 표본 평균의 차의 제곱값 ) 을 샘플의 갯수 n이 아닌 (n-1) 로 나누어 구한다. 다음의 조건에서  n 으로 나눈 경우와 (n-1)로 나눈 경우를 모분산과 비교하여 그래프를 그리시오. 

 

      (모집단 데이터 갯수 N ) = 100,000

       (모집단 분포) = 1 ~ 10 까지 정수의 균등 분포

    

       (표본 집단의 데이터 갯수 n ) = 1000

       (표본 집단의 수 num_samples ) = 500


표본 집단의 수의 변화 ( 1 ~ 500 )에 따른 2가지 방법에 의해 구한 분산과 모분산을 그래프로 그리시오.  



A. 

###########################################################################

################### 샘플 분산 Test

# random 초기화

set.seed(1234)

#모 데이터 100,000 개 생성

N <- 100000

org_data <- sample(1:10, N, replace = T)

# 모평균과 모분산

mu    <- mean(org_data)

var   <- sum((org_data - mu)^2)/N

# 1000 개 레코드를 가진 500개 샘플에 대한 평균과 분산 계산

# 1. n 사용

num_samples <- 500

n <- 1000

s500_1000_n <- replicate(num_samples, sample(org_data, n, replace = F))

mean_500_1000_n <- apply(s500_1000_n, 1, mean)

var_500_1000_n <- c(1:num_samples)

var_500_1000_n_avg <- c(1:num_samples)

for (idx in c(1:num_samples)) {

  var_500_1000_n[idx] <-

    sum( (s500_1000_n[idx,] - mean_500_1000_n[idx])^2 )/num_samples

  var_500_1000_n_avg[idx] <-

    mean(var_500_1000_n[1:idx])

}

# 2. n-1 사용

var_500_1000_n_1 <- c(1:num_samples)

var_500_1000_n_1_avg <- c(1:num_samples)

for (idx in c(1:num_samples)) {

  var_500_1000_n_1[idx] <-

    sum( (s500_1000_n[idx,] - mean_500_1000_n[idx])^2 )/(num_samples -1)

  var_500_1000_n_1_avg[idx] <-

    mean(var_500_1000_n_1[1:idx])

}

df_sample_var <- data.frame(sample_count = c(1:num_samples),

                            var_500_1000_n_avg,

                            var_500_1000_n_1_avg)

library(reshape2)

df_sample_var_reshape <- melt(df_sample_var, id.vars = c("sample_count"))

str(df_sample_var_reshape)

df_sample_var_reshape %>% ggplot(aes(x = sample_count,

                             y = value,

                             color = variable)) +

  geom_line() +

  geom_hline(yintercept = var, color="black")


###########################################################################################33



결과 그래프




공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함