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)