Regression - confidence intervals
Scripts example - Regression - create table with confidence intervals
This script calculates the confidence interval for a range of values, based on linear regression analysis. The results are presented in a formatted table.
// regional settings $decimalsymbol="."; $listseparator=","; // cls; clear data; <data> Timepoint Result 0 0.11 3 0.17 6 0.31 9 0.4 12 0.5 18 1.03 24 1.06 </data> varx =TimePoint; vary =Result; slope =VSLOPE(varx,vary); intercept =VINTERCEPT(varx,vary); n =VCOUNT(varx,ISNUMBER(vary)); meanX =VAVERAGE(varx); devsqX =VDEVSQ(varx); steyx =VSTEYX(vary,varx); alpha =0.05; t =TINV(alpha,n-2); table(tab); AppendRow(tab,"x","y","CI Low","CI High"); x=0; while (x<=24) { y=intercept+x*slope; s=steyx*sqrt(1/n+(x-meanX)^2/devsqX); lo=y-t*s; hi=y+t*s; AppendRow(tab,x,y,lo,hi); x=x+2; } FormatTable(tab,"3"); FormatTableColumn(tab,1,"0"); FormatTableRow(tab,1,"shaded bold 0"); ?tab;
Output
x | y | CI Low | CI High |
0 | 0.053 | -0.105 | 0.212 |
2 | 0.142 | 0.003 | 0.282 |
4 | 0.231 | 0.108 | 0.354 |
6 | 0.321 | 0.211 | 0.430 |
8 | 0.410 | 0.310 | 0.510 |
10 | 0.499 | 0.403 | 0.595 |
12 | 0.588 | 0.490 | 0.686 |
14 | 0.677 | 0.571 | 0.783 |
16 | 0.766 | 0.647 | 0.885 |
18 | 0.855 | 0.720 | 0.990 |
20 | 0.944 | 0.791 | 1.097 |
22 | 1.033 | 0.861 | 1.206 |
24 | 1.122 | 0.929 | 1.316 |