Chapter 4: normal with known variance and sampling

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% Gaussian Prior Predictive (F4.3) %%%

Xpri=nrand(10,3,[2 1]);

Nx=300; Nm=200;

Mlist=linspace(-25,25,Nm); Slist=3; xlist=linspace(-15,25,Nx);

%%% F4.6a %%%

xnow=ones(Nm,1)*xlist; Mnow=Mlist'*ones(1,Nx);

Lnow=-.5*(Mnow-xnow).^2/Slist^2; Lnow(isnan(Lnow))=0; Lnow=Lnow-max(Lnow); %nan generated when p=1

figure(5); clf; mesh(xlist,Mlist,exp(Lnow)); view(-61,48.5);

xlabel('x (data)','FontName','Arial','FontSize',13);

ylabel('\mu (parameter)','FontName','Arial','FontSize',13);

zlabel('p','FontName','Arial','FontSize',13);

%%% F4.6b %%%

pri=zeros(size(Mlist));

for n=1:length(Xpri), pri=pri+log(npdf(Xpri(n),Mlist,Slist)); end

pri=pri-logsum(pri,diff(Mlist(1:2)));

figure(6); clf; plot(Mlist,exp(pri),'ko','MarkerFaceColor','k','MarkerSize',8); r=axis; axis([r(1:2) 0 1.05*max(exp(pri))]); box off

xlabel('\mu (parameter)','FontName','Arial','FontSize',13);

ylabel('p','FontName','Arial','FontSize',13);

%%% F4.6c %%%

Pri=nan(Nm,Nx);

for n=1:length(xlist), Pri(:,n)=pri'; end

Lnow=logsum(Lnow+Pri,1,diff(Mlist(1:2))); Lnow=Lnow-logsum(Lnow);

figure(7); clf; plot(xlist(1,:),exp(Lnow),'ko','MarkerFaceColor','k','MarkerSize',8);

box off; axis([min(min(xlist))-.5 max(max(xlist))+.5 0 1.04*max(exp(Lnow))]);

ylabel('p','FontName','Arial','FontSize',13);

xlabel('x (data)','FontName','Arial','FontSize',13);

%%% F4.6d %%%

N=101;

cumpdrawn=rand(N,1);

cumpevald=cumsum(exp(Lnow));

cumind=nan(N,1);

for nbr=1:N, cumind(nbr)=findnearestN(cumpevald,cumpdrawn(nbr),1); end

Gdraw=xlist(cumind);

figure(8); clf; hold on

[N X]=hist(Gdraw,21);

bar(X,N,'FaceColor',.25*[1 1 1])

box off; axis([min(xlist) max(xlist) 0 1.05*max(N)])

xlabel('x (location)','FontName','Arial','FontSize',13)