Simple econometric regression

16 visualizaciones (últimos 30 días)
Marcin Kuc
Marcin Kuc el 1 de Ag. de 2011
Hi,
I would like to perform a simple econometric regression using Matlab, but I have been struggling to do it for a few days now. Quite simply, I have a set of data for both X and Y. I would like to perform a regression of the following form: Y= BetaZero + Beta*X + ErrorTerm. Could anyone please tell me what is the right function to do so? I've been trying to accomplish that by using regress(), but I realised that it does not return the value of the constant term (aka Beta zero or alpha). Thank you very much for your help.

Respuesta aceptada

Oleg Komarov
Oleg Komarov el 1 de Ag. de 2011
Use regstats then with the same inputs:
regstats(y,x,'linear')
  3 comentarios
Oleg Komarov
Oleg Komarov el 2 de Ag. de 2011
It uses qr decomposition but it's pretty much the same.
Shashank Prasanna
Shashank Prasanna el 12 de En. de 2013
If you open up regstats or regress in MATLAB using the edit command you will see that it does the same as what you describe with \ operator. An alternative and recommended approach is the new LinearModel.fit(X,y) which will give you the result and the fit statistics. Make sure you are using MATLAB R2012a and above

Iniciar sesión para comentar.

Más respuestas (2)

Fangjun Jiang
Fangjun Jiang el 1 de Ag. de 2011
You have the right function. Just try it with three return variables.
[B,BINT,R] = REGRESS(Y,X) returns a vector R of residuals.
Read the full text of help regress
  3 comentarios
Oleg Komarov
Oleg Komarov el 1 de Ag. de 2011
You have to add a column of ones for the constant. As already suggested read the documentation.
Marcin Kuc
Marcin Kuc el 1 de Ag. de 2011
I tried to understand it, but it appears to be far too complicated for typical Eviews users. I will definitely dive into it after I finish my current project.
However, I would be very grateful if you could tell me exact way of getting the constant. Thank you in advance.

Iniciar sesión para comentar.


Fangjun Jiang
Fangjun Jiang el 2 de Ag. de 2011
To use regress();
x=(1:100)';
y=10+2*x+rand(100,1);
[B,BINT,ErrorTerm]=regress(y,[ones(size(x)),x]);
BetaZero=B(1)
Beta=B(2)
BetaZero =
10.6381
Beta =
1.9976

Categorías

Más información sobre Econometrics Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by