Home > brede > brede_mat_nlsb_est.m

brede_mat_nlsb_est

PURPOSE ^

brede_mat_nlsb_est - Non-negative least squares estimation

SYNOPSIS ^

function B = brede_mat_nlsb_est(X, Y, varargin)

DESCRIPTION ^

 brede_mat_nlsb_est    - Non-negative least squares estimation

       B = brede_mat_nlsb_est(X, Y, 'PropertyName', 'PropertyValue') )

       Input:    X     Independent variable as 'mat' structure or matrix 
                 Y     Dependent variable as 'mat' structure or matrix

       Property: Components  [ an integet ] Dimension of the bottleneck
                 Binit Starting guess for B regression parameters
                 Info  [ {0} | An integer ] Amount of debug information 

       Output:   B     Estimated parameters in 'mat' structure

       Non-negative least squares estimation with a bottleneck. The
       model is: 

         Y = X*B + U

       where U is Gaussian distributed and B is estimated to be
       non-negative and with a bottleneck (rank) of dimension controlled
       by the 'components'.

       Presently an estimation with iterations similar to non-negative
       matrix factorizations is implemented.

       The default of the number of dimension of the bottleneck
       ('components') is set to the squareroot of half of the minimum
       dimension of X and Y. The following form is used:

       components = ceil(sqrt(min([size(X.matrix) size(Y.matrix)])/2));  

       Example:
         % A small Rasmus Bro data example.
         X = [ 73 71 52 ; 87 74 46 ; 72 2 7 ; 80 89 71 ];
         y = [ 49 67 68 20 ]';
         Bols = brede_mat_glm_est(X,y); Bols.matrix
         Bnls = brede_mat_nlsb_est(X,y); Bnls.matrix

       See also BREDE, BREDE_MAT, BREDE_MAT_GLM_EST, BREDE_MAT_NLS_EST,
                BREDE_MAT_NMF.

 $Id: brede_mat_nlsb_est.m,v 1.2 2008/06/05 18:17:51 fn Exp $

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Fri 27-Nov-2009 18:11:22 by m2html © 2005