MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# the use of Regress

Asked by chengxuan yu on 28 Jun 2013

Thanks in advance, any comments will be appreciate! [B,BINT,R,RINT,STATS] = regress(Y,X) Did the vector X 'must' contain an ones vector? And if it includes,what the dimension is it ?

## Products

No products are associated with this question.

Answer by Wayne King on 28 Jun 2013
Edited by Wayne King on 28 Jun 2013

Yes, you should include a vector of ones. The vectors of ones represents the constant term in the linear regression. In other words, it's the \beta_0 term below. The dimension is simply Nx1 where N is the number of observations.

Y = \beta_0+\beta_1*X+\beta_2*X+....

The F-statistic assumes there is a constant term in the model.

For example:

load carsmall
% fit a first order linear model of Weight as a function of Horsepower
X = ones(length(Weight),2);
X(:,2) = Horsepower;
Y = Weight;
[b,bint,r,rint,stats] = regress(Y,X);
plot(Horsepower,Weight,'*');
xval = min(Horsepower):0.01:max(Horsepower);
yhat = b(1)+b(2)*xval;
hold on;
plot(xval,yhat,'r')