multiple linear regression, n-by-n vector of observed responses

Hi everyone,
I’m new to MATLAB and I need some help.
I have a sample data set containing retunes of companies as well as two predictors variables collected along 5years. Now I need to run a multiple linear regression for the returns of each company. I am using b=regress(Y,X) but it works only with a vector Y (nx1). Having a matrix Y (nxn) (N companies x N time), how can I do it? Do I need a b=regress(Y,X) for every single vector Y or does it exist another way? Thank you very much for your help

답변 (2개)

dpb
dpb 2014년 4월 9일
편집: dpb 2014년 4월 9일
The loop over columns is one way, yes, but you can also do it in "one swell foop" using the "\" backslash operator mldivide for matrix left-divide.
For a set of underdetermined equations, it solves the least squares problem with good internal numerics. Set up your model as in regress excepting write it on an element-by-element basis (meaning use the dot operators) and then write
b=X\Y;
and you'll get a set of coefficients for each column in Y as each column of b.
For example, if your model were just a first order polynomial,
X=[x ones(size(x))];
b=X\Y
Shashank Prasanna
Shashank Prasanna 2014년 4월 9일

0 개 추천

Floriano, it appears that you are trying to perform multivariate linear regression. There are several ways to specify this problem. You can use dpb's approach for X\y where X(nxm) y(nxd) for any n,m and d. However if you want full covariance matrix for y (not diagonal) you can use mvregress:

댓글 수: 5

Floriano has an objective function that returns a matrix output. To the best of my knowledge, the Statistics Toolbox fitting functions require a vector output. This is part of dpb and my frustrations with it.
From Floriano's question it appears that there is a vector valued response variable for each observation OR a matrix of response values (Ynxn) for matrix of observations (Xnxm). This can be defined as a Multivariate regression problem: http://www.mathworks.com/help/stats/mvregress.html
It is not entirely clear the type of problem Floriano is trying to solve. With more information we can make the better recommendations. If this is a repeated measures study (which it could be based on the description) Floriano may employ fitrm:
Or a more general mixed-model:
As dpb’s post demonstrates, Floriano may not have the fitlm, mvregress, or some of the other more recent functions. We don’t know.
Presuming, of course, one had the right toolbox at the time...

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Linear and Nonlinear Regression에 대해 자세히 알아보기

질문:

2014년 4월 9일

댓글:

dpb
2014년 4월 10일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by