HAC confidence interval for the response

4 views (last 30 days)
Tamas Bodai
Tamas Bodai on 23 Apr 2021
Edited: Tamas Bodai on 13 May 2021
Hello. One can use Matlab's predict to get estimates of the response or dependent variable and its confidence interval for a desired value of the predictor or independent variable. Can we do somehow the same upon using hac? I'm interested in the default value of the option 'Prediction' being 'curve'.

Answers (1)

Tamas Bodai
Tamas Bodai on 26 Apr 2021
Maybe the following works. I don't accept this answer because i'm not sure if we can use mdl.DFE.
% Define your own data vectors 'y', 't' first, and then make a table
tbl = table(y,t);
% Fit the linear model to have mdl.DFE
mdl = fitlm(tbl,'y ~ t');
% Consider the response in the middle of the interval
%[ypred,yci] = predict(mdl,t(T/2)); % instead of this, do as follows
[EstCov, se, coeff] = hac(t,y);
[ypred,yci] = mypredict(t(T/2),coeff,EstCov,mdl.DFE,0.05);
% This is a stripped down version of function 'predci' called in function
% 'predictDesign' in CompactLinearModel.m.
function [ypred,yCI] = mypredict(X,beta,Sigma,dfe,alpha)
X = [1 X];
% Compute the predicted values at the new X.
ypred = X * beta;
% confi interval for fitted curve
varpred = sum((X*Sigma) .* X,2);
% pointwise
crit = tinv(1-alpha/2,dfe);
delta = sqrt(varpred) * crit;
yCI = [ypred-delta ypred+delta];
end
  1 Comment
Tamas Bodai
Tamas Bodai on 13 May 2021
Edited: Tamas Bodai on 13 May 2021
I have found an answer here:
https://www.mathworks.com/help/econ/correct-ols-coefficient-covariance-estimate.html
From the function nlpredci, you can read out the degree of freedom of the t-distribution applied. Mind, however, that for small sample size, it is not a t-distribution, it appears to me, or, the approximate t-distribution is of a different degree of freedom.

Sign in to comment.

Categories

Find more on Multivariate Models 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!