g10 – Smoothing in Statistics

This chapter is concerned with methods for smoothing data. Included are methods for density estimation, smoothing time series data, and statistical applications of splines. These methods may also be viewed as nonparametric modelling.

Many of the methods used in statistics involve fitting a model, the form of which is determined by a small number of arguments, for example, a distribution model like the gamma distribution, a linear regression model or an autoregression model in time series. In these cases the fitting involves the estimation of the small number of arguments from the data. In modelling data with these models there are two important stages in addition to the estimation of the arguments; these are the identification of a suitable model, for example, the selection of a gamma distribution rather than a Weibull distribution, and the checking to see if the fitted model adequately fits the data. While these parametric models can be fairly flexible, they will not adequately fit all datasets, especially if the number of arguments is to be kept small.

Alternative models based on smoothing can be used. These models will not be written explicitly in terms of arguments. They are sufficiently flexible for a much wider range of situations than parametric models. The main requirement for such a model to be suitable is that the underlying models would be expected to be smooth, so excluding those situations where, for example, a step function would be expected.

These smoothing methods can be used in a variety of ways, for example:

- producing smoothed plots to aid understanding;
- identifying of a suitable parametric model from the shape of the smoothed data;
- eliminating complex effects that are not of direct interest so that attention can be focused on the effects of interest.

Several smoothing techniques make use of a smoothing argument which can be either chosen by you or estimated from the data. The smoothing argument balances the two criterion of smoothness of the fitted model and the closeness of the fit of the model to the data. Generally, the larger the smoothing argument is, the smoother the fitted model will be, but for small values of the smoothing argument the model will closely follow the data, and for large values the fit will be poorer.

The smoothing argument can be either chosen using previous experience of a suitable value for such data, or estimated from the data. The estimation can be either formal, using a criterion such as the cross-validation, or informal by trying different values and examining the result by means of suitable graphs.

Smoothing methods can be used in three important areas of of statistics: regression modelling, distribution modelling and time series modelling.

For a set of $n$ observations (${y}_{i},{x}_{i}$), $i=1,2,\dots ,n$, the spline provides a flexible smooth function for situations in which a simple polynomial or nonlinear regression model is not suitable.

Cubic smoothing splines arise as the function, $f$, with continuous first derivative which minimizes

where ${w}_{i}$ is the (optional) weight for the $i$th observation and $\rho $ is the smoothing argument. This criterion consists of two parts: the first measures the fit of the curve and the second the smoothness of the curve. The value of the smoothing argument, $\rho $, weights these two aspects: larger values of $\rho $ give a smoother fitted curve but, in general, a poorer fit.

$$\sum _{i=1}^{n}{w}_{i}{\left({y}_{i}-f\left({x}_{i}\right)\right)}^{2}+\rho \underset{-\infty}{\overset{\infty}{\int}}{\left({f}^{\prime \prime}\left(x\right)\right)}^{2}dx\text{,}$$ |

Splines are linear smoothers since the fitted values, $\hat{y}={\left({\hat{y}}_{1},{\hat{y}}_{2},\dots ,{\hat{y}}_{n}\right)}^{\mathrm{T}}$, can be written as a linear function of the observed values $y={\left({y}_{1},{y}_{2},\dots ,{y}_{n}\right)}^{\mathrm{T}}$, that is,

for a matrix $H$. The degrees of freedom for the spline is $\mathrm{trace}\left(H\right)$ giving residual degrees of freedom

The diagonal elements of $H$, ${h}_{ii}$, are the leverages.

$$\hat{y}=Hy$$ |

$$\mathrm{trace}\left(I-H\right)=\sum _{i=1}^{n}\left(1-{h}_{ii}\right)\text{.}$$ |

The argument $\rho $ can be estimated in a number of ways.

- The degrees of freedom for the spline can be specified, i.e., find $\rho $ such that $\mathrm{trace}\left(H\right)={\nu}_{0}$ for given ${\nu}_{0}$.
- Minimize the cross-validation (CV), i.e., find $\rho $ such that the CV is minimized, where
$$\text{CV}=\frac{1}{n}\sum _{i=1}^{n}{\left(\frac{{r}_{i}}{1-{h}_{ii}}\right)}^{2}\text{.}$$ - Minimize generalized cross-validation (GCV), i.e., find $\rho $ such that the GCV is minimized, where
$$\text{GCV}=n\left(\frac{\sum _{i=1}^{n}{r}_{i}^{2}}{{\left(\sum _{i=1}^{n}\left(1-{h}_{ii}\right)\right)}^{2}}\right)\text{.}$$

The object of density estimation is to produce from a set of observations a smooth nonparametric estimate of the unknown density function from which the observations were drawn. That is, given a sample of $n$ observations, ${x}_{1}$, ${x}_{2},\dots ,{x}_{n}$, from a distribution with unknown density function, $f\left(x\right)$, find an estimate of the density function, $\hat{f}\left(x\right)$. The simplest form of density estimator is the histogram; this may be defined by

where ${n}_{j}$ is the number of observations falling in the interval $a+\left(j-1\right)h$ to $a+jh$, $a$ is the lower bound of the histogram and $b={n}_{s}h$ is the upper bound. The value $h$ is known as the window width. A simple development of this estimator would be the running histogram estimator

where ${n}_{x}$ is the number of observations falling in the interval $\left[x-h:x+h\right]$. This estimator can be written as

for a function $w$ where

The function $w$ can be considered as a kernel function. To produce a smoother density estimate, the kernel function, $K\left(t\right)$, which satisfies the following conditions can be used:

The kernel density estimator is therefore defined as

The choice of $K\left(\xb7\right)$ is usually not important, but to ease computational burden use can be made of Gaussian kernel defined as

The smoothness of the estimator, $\hat{f}\left(x\right)$, depends on the window width, $h$. In general, the larger the value $h$ is, the smoother the resulting density estimate is. There is, however, the problem of oversmoothing when the value of $h$ is too large and essential features of the distribution function are removed. For example, if the distribution was bimodal, a large value of $h$ may result in a unimodal estimate. The value of $h$ has to be chosen such that the essential shape of the distribution is retained while effects due only to the observed sample are smoothed out. The choice of $h$ can be aided by looking at plots of the density estimate for different values of $h$, or by using cross-validation methods; see Silverman (1990).

$$\hat{f}\left(x\right)=\frac{1}{nh}{n}_{j}\text{; \hspace{1em}}a+\left(j-1\right)h<x<a+jh\text{; \hspace{1em}}j=1,2,\dots ,{n}_{s}\text{,}$$ |

$$\hat{f}\left(x\right)=\frac{1}{2nh}{n}_{x}\text{; \hspace{1em}}a\le x\le b\text{,}$$ |

$$\hat{f}\left(x\right)=\frac{1}{nh}\sum _{i=1}^{n}w\left(\frac{x-{x}_{i}}{h}\right)$$ |

$$\begin{array}{lll}w\left(x\right)& =\frac{1}{2}& \text{if}-1<x<1\\ & =0& \text{otherwise.}\end{array}$$ |

$$\underset{-\infty}{\overset{\infty}{\int}}K\left(t\right)dt=1\text{and}K\left(t\right)\ge 0.0\text{.}$$ |

$$\hat{f}\left(x\right)=\frac{1}{nh}\sum _{i=1}^{n}K\left(\frac{x-{x}_{i}}{h}\right)\text{.}$$ |

$$K\left(t\right)=\frac{1}{\sqrt{2\pi}}{e}^{-{t}^{2}/2}\text{.}$$ |

Silverman (1990) shows how the Gaussian kernel density estimator can be computed using a fast Fourier transform (FFT).

If the data consists of a sequence of $n$ observations recorded at equally spaced intervals, usually a time series, several robust smoothers are available. The fitted curve is intended to be robust to any outlying observations in the sequence, hence the techniques employed primarily make use of medians rather than means. These ideas come from the field of exploratory data analysis (EDA); see Tukey (1977) and Velleman and Hoaglin (1981). The smoothers are based on the use of running medians to summarize overlapping segments; these provide a simple but flexible curve.

In EDA terminology, the fitted curve and the residuals are called the smooth and the rough respectively, so that

Using the notation of Tukey, one of the smoothers commonly used is 4253H,twice. This consists of a running median of $4$, then $2$, then $5$, then $3$. This is then followed by what is known as hanning. Hanning is a running weighted mean, the weights being $1/4$, $1/2$ and $1/4$. The result of this smoothing is then ‘reroughed’. This involves computing residuals from the computed fit, applying the same smoother to the residuals and adding the result to the smooth of the first pass.

$$\mathrm{Data}=\mathrm{Smooth}+\mathrm{Rough}\text{.}$$ |

The following functions fit smoothing splines:

- nag_smooth_spline_fit (g10abc) computes a cubic smoothing spline for a given value of the smoothing argument. The results returned include the values of leverages and the coefficients of the cubic spline. Options allow only parts of the computation to be performed when the function is used to estimate the value of the smoothing argument or as when it is part of an iterative procedure such as that used in fitting generalized additive models; see Hastie and Tibshirani (1990).
- nag_smooth_spline_estim (g10acc) estimates the value of the smoothing argument using one of three criteria and fits the cubic smoothing spline using that value.

nag_smooth_spline_fit (g10abc) and nag_smooth_spline_estim (g10acc) require the ${x}_{i}$ to be strictly increasing. If two or more observations have the same ${x}_{i}$-value then they should be replaced by a single observation with ${y}_{i}$ equal to the (weighted) mean of the $y$ values and weight, ${w}_{i}$, equal to the sum of the weights. This operation can be performed by nag_order_data (g10zac).

The following function produces an estimate of the density function:

- nag_kernel_density_estim (g10bac) computes a density estimate using a Normal kernel.

The following function produces a smoothed estimate for a time series:

- nag_running_median_smoother (g10cac) computes a smoothed series using running median smoothers.

The following service function is also available:

- nag_order_data (g10zac) orders and weights the $\left(x,y\right)$ input data to produce a dataset strictly monotonic in $x$.

None.

Hastie T J and Tibshirani R J (1990) *Generalized Additive Models* Chapman and Hall

Silverman B W (1990) *Density Estimation* Chapman and Hall

Tukey J W (1977) *Exploratory Data Analysis* Addison–Wesley

Velleman P F and Hoaglin D C (1981) *Applications, Basics, and Computing of Exploratory Data Analysis* Duxbury Press, Boston, MA