- %Loop to do Monte Carlo and Importance sampling
- %R is number of replications
- R=10;
- %Mean, scale and degrees of freedom for t importance function
- ismean=3;
- isscale=1;
- isdof=2;
- %Start all MC and Importance sampling sums at zero
- thmeanmc=0;
- th2momc=0;
- thmeanis=0;
- th2mois=0;
- wsum=0;
- wsum2=0;
- for irep=1:R
- %Monte Carlo draw
- thetdraw=randn;
- thmeanmc=thmeanmc+thetdraw;
- th2momc=th2momc + thetdraw^2;
- %Importance sampling draw. Note: tdis_rnd draws from Student-t
- thdrawis=ismean + sqrt(isscale)*tdis_rnd(1,isdof);
-
- %Importance sampling weight. Note: tdens evaluates the t density at a point
- w = norm_pdf(thdrawis,0,1)/tdens(thdrawis,ismean,isscale,isdof);
- thmeanis=thmeanis+w*thdrawis;
- th2mois=th2mois + w*thdrawis^2;
- wsum=wsum+w;
- wsum2=wsum2+w^2;
- end
-
- thmeanmc=thmeanmc/R;
- th2momc=th2momc/R;
- thsdmc=sqrt(th2momc - thmeanmc^2);
- 'Monte Carlo Posterior Mean and Standard Deviation'
- [thmeanmc thsdmc]
- thmeanis=thmeanis/wsum;
- th2mois=th2mois/wsum;
- thsdis=sqrt(th2mois - thmeanis^2);
- 'Importance Sampling Posterior Mean and Standard Deviation'
- [thmeanis thsdis]
- 'Mean and standard deviation of importance sampling weights'
- wmean=wsum/R;
- wstd=sqrt(wsum2/R - wmean^2);
- [wmean wstd]




雷达卡





京公网安备 11010802022788号







