2012/10/17

PDL, PDL::Stats 예제 t분포

t-분포정규분포와 유사한 확률분포이며, 모집단의 표준편차를 알지 못하며(표본의 표준편차로 모집단의 표준편차를 대용) 표본의 크기가 작을 때(n<30) 주로 이용한다. 자유도(n-1)가 낮을수록 봉이 낮아지고 꼬리가 높아지며 자유도가 높을수록 정규분포에 가까워진다.

#!/usr/bin/env perl
use 5.010;
use PDL;
use PDL::Stats;
use PDL::GSL::CDF;
use PDL::Graphics::PGPLOT::Window;
use Math::GSL::Randist qw/gsl_ran_tdist_pdf/;

# t 분포
my $win = pgwin();
my $x = zeroes(100)->xlinvals(-4, 4);
$win->env(-4,4,0,1,{Title=>'t distribution'});
$win->hold();
#CDF
$win->line($x, gsl_cdf_tdist_P($x, 29),{COLOR=>'RED'});
$win->line($x, gsl_cdf_tdist_P($x, 4),{COLOR=>'MAGENTA'});
#PDF
$win->line($x, [ map { gsl_ran_tdist_pdf($_, 29) } $x->list ],{COLOR=>'BLUE'});
$win->line($x, [ map { gsl_ran_tdist_pdf($_, 4) } $x->list ],{COLOR=>'CYAN'});

# t분포 자유도10, 우측꼬리확률 0.05일때 t확률변수 값은?
say gsl_cdf_tdist_Pinv(1-0.05, 10);
# t분포 자유도10, 양측꼬리확률 0.05일때 t확률변수 값은?
say gsl_cdf_tdist_Pinv(pdl(0.05/2, 1-0.05/2), 10);


1.81246112281168
[-2.2281389  2.2281389]

자유도29(표본수 30), 자유도4(표본수 5)에 대해서 PDF그래프를 보면 자유도가 낮을수록 펑퍼짐하며 높을수록 봉이 높아지며  정규분포에 가까워짐을 볼 수 있다. 분포가 펑퍼짐하다는 것은 표본수가 작을 수록 불확실성이 크기때문에 양쪽으로 치우칠 확률이 더 높다는 것을 의미한다.

댓글 없음:

댓글 쓰기