Confidence intervals around trend

22 views (last 30 days)
Peter on 30 Jul 2013
Answered: star on 23 Oct 2014
I am trying to compute confidence intervals around a trend line, such as that seen in the website below:
I am not confident that using polyconf with ployfit is the right way to go. Can anyone suggest how I might achieve this? Many thanks

Wayne King on 30 Jul 2013
Edited: Wayne King on 30 Jul 2013
Do you have the Statistics Toolbox?
One way:
X = ones(length(Horsepower),2);
X(:,2) = Horsepower;
Y = Acceleration;
[b,bint] = regress(Y,X);
x = min(Horsepower):0.01:max(Horsepower);
yfit = b(1)+b(2)*x;
plot(Horsepower,Y,'k*')
hold on;
ylower = bint(1,1)+ bint(2,1)*x;
yupper = bint(1,2)+bint(2,2)*x;
plot(x,yfit,'r','linewidth',2)
plot(x,ylower,'b-.')
plot(x,yupper,'b-.')
Another way using LinearModel.fit
mdl = LinearModel.fit(Horsepower,Y);
ci = coefCI(mdl);
Note that ci is the same matrix as bint. The nice thing about LinearModel.fit is that there is a plot() method that will give you the plot with the confidence intervals
plot(mdl)

Shashank Prasanna on 30 Jul 2013
You can use polyconf
Alternatively you can fit your model using LinearModel.fit and use predict to collect the second argument which is the prediction confidence interval.
Set the 'Prediction' to 'Curve' to predict confidence bounds for the fitted mean (trend) values.

star on 23 Oct 2014
I should say that before trying to compute the confidence interval, it is better if you try to figure out where does it come from? Then, you can calculate through any software. Software are just languages.