## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

## Non-parametric Smoothers

You can see non-parametric smoothers in action for fitting a curve through a scatterplot in Chapter 5 (p. 151). Here we are concerned with using non-parametric smoothers in statistical modelling where the object is to assess the relative merits of a range of different models in explaining variation in the response variable. One of the simplest model-fitting functions is loess (which replaces its predecessor called lowess).

The following example shows population change, Delta = log(N(t + 1)11(t)) as a function of population density (N(t)) in an investigation of density dependence in a sheep population. This is what the data look like:

```soay<-read.table("c:\\temp\\soaysheep.txt",header=T)
attach(soay)
names(soay)

[1] "Year"  "Population"  "Delta"

plot(Population,Delta)```

Broadly speaking, population change is positive at low densities (Delta > 0) and negative at high densities (Delta < 0) but there is a great deal of scatter, and it is not at all obvious what shape of smooth function would best describe the data. Here is the default loess:

```model<-loess(Delta~Population)
summary(model)

Call:
loess(formula = Delta~Population)

Number of Observations: 44
Equivalent Number of Parameters: 4.66
Residual Standard Error: 0.2616
Trace of smoother matrix: 5.11
Control settings:
normalize:TRUE
span :    0.75
degree :  2
family :  gaussian
surface :  interpolate  cell = 0.2```

Now draw the smoothed line using predict to extract the predicted values from model:

`xv<-seq(600,2000,1) ...`

## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required