"mvregress" does not do Multivariate Linear Regression?
Show older comments
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 Comments
Ricardo Arévalo
on 18 Oct 2016
try regress function
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);
Accepted Answer
More Answers (0)
Categories
Find more on Linear Predictive Coding in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!