Linear Regression - hac function

12 次查看(过去 30 天)
Hello,
I am relatively new to MATLAB so please excuse this odd question. I was doing a linear regression using the fitlm function, however, I had problems with heteroscedasticity. I then found the hac function.
Is there a way to also get the R-squared for this function. So I basically only use this function instead? my Y variable is Excess Return and my x variables are the three Fama French Factors.
Thank you very much for your advice!
  5 个评论
Karoline Bax
Karoline Bax 2018-8-5
编辑:dpb 2018-8-5
Hello, thank you for your replies. The function I am referring to is for Heteroscedasticity and autocorrelation consistent covariance estimators ( https://de.mathworks.com/help/econ/hac.html ). As it gives me all the pvalues, coefficience and tStatistics I was wondering if there is a way for me to get the Rsquared too? Instead of running a fitml ( https://de.mathworks.com/help/stats/fitlm.html ) for the Squared. Thank you for your advice!
dpb
dpb 2018-8-5
Rsq = 1- SSe/SSt; no need to run fitlm (which would estimate a different model, anyway).

请先登录,再进行评论。

回答(1 个)

Vishal Chaudhary
Vishal Chaudhary 2018-8-14
You can also use fitlm function with hac.
DataTable = array2table([X,y],'VariableNames',{'X1','X2','X3','Y'});
OLSModel = fitlm(DataTable);
[EstCov,se,coeff]=hac(OLSModel,'display','full');
Or, you can calculate r-squared as follows only using hac:
[EstCov,se,coeff] = hac(DataTable,'display','full');
ypred2 = [ones(size(X,1),1) X] * coeff;
sse = var(y-ypred2);
sst = var(y);
rsq = 1-(sse/sst);

类别

Help CenterFile Exchange 中查找有关 Model Building and Assessment 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by