Mercurial > repos > vipints > rdiff
diff rDiff/src/locfit/README @ 0:0f80a5141704
version 0.3 uploaded
author | vipints |
---|---|
date | Thu, 14 Feb 2013 23:38:36 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rDiff/src/locfit/README Thu Feb 14 23:38:36 2013 -0500 @@ -0,0 +1,163 @@ + Locfit, Matlab 2.01 + http://locfit.herine.net/ + + April 2, 2007 + + + +Attaching: + +Make sure that you've added this directory recursively (i.e. with +all subdirectories) to your matlab search path. + +Basic usage: + +(1) To plot of a smooth curve: + load ethanol; % load the dataset. + fit = locfit(E,NOx) % local regression, with x,y vectors. + lfplot(fit) % plot the fitted curve. + +(2a) To evaluate smooth at a specified set of points: + load ethanol; + xev = [0.6 0.7 0.8 0.9]'; % note column vector. + fit = locfit(E,NOx,'ev',xev); + yhat = predict(fit) + +(2b) Fit and interpolate approximation; may be faster for large datasets. + load ethanol; + xev = [0.6 0.7 0.8 0.9]'; % note column vector. + fit = locfit(E,NOx); + yhat = predict(fit,xev) + +(3) Surface smoothing - give matrix as first input. + load ethanol; % load the dataset. + fit = locfit([E C],NOx) % local regression. + lfplot(fit) + + +Most of the arguments to the S (and R) locfit() function, described +in my book, will also work in the Matlab version. E.g, +fit = locfit(E,NOx,'deg',1,'kern','gauss') + % local linear fit with the gaussian kernel. +Smoothing parameters can be set with 'nn' and 'h', instead of the +alpha vector used in my book. So +fit = locfit(E,NOx,'alpha',[0 0.2]) +fit = locfit(E,NOx,'h',0.2) +are equivalent ways to specify a constant bandwidth h=0.2. + + +The Book subdirectory contains functions to reproduce most of the book +figures. Run them, and look at the source code (many around 5 lines or less) +for more examples. + + +Some differences with the S/R version (and book documentation). +(1) Minor renaming of functions, mainly because matlab doesn't have + S-style methods. e.g. lfplot() instead of plot() or plot.locfit(). +(2) Use lfband() to add confidence bands to a plot. +(3) Functions such as aicplot(), gcvplot() sensitive to order of + arguments. Smoothing parameter matrix must be given first. +(4) For 2-d predictors, lfplot() defaults to producing a surface, rather + than contour, plot. +(5) The predict() function has an optional 'direct' argument, which + causes the fit to be recomputed at each evaluation point, rather + than interpolation of existing points. +(6) A few things aren't implemented yet... + + +Technical stuff. Here's the layout of the structure returned by +the locfit() function. The first three components (data, evaluation +structure and smoothing parameters) are what you provide, or default +values. The last two (fit points, parametric component) are what +locfit computes. The expected size or format of the entry is +given in parentheses. + + +fit.data.x (n*d) +fit.data.y (n*1) +fit.data.weights (n*1 or 1*1) +fit.data.censor (n*1 or 1*1) +fit.data.baseline (n*1 or 1*1) +fit.data.style (string length d) +fit.data.scales (1*d) +fit.data.xlim (2*d) + +fit.evaluation_structure.type (string) +fit.evaluation_structure.module (string) +fit.evaluation_structure.lower_left (numeric 1*d) +fit.evaluation_structure.upper_right (numeric 1*d) +fit.evaluation_structure.grid (numeric 1*d) +fit.evaluation_structure.cut (numeric 1*d) +fit.evaluation_structure.maxk +fit.evaluation_structure.derivative + +fit.smoothing_parameters.alpha = (nn h pen) vector +fit.smoothing_parameters.adaptive_criterion (string) +fit.smoothing_parameters.degree (numeric) +fit.smoothing_parameters.family (string) +fit.smoothing_parameters.link (string) +fit.smoothing_parameters.kernel (string) +fit.smoothing_parameters.kernel_type (string) +fit.smoothing_parameters.deren +fit.smoothing_parameters.deit +fit.smoothing_parameters.demint +fit.smoothing_parameters.debug + +fit.fit_points.evaluation_points (d*nv matrix) +fit.fit_points.fitted_values (matrix, nv rows, many columns) +fit.fit_points.evaluation_vectors +fit.fit_points.fit_limits (d*2 matrix) +fit.fit_points.family_link (numeric values) +fit.fit_points.kappa (likelihood, degrees of freedom, etc) + +fit.parametric_component + + + + + +This was the OLD format: + ++-{1} data +| +-{1} xdata matrix (n*d) +| +-{2} ydata column vector (n*1) +| +-{3} wdata weight vector (n*1 or 1*1) +| +-{4} cdata censoring vector (n*1 or 1*1) +| +-{5} base baseline vector (n*1 or 1*1) +| +-{6} style vector (string length d) +| +-{7} scales vector (1*d) +| +-{8} xl xlim vector (2*d) +| ++-{2} evaluation structure +| +-{1} structure type (string) +| +-{2} module (string) +| +-{3} ll corner of bounding box (numeric 1*d) +| +-{4} ur corner of bounding box (numeric 1*d) +| +-{5} mg vector for grid (numeric 1*d) +| +-{6} cut parameter for adaptive structures (numeric 1*d) +| +-{7} maxk memory control parameter +| +-{8} derivative vector +| ++-{3} sp smoothing parameters +| +-{1} alpha = (nn h pen) vector +| +-{2} adaptive criterion (string) +| +-{3} local polynomial degree (numeric) +| +-{4} fitting family (string) +| +-{5} link (string) +| +-{6} kernel (string) +| +-{7} kernel type - product, spherical (string) +| ++-{4} fpc fit points +| +-{1} evaluation points, d*nv matrix. +| +-{2} fitted values etc, (matrix, nv rows, many columns) +| +-{3} cell of vectors generated by evaluation structure. +| | +-{1} ce integer vector. +| | +-{2} s integer vector. +| | +-{3} lo integer vector. +| | +-{4} hi integer vector. +| | +| +-{4} fit limits (d*2 matrix) +| +-{5} [family link] (numeric values) +| +-{6} 'kappa' vector. (likelihood, degrees of freedom, etc) +| ++-{5} parametric component vector.