Merging Bayes results from coarse and detailed calculations

>> load info_posreal_zonapeque
infoarchivos_zonapeque=infoarchivos;
prob_zonapeque=infoarchivos2prob(infoarchivos_zonapeque,1:3);
load info_posreal_bingrueso
infoarchivos_bingrueso=infoarchivos;
prob_bingrueso=infoarchivos2prob(infoarchivos_bingrueso,1:3);
>> imagesc(log10(infoarchivos_bingrueso.beta),log10(infoarchivos_bingrueso.alfa),log10(squeeze(sum(prob_bingrueso)))); set(gca,’YDir’,’normal’)
>> hold on
>> imagesc(log10(infoarchivos_bingrueso.beta),log10(infoarchivos_bingrueso.alfa),log10(squeeze(sum(prob_bingrueso)))); set(gca,’YDir’,’normal’)
>> imagesc(log10(infoarchivos_zonapeque.beta),log10(infoarchivos_zonapeque.alfa),log10(squeeze(sum(prob_zonapeque)))); set(gca,’YDir’,’normal’)
figure
>> plot(infoarchivos_bingrueso.pot,log10(sum(sum(prob_bingrueso,2),3)))
>> hold on
>> plot(infoarchivos_zonapeque.pot,log10(sum(sum(prob_zonapeque,2),3)),’r’)

 

Interpolate the bingrueso results in a tighter binning:

>> logalfa_merge=log10(infoarchivos_bingrueso.alfa(1)):diff(log10(infoarchivos_zonapeque.alfa(1:2))):log10(infoarchivos_bingrueso.alfa(end));
>> logbeta_merge=log10(infoarchivos_bingrueso.beta(1)):diff(log10(infoarchivos_zonapeque.beta(1:2))):log10(infoarchivos_bingrueso.beta(end));
>> pot_merge=infoarchivos_bingrueso.pot(1):diff(infoarchivos_zonapeque.pot(1:2)):infoarchivos_bingrueso.pot(end);
>> [x,y,z]=meshgrid(log10(infoarchivos_bingrueso.alfa),infoarchivos_bingrueso.pot,log10(infoarchivos_bingrueso.beta));
>> [xi,yi,zi]=meshgrid(logalfa_merge,pot_merge,logbeta_merge);
>> prob_bingrueso_interp=interp3(x,y,z,prob_bingrueso,xi,yi,zi,’linear’);
>> plot(pot_merge,log10(sum(sum(prob_bingrueso_interp,2),3)),’g’)
>> figure
>> imagesc(logbeta_merge,logalfa_merge,log10(squeeze(sum(prob_bingrueso_interp)))); set(gca,’YDir’,’normal’)

Not very nice… But everything is working OK. What happens is that interpolation is working in the linear scale, and we are showing logarithms.

Re-normailzation: I assign to the zonapeque dataset the probability that the bingrueso dataset assigns to the same region.

The whole process:

% Generate common bins
logalfa_merge=log10(infoarchivos_bingrueso.alfa(1)):diff(log10(infoarchivos_zonapeque.alfa(1:2))):log10(infoarchivos_bingrueso.alfa(end));
logbeta_merge=log10(infoarchivos_bingrueso.beta(1))+.1:diff(log10(infoarchivos_zonapeque.beta(1:2))):log10(infoarchivos_bingrueso.beta(end));
pot_merge=infoarchivos_bingrueso.pot(1):diff(infoarchivos_zonapeque.pot(1:2)):infoarchivos_bingrueso.pot(end);
logalfa_merge=round(logalfa_merge*10^10)/10^10; % Prevent numerical errors of the order 10^-15
logbeta_merge=round(logbeta_merge*10^10)/10^10;
pot_merge=round(pot_merge*10^10)/10^10;
% Find places where zonapeque dataset inserts in bingrueso dataset
insercion_alfa=find(logalfa_merge==log10(infoarchivos_zonapeque.alfa(1))):find(logalfa_merge==log10(infoarchivos_zonapeque.alfa(end)));
insercion_beta=find(logbeta_merge==log10(infoarchivos_zonapeque.beta(1))):find(logbeta_merge==log10(infoarchivos_zonapeque.beta(end)));
insercion_pot=find(pot_merge==infoarchivos_zonapeque.pot(1)):find(pot_merge==infoarchivos_zonapeque.pot(end));
% Interpolate bingrueso dataset
[x,y,z]=meshgrid(log10(infoarchivos_bingrueso.alfa),infoarchivos_bingrueso.pot,log10(infoarchivos_bingrueso.beta));
[xi,yi,zi]=meshgrid(logalfa_merge,pot_merge,logbeta_merge);
prob_merge=interp3(x,y,z,prob_bingrueso,xi,yi,zi,’linear’);
% Renormalize both datasets
prob_merge=prob_merge/sum(prob_merge(:));
prob_zonapeque=prob_zonapeque/sum(prob_zonapeque(:)) * sum(sum(sum(prob_merge(insercion_pot,insercion_alfa,insercion_beta))));
prob_merge(insercion_pot,insercion_alfa,insercion_beta)=prob_zonapeque;
>> figure
>> imagesc(logbeta_merge,logalfa_merge,log10(squeeze(sum(prob_merge)))); set(gca,’YDir’,’normal’)
plot(pot_merge,log10(sum(sum(prob_merge,2),3)),’m.-‘)

Results are not very nice, because probabilities are actually different. This is because in the regions of low probability, it matters whether we take into account exponent 3 or not.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: