표본 분산과 편차 분산에 대해 가시화를 시도하였다
10888 단어 통계학
개시하다
통계학 교과서와 최초 출현한'분산'이지만 교과서에는'표본 분산'과'편파적 분산이 없어야 한다'(처음 봤을 때 어떻게 구분해서 쓰나 고민했다).
표본 분산과 편차가 없는 분산은 모분산의 추측으로 볼 때 표본 분산은 편파적이지 않다.'표본 분산의 기대치'는 모분산보다 작은 성질(이것은 샘플의 사이즈가 작은 상황에서 현저하다)이 있고 편파적이지 않은 분산은'편파적이지 않은 기대치'와 모분산이 일치하는 성질이 있다.
따라서 어떤 실험을 통해 데이터를 얻을 때 결과로부터 배후의 전체적인 방차를 추측하려면 편차가 없는 방차를 사용해야 한다.다른 한편, 표본 분산은 얻은 데이터가 어떻게 분산되었는지 묘사하는 데 쓰인다.
이번에 우리는 전체 견본에서 적당한 견본 사이즈로 추출한 견본에 대해 견본의 방차, 편차가 없는 것을 계산하여 견본 사이즈의 견본 방차, 편차가 없는 운동을 가시화할 것이다.
※ 자세한 내용은 책이나 인터넷에서'일치성'또는'편파성'으로 조사해 주십시오.이번 문제는 편파적이지 않은 사람이다.
실험과 결과
표준 정적 분포의 크기에 따라 1000000의 전체 견본을 준비합니다.import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
np.random.seed(seed=42)
population = np.random.normal(0, 1, 1000000) # 母集団:平均0, 分散1, サイズ1000000
sns.histplot(population)
plt.title('Population Distribution')
plt.show()
실험1
전체 샘플에서 50개의 샘플을 추출하여 1000번의 편차 분산과 표본 분산 조작을 하고 각자의 평균치를 계산한다.unbiased_variances = []
sample_variances = []
for _ in range(1000):
# 母集団から50件の抽出を行い不偏分散と標本分散を求めるのを1000回
sample = np.random.choice(population, 50)
unbiased_variance = np.var(sample, ddof=1) # 不偏分散
sample_variance = np.var(sample, ddof=0) # 標本分散
unbiased_variances.append(unbiased_variance)
sample_variances.append(sample_variance)
np.mean(unbiased_variances)
1.0042536587305344np.mean(sample_variances)
0.9841685855559237
편파적이지 않고 분산된 느낌이 좋아 어머니가 분산된 것으로 추정된다=1.표본의 분산이 조금 작아진 것을 발견하였다.
실험2
전체 견본에서 5~1000의 사이즈 변화를 동시에 표본을 추출하여 1000번의 편차 분산과 표본 분산 조작을 하여 각자의 평균치를 구한다.마지막으로 견본 크기에 비해 견본 방차/불편차 방차의 평균값을 그립니다.sample_size_list = []
uv_mean_list = []
sv_mean_list = []
for sample_size in range(5, 1001, 5):
# サンプルサイズを5~1000まで5刻みで変化させる。
unbiased_variances = []
sample_variances = []
for _ in range(1000):
# 母集団から指定サンプルサイズの抽出を行い不偏分散と標本分散を求めるのを1000回
sample = np.random.choice(population, sample_size)
unbiased_variance = np.var(sample, ddof=1) # 不偏分散
sample_variance = np.var(sample, ddof=0) # 標本分散
unbiased_variances.append(unbiased_variance)
sample_variances.append(sample_variance)
# サンプルサイズ、そのサンプルサイズでの不偏分散の平均・標本分散の平均を追加
sample_size_list.append(sample_size)
uv_mean_list.append(np.mean(unbiased_variances))
sv_mean_list.append(np.mean(sample_variances))
df1 = pd.DataFrame({'sample_size': sample_size_list, 'mean_of_variance': uv_mean_list})
df1['variance_type'] = 'unbiased_variance'
df2 = pd.DataFrame({'sample_size': sample_size_list, 'mean_of_variance': sv_mean_list})
df2['variance_type'] = 'sample_variance'
df = pd.concat([df1, df2])
sns.lineplot(data=df, x='sample_size', y='mean_of_variance', hue='variance_type')
plt.show()
샘플의 사이즈가 작은 부분은 표본 분산이 모분산보다 상당히 작아지지만, 샘플의 사이즈가 커지면서 모분산=1과의 편차가 작아지는 상황을 확인할 수 있다.
최후
처음 봤을 때 표본 분산과 편차 분산의 차이는 직관적으로 바로 머릿속에 들어가지 않지만 가시화되면 그리 어렵지 않다.
Reference
이 문제에 관하여(표본 분산과 편차 분산에 대해 가시화를 시도하였다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MKX/items/05e2c151daba65a0f2df
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
표준 정적 분포의 크기에 따라 1000000의 전체 견본을 준비합니다.
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
np.random.seed(seed=42)
population = np.random.normal(0, 1, 1000000) # 母集団:平均0, 分散1, サイズ1000000
sns.histplot(population)
plt.title('Population Distribution')
plt.show()
실험1
전체 샘플에서 50개의 샘플을 추출하여 1000번의 편차 분산과 표본 분산 조작을 하고 각자의 평균치를 계산한다.
unbiased_variances = []
sample_variances = []
for _ in range(1000):
# 母集団から50件の抽出を行い不偏分散と標本分散を求めるのを1000回
sample = np.random.choice(population, 50)
unbiased_variance = np.var(sample, ddof=1) # 不偏分散
sample_variance = np.var(sample, ddof=0) # 標本分散
unbiased_variances.append(unbiased_variance)
sample_variances.append(sample_variance)
np.mean(unbiased_variances)
1.0042536587305344np.mean(sample_variances)
0.9841685855559237편파적이지 않고 분산된 느낌이 좋아 어머니가 분산된 것으로 추정된다=1.표본의 분산이 조금 작아진 것을 발견하였다.
실험2
전체 견본에서 5~1000의 사이즈 변화를 동시에 표본을 추출하여 1000번의 편차 분산과 표본 분산 조작을 하여 각자의 평균치를 구한다.마지막으로 견본 크기에 비해 견본 방차/불편차 방차의 평균값을 그립니다.
sample_size_list = []
uv_mean_list = []
sv_mean_list = []
for sample_size in range(5, 1001, 5):
# サンプルサイズを5~1000まで5刻みで変化させる。
unbiased_variances = []
sample_variances = []
for _ in range(1000):
# 母集団から指定サンプルサイズの抽出を行い不偏分散と標本分散を求めるのを1000回
sample = np.random.choice(population, sample_size)
unbiased_variance = np.var(sample, ddof=1) # 不偏分散
sample_variance = np.var(sample, ddof=0) # 標本分散
unbiased_variances.append(unbiased_variance)
sample_variances.append(sample_variance)
# サンプルサイズ、そのサンプルサイズでの不偏分散の平均・標本分散の平均を追加
sample_size_list.append(sample_size)
uv_mean_list.append(np.mean(unbiased_variances))
sv_mean_list.append(np.mean(sample_variances))
df1 = pd.DataFrame({'sample_size': sample_size_list, 'mean_of_variance': uv_mean_list})
df1['variance_type'] = 'unbiased_variance'
df2 = pd.DataFrame({'sample_size': sample_size_list, 'mean_of_variance': sv_mean_list})
df2['variance_type'] = 'sample_variance'
df = pd.concat([df1, df2])
sns.lineplot(data=df, x='sample_size', y='mean_of_variance', hue='variance_type')
plt.show()
샘플의 사이즈가 작은 부분은 표본 분산이 모분산보다 상당히 작아지지만, 샘플의 사이즈가 커지면서 모분산=1과의 편차가 작아지는 상황을 확인할 수 있다.
최후
처음 봤을 때 표본 분산과 편차 분산의 차이는 직관적으로 바로 머릿속에 들어가지 않지만 가시화되면 그리 어렵지 않다.
Reference
이 문제에 관하여(표본 분산과 편차 분산에 대해 가시화를 시도하였다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MKX/items/05e2c151daba65a0f2df
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(표본 분산과 편차 분산에 대해 가시화를 시도하였다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MKX/items/05e2c151daba65a0f2df텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)