Mercurial > repos > vipints > rdiff
comparison rDiff/src/locfit/m/predict.m @ 0:0f80a5141704
version 0.3 uploaded
| author | vipints |
|---|---|
| date | Thu, 14 Feb 2013 23:38:36 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:0f80a5141704 |
|---|---|
| 1 function [y, se] = predict(varargin) | |
| 2 | |
| 3 % Interpolate a fit produced by locfit(). | |
| 4 % | |
| 5 % predict(fit) produces the fitted values at locfit's selected points. | |
| 6 % predict(fit,x) interpolates the fits to points specified by x. | |
| 7 % | |
| 8 % Input arguments: | |
| 9 % fit The locfit() fit. | |
| 10 % x Points to interpolate at. May be a matrix with d columns, | |
| 11 % or cell with d components (each a vector). In the former | |
| 12 % case, a fitted value is computed for each row of x. | |
| 13 % In the latter, the components of x are interpreted as | |
| 14 % grid margins. | |
| 15 % Can also specify 'data' (evaluate at data points); | |
| 16 % or 'fitp' (extract the fitted points). | |
| 17 % 'band',value | |
| 18 % Type of standard errors to compute. Default is 'band','n', for none. | |
| 19 % Other choices are 'band','g' (use a global s to estimate the resiudal | |
| 20 % standard deviation, so standard errors are s*||l(x)||); | |
| 21 % 'band','l' (use a local s(x), so std. errors are s(x)*||l(x)||); | |
| 22 % 'band','p' (prediction errors, so s*sqrt(1+||l(x)||^2). | |
| 23 % 'direct' | |
| 24 % Compute the local fit directly (rather than using local | |
| 25 % regression, at each point specified by the x argument. | |
| 26 % 'kappa',vector | |
| 27 % Vector of constants for simultaneous confidence bands, | |
| 28 % computed by the kappa0() function. | |
| 29 % 'level',value | |
| 30 % Coverage probability for confidence intervals and bands. | |
| 31 % Default is 0.95. | |
| 32 % | |
| 33 % Output is a vector of fitted values (if 'band','n'), or a cell | |
| 34 % with fitted value, standard error vectors, and matrix of lower | |
| 35 % and upper confidence limits. | |
| 36 % | |
| 37 % Note that for local likelihood fits, back-transformation is | |
| 38 % not performed, so that (e.g.) for Poisson regression with the | |
| 39 % log-link, the output estimates the log-mean, and its standard errors. | |
| 40 % Likewise, for density estimation, the output is log(density). | |
| 41 % | |
| 42 % Author: Catherine Loader. | |
| 43 | |
| 44 if (nargin<1) | |
| 45 error('predict requires fit argument'); | |
| 46 end; | |
| 47 | |
| 48 fit = varargin{1}; | |
| 49 | |
| 50 if (nargin==1) x = 'fitp'; else x = varargin{2}; end; | |
| 51 | |
| 52 band = 'n'; | |
| 53 what = 'coef'; | |
| 54 rest = 'none'; | |
| 55 dir = 0; | |
| 56 level = 0.95; | |
| 57 d = size(fit.data.x,2); | |
| 58 kap = [zeros(1,d) 1]; | |
| 59 | |
| 60 na = 3; | |
| 61 while na <= nargin | |
| 62 inc = 0; | |
| 63 if strcmp(varargin{na},'band') | |
| 64 band = varargin{na+1}; | |
| 65 inc = 2; | |
| 66 end; | |
| 67 if strcmp(varargin{na},'what') | |
| 68 what = varargin{na+1}; | |
| 69 inc = 2; | |
| 70 end; | |
| 71 if strcmp(varargin{na},'restyp') | |
| 72 rest = varargin{na+1}; | |
| 73 inc = 2; | |
| 74 end; | |
| 75 if strcmp(varargin{na},'direct') | |
| 76 dir = 1; | |
| 77 inc = 1; | |
| 78 end; | |
| 79 if strcmp(varargin{na},'kappa') | |
| 80 kap = varargin{na+1}; | |
| 81 inc = 2; | |
| 82 end; | |
| 83 if strcmp(varargin{na},'level') | |
| 84 level = varargin{na+1}; | |
| 85 inc = 2; | |
| 86 end; | |
| 87 if (inc == 0) | |
| 88 disp(varargin{na}); | |
| 89 error('Unknown argument'); | |
| 90 end; | |
| 91 na = na+inc; | |
| 92 end; | |
| 93 | |
| 94 [y se cb] = mexpp(x,fit,band,what,rest,dir,kap,level); | |
| 95 if (band=='n') | |
| 96 y = y; | |
| 97 else | |
| 98 y = {y se cb}; | |
| 99 end; | |
| 100 | |
| 101 return; |
