Abstract
An algorithm is described for approximating an unknown function f(x), given many function values containing random noise. The approximation constructed is a cubic spline g(x) with sufficient basis functions to represent f(x) accurately. The basis-function coefficients are determined by minimizing a combination of the infidelity E (the mean-square errorz between g(x) and the data,and the roughness T (which is a measure of the tortuosity of g(x)). The quantity minimized is E+pT, where p is a smoothing parameter. A suitable value of p is determined by cross validation.Results of numerical tests are reported which show that this algorithm is superior to least-squares cubic splines: in general the statistical errors are substantially less, and they are insensitive to the number of basis functions used.