53
CHAPTER 4. LOCALLY LINEAR SPATIAL MODELS
178
res3 = bgwr(y,x,east,north,ndraw,nomit,prior3);
prior4.ptype = 'distance';
prior4.rval = 4; prior4.dval = 1000;
res4 = bgwr(y,x,east,north,ndraw,nomit,prior4);
% compute posterior model probabilities
nmodels = 4;
pp = zeros(nobs,nmodels); lpost = zeros(nobs,nmodels);
lpost(:,1) = res1.logpost;
lpost(:,2) = res2.logpost;
lpost(:,3) = res3.logpost;
lpost(:,4) = res4.logpost;
psum = sum(lpost');
for j=1:nmodels
pp(:,j) = lpost(:,j)./psum';
end;
% compute posterior means for beta
bb = zeros(nobs,nvar*nmodels);
b1 = res1.bdraw(:,:,1); bb(:,1) = mean(b1)';
b2 = res1.bdraw(:,:,2); bb(:,2) = mean(b2)';
b3 = res1.bdraw(:,:,3); bb(:,3) = mean(b3)';
c1 = res2.bdraw(:,:,1); bb(:,4) = mean(c1)';
c2 = res2.bdraw(:,:,2); bb(:,5) = mean(c2)';
c3 = res2.bdraw(:,:,3); bb(:,6) = mean(c3)';
d1 = res3.bdraw(:,:,1); bb(:,7) = mean(d1)';
d2 = res3.bdraw(:,:,2); bb(:,8) = mean(d2)';
d3 = res3.bdraw(:,:,3); bb(:,9) = mean(d3)';
e1 = res4.bdraw(:,:,1); bb(:,10) = mean(e1)';
e2 = res4.bdraw(:,:,2); bb(:,11) = mean(e2)';
e3 = res4.bdraw(:,:,3); bb(:,12) = mean(e3)';
tt=1:nobs;
plot(tt,pp(:,1),'ok',tt,pp(:,2),'*k',tt,pp(:,3),'+k', tt,pp(:,4),'-');
legend('contiguity','concentric','distance','diffuse');
xlabel('observations'); ylabel('probabilities');
pause;
subplot(3,1,1),
plot(tt,bb(:,1),'-k',tt,bb(:,4),'--k',tt,bb(:,7),'-.',tt,bb(:,10),'+');
legend('contiguity','concentric','distance','diffuse');
xlabel('b1 parameter');
subplot(3,1,2),
plot(tt,bb(:,2),'-k',tt,bb(:,5),'--k',tt,bb(:,8),'-.',tt,bb(:,11),'+');
xlabel('b2 parameter');
subplot(3,1,3),
plot(tt,bb(:,3),'-k',tt,bb(:,6),'--k',tt,bb(:,9),'-.',tt,bb(:,12),'+');
xlabel('b3 parameter');
% produce a Bayesian model averaging set of estimates
bavg = zeros(nobs,nvar); cnt = 1;
for j=1:nmodels
bavg = bavg + matmul(pp(:,j),bb(:,cnt:cnt+nvar-1)); cnt = cnt+nvar;
end;
ttp = tt';
b1out = [ttp bavg(:,1) bb(:,1) bb(:,4) bb(:,7) bb(:,10)];