Home > spm_vbglmar_slice > spm_vb_alpha.m

spm_vb_alpha

PURPOSE ^

Variational Bayes for GLM-AR models - Update alpha

SYNOPSIS ^

function [slice] = spm_vb_alpha (Y,slice)

DESCRIPTION ^

 Variational Bayes for GLM-AR models - Update alpha 
 FORMAT [slice] = spm_vb_alpha (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_alpha (Y,slice)
0002 % Variational Bayes for GLM-AR models - Update alpha
0003 % FORMAT [slice] = spm_vb_alpha (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 alpha');
0012 end
0013 
0014 N=slice.N;
0015 k=slice.k;
0016   
0017 % Convert from Sigma_n to Sigma_k
0018 for n=1:N,
0019     for j = 1:k,
0020         w_cov_k(n,j) = slice.w_cov{n}(j,j);
0021     end
0022 end
0023     
0024 for j = 1:k,
0025     block_k = j:k:N*k;
0026     H  = sum(spdiags(slice.D,0).*w_cov_k(:,j)) + slice.w_mean(block_k)'*slice.D*slice.w_mean(block_k);
0027     % Equation 15 in paper VB4
0028     slice.b_alpha(j)    = 1./(H./2 + 1./slice.b_alpha_prior);
0029     slice.mean_alpha(j) = slice.c_alpha(j)*slice.b_alpha(j);
0030 end
0031          
0032

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