Home > spm_vbglmar_slice > spm_vb_beta.m

spm_vb_beta

PURPOSE ^

Variational Bayes for GLM-AR modelling in a slice - Update beta

SYNOPSIS ^

function [slice] = spm_vb_beta (Y,slice)

DESCRIPTION ^

 Variational Bayes for GLM-AR modelling in a slice - Update beta 
 FORMAT [slice] = spm_vb_beta (Y,slice)

 Y             [T x N] time series 
 slice         data structure 

 %W% Will Penny and Nelson Trujillo-Barreto %E%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [slice] = spm_vb_beta (Y,slice)
0002 % Variational Bayes for GLM-AR modelling in a slice - Update beta
0003 % FORMAT [slice] = spm_vb_beta (Y,slice)
0004 %
0005 % Y             [T x N] time series
0006 % slice         data structure
0007 %
0008 % %W% Will Penny and Nelson Trujillo-Barreto %E%
0009 
0010 if slice.verbose
0011     disp('Updating beta');
0012 end
0013 
0014 N=slice.N;
0015 p=slice.p;
0016   
0017 % Convert from V_n to V_p
0018 for n=1:N,
0019     for j = 1:p,
0020         a_cov_p(n,j) = slice.a_cov{n}(j,j);
0021     end
0022 end
0023     
0024 for j = 1:p,
0025     block_p = j:p:N*p;
0026     H  = sum(spdiags(slice.D,0).*a_cov_p(:,j)) + slice.a_mean(block_p)'*slice.D*slice.a_mean(block_p);
0027     % Equation 16 in paper VB4
0028     slice.b_beta(j)    = 1./(H./2 + 1./slice.b_beta_prior);
0029     slice.mean_beta(j) = slice.c_beta(j)*slice.b_beta(j);
0030 end
0031          
0032

Generated on Mon 23-Aug-2004 14:59:38 by m2html © 2003