12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- function lfband(fit,varargin)
- % adds confidence bands around the plot of a locfit() fit.
- %
- % for 2-d fits, produces separate surface plots of upper and
- % lower confidence limits.
- %
- % Bands are based on 95% pointwise coverage, using a single
- % (i.e. global) estimate of sigma^2.
- xfit = lfmarg(fit);
- % placing 'band','g' before varargin{:} ensures that
- % user-provided 'band' has precedence.
- ypp = predict(fit,xfit,'band','g',varargin{:});
- yfit = ypp{1};
- se = ypp{2};
- bands = ypp{3};
- data = fit.data;
- xdata = data.x;
- p = size(xdata,2);
- cv = 1.96;
- fali = fit.fit_points.family_link;
- cl = invlink(bands(:,1),fali);
- cu = invlink(bands(:,2),fali);
- if (p==1)
- hold on;
- plot(xfit{1},cu,':');
- plot(xfit{1},cl,':');
- hold off;
- end;
- if (p==2)
- x1 = xfit{1};
- x2 = xfit{2};
- figure(1);
- surf(x1,x2,reshape(cl,length(x1),length(x2))');
- figure(2);
- surf(x1,x2,reshape(cu,length(x1),length(x2))');
- end;
- return;
|