표본 평균의 분산이 모 분산/표본 크기가 되는 것을 수치 실험으로 확인한다

5792 단어 C++통계학

배경



표본 평균의 기대치가 모 평균이 되는 것을 수치 실험으로 확인한다의 속편입니다.

이번은 표본 분산 $s^2$가 $\sigma^2/n$가 되는 것을 수치 실험으로 확인합니다($\sigma^2$:모 분산, $n$:표본 사이즈).

수치 실험



확률 분포 함수는 1차원의 균일 분포[-1,+1)로 합니다. 샘플 사이즈 n을 파라미터로 하고, 1000회 추출을 반복하여, 샘플 평균의 분산값을 계산하였다.
#include <iostream>
#include <random>

int main(int argc, char **argv)
{
        std::mt19937 mt(0);
        double a = -1, b = 1;
        std::uniform_real_distribution<double> r(a, b);

        int num_of_sample = atoi(argv[1]);//標本サイズ
        int Iter = 1000;//試行回数

        double mean = 0;
        double var = 0;
        for (int iter = 0; iter < Iter; iter++)
        {
                double avr = 0;//標本平均
                for (int n = 0; n < num_of_sample; n++)
                {
                        double val = r(mt);
                        avr += val / (double)num_of_sample;
                }
                mean += avr / (double)(Iter + 1);
                var += avr * avr / (double)(Iter + 1);
        }
        var -= mean * mean;
        std::cout <<  num_of_sample << " " << var << std::endl;

        return 0;
}


실선이 $\sigma^2/n$입니다. 거의 이론 곡선을 탔다.

요약



표본 평균의 분산이 모분산/표본 사이즈가 되는 것을 수치 실험으로 확인할 수 있었습니다. 다음에는 표본 분산의 기대치를 생각하고 싶습니다.
다음 번 : 표본 분산의 기대치가 모분산×(표본 사이즈-1)/표본 사이즈가 되는 것을 수치 실험으로 확인한다

좋은 웹페이지 즐겨찾기