棄却サンプリングで得たサンプルの処理プログラム
#include<oxstd.h>
#include <oxdraw.h>
//
main(){
decl ci,file,mean,n_acf,nobs,q,stdv,x;
// nobs: Number of Samples,
// ci: Quantiles for Credible Intervals
// n_acf: # of points for ACF plot
nobs=1000;ci=<0.025,0.975>;n_acf=50;
// Read file
file = fopen("gamma.dat");fscan(file,"%#m",nobs,1,&x);
fclose(file);
mean=meanc(x);stdv=varc(x).^0.5; q=quantilec(x,ci);
println("%r",{"Gamma"},
"%c",{"Mean","Stdev","95%L","95%U"},
mean'~stdv'~q');
// ACF
SetDrawWindow("draw1");
DrawCorrelogram(0,x',"ACF",n_acf);
SaveDrawWindow("acf.ps");
CloseDrawWindow();
// Sample Path
SetDrawWindow("draw1");
x=x';
DrawTMatrix(0,x[0][0:nobs-1],{"Gamma"},1,1,1);
SaveDrawWindow("path.ps");
CloseDrawWindow();
}
このプログラムの出力
Mean Stdev 95%L 95%U Gamma 1.9913 1.4427 0.23872 5.6726