Home > spm_vbglmar_slice > spm_vb_lambda.m

spm_vb_lambda

PURPOSE ^

Variational Bayes for GLM-AR models - Update lambda

SYNOPSIS ^

function [slice] = spm_vb_lambda (Y,slice)

DESCRIPTION ^

 Variational Bayes for GLM-AR models - Update lambda
 FORMAT [slice] = spm_vb_lambda (Y,slice)

 Y             [T x N] time series 
 slice         data structure containing the following fields:

 %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_lambda (Y,slice)
0002 % Variational Bayes for GLM-AR models - Update lambda
0003 % FORMAT [slice] = spm_vb_lambda (Y,slice)
0004 %
0005 % Y             [T x N] time series
0006 % slice         data structure containing the following fields:
0007 %
0008 % %W% Will Penny and Nelson Trujillo-Barreto %E%
0009 
0010 if slice.verbose
0011     disp('Updating lambda');
0012 end
0013 
0014 for n=1:slice.N,
0015     if slice.p > 0
0016         % Equation 77 in paper VB1
0017         Gn = spm_vb_get_Gn (Y,slice,n);
0018     else
0019         block_n           = [(n-1)*slice.k+1:n*slice.k];
0020         en=(Y(:,n)-slice.X*slice.w_mean(block_n,1));
0021         Gn=trace(slice.w_cov{n}*slice.XTX)+en'*en;
0022     end
0023     % Equation 75 in paper VB1
0024     slice.b_lambda(n,1)    = 1./(Gn./2 + 1./slice.b_lambda_prior);
0025     slice.mean_lambda(n,1) = slice.c_lambda(n)*slice.b_lambda(n);
0026 end
0027

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