# "mvregress" does not do Multivariate Linear Regression?

28 views (last 30 days)
Matthew on 16 Mar 2013
Commented: Ricardo Arévalo on 18 Oct 2016
The documentation for function "mvregress" states that the return value "beta" is a vector of the regression coefficients. Looking deeper into "Multivariate Normal Regression", we see that matlab uses the same regression coefficients ("beta") for every dimension of the multivariate response variable Y
This is ludicrous. Of course each component of the response variable can have its own set of coefficients. THAT is multivariate linear regression.
Am I missing something? Is this just an inherent shortcoming in matlab's "mvregress" function? If so, what a bizarre design choice...
Is there some way to get real multivariate linear regression, i.e. get a matrix beta of regression coefficients?
##### 2 CommentsShowHide 1 older comment
Ricardo Arévalo on 18 Oct 2016
If you use regress, remember to add a column of ones to indicate that there is a constant in your regression model.
I leave an example:
%Let lon, lat and alt be the independant variables of a model.
lon=[61;63;64;68;71;73;75];
lat=[139;140;129;128;140;141;128];
alt=[325;300;400;250;210;160;175];
%Let pre be the dependant variable of the model.
pre=[477;696;227;646;606;791;789];
%Adding a column of ones to get the constant.
predictors=[ones(size(lon)),lon,lat,alt];
%This will create a regression model of type:
% Pre=a0+(a1*lon)+(a2*lat)+(a3*alt), it also gives stats and residuals
[b,bint,r,rint,stats] = regress(pre,predictors);

the cyclist on 16 Mar 2013
Edited: the cyclist on 16 Mar 2013
You are missing something. See my answer in this thread for several examples of using design matrices with mvregress():
There are also examples from MathWorks here: http://www.mathworks.com/help/stats/mvregress.html
the cyclist on 23 Jan 2016
@Anoosh:
Although this is a perfectly sensible place to ask this question, you won't actually get much attention from a comment buried in a 3-year-old thread.
I suggest you ask a new question. If you can actually attach files with your data and code, that will help people diagnose your issue.