View source: R/smooth.influence.R

smooth.influence | R Documentation |

These functions provide the basic quantities that are used to form a variety of diagnostics for checking the quality of a fit smoothing spline (fit by `ss`

), smooth model (fit by `sm`

), or generalized smooth model (fit by `gsm`

).

```
## S3 method for class 'ss'
influence(model, do.coef = TRUE, ...)
## S3 method for class 'sm'
influence(model, do.coef = TRUE, ...)
## S3 method for class 'gsm'
influence(model, do.coef = TRUE, ...)
smooth.influence(model, do.coef = TRUE)
```

`model` |
an object of class "gsm" output by the |

`do.coef` |
logical indicating if the changed |

`...` |
additional arguments (currently ignored) |

Inspired by `influence`

and `lm.influence`

functions in R's **stats** package.

The functions documented in `smooth.influence.measures`

provide a more user-friendly way of computing a variety of regression diagnostics.

For non-Gaussian `gsm`

objects, these regression diagnostics are based on one-step approximations, which may be inadequate if a case has high influence.

For all models, the diagostics are computed assuming that the smoothing parameters are fixed at the given values.

A list with the components

`hat` |
a vector containing the leverages, i.e., the diagonals of the smoothing matrix |

`coefficients` |
if |

`deviance` |
a vector whose i-th entry contains the deviance which results when the i-th case is excluded from the fitting. |

`df` |
a vector whose i-th entry contains the effective degrees-of-freedom which results when the i-th case is excluded from the fitting. |

`sigma` |
a vector whose i-th element contains the estimate of the residual standard deviation obtained when the i-th case is excluded from the fitting. |

`wt.res` |
a vector of |

The approximations used for `gsm`

objects can result in `sigma`

estimates being `NaN`

.

The `coefficients`

returned by `smooth.influence`

(and the corresponding functions S3 `influence`

methods) are the *change* in the coefficients which result from dropping each case, i.e., `\theta - \theta_i`

, where `\theta`

are the original coefficients obtained from the full sample of `n`

observations and `\theta_i`

are the coefficients that result from dropping the i-th case.

Nathaniel E. Helwig <helwig@umn.edu>

See the list in the documentation for `influence.measures`

Chambers, J. M. (1992) *Linear models.* Chapter 4 of *Statistical Models in S* eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

`ss`

, `sm`

, `gsm`

for modeling functions

`smooth.influence.measures`

for convenient summary

`diagnostic.plots`

for regression diagnostic plots

```
# generate data
set.seed(1)
n <- 100
x <- seq(0, 1, length.out = n)
fx <- 2 + 3 * x + sin(2 * pi * x)
y <- fx + rnorm(n, sd = 0.5)
# fit models
mod.ss <- ss(x, y, nknots = 10)
mod.sm <- sm(y ~ x, knots = 10)
mod.gsm <- gsm(y ~ x, knots = 10)
# calculate influence
infl.ss <- influence(mod.ss)
infl.sm <- influence(mod.sm)
infl.gsm <- influence(mod.gsm)
# compare hat
mean((infl.ss$hat - infl.sm$hat)^2)
mean((infl.ss$hat - infl.gsm$hat)^2)
mean((infl.sm$hat - infl.gsm$hat)^2)
# compare deviance
mean((infl.ss$deviance - infl.sm$deviance)^2)
mean((infl.ss$deviance - infl.gsm$deviance)^2)
mean((infl.sm$deviance - infl.gsm$deviance)^2)
# compare df
mean((infl.ss$df - infl.sm$df)^2)
mean((infl.ss$df - infl.gsm$df)^2)
mean((infl.sm$df - infl.gsm$df)^2)
# compare sigma
mean((infl.ss$sigma - infl.sm$sigma)^2)
mean((infl.ss$sigma - infl.gsm$sigma)^2)
mean((infl.sm$sigma - infl.gsm$sigma)^2)
# compare residuals
mean((infl.ss$wt.res - infl.sm$wt.res)^2)
mean((infl.ss$wt.res - infl.gsm$dev.res)^2)
mean((infl.sm$wt.res - infl.gsm$dev.res)^2)
# NOTE: ss() coef only comparable to sm() and gsm() after rescaling
scale.sm <- rep(c(1, mod.sm$specs$thetas), times = c(2, 10))
scale.gsm <- rep(c(1, mod.gsm$specs$thetas), times = c(2, 10))
mean((coef(mod.ss) / scale.sm - coef(mod.sm))^2)
mean((coef(mod.ss) / scale.gsm - coef(mod.gsm))^2)
mean((coef(mod.sm) - coef(mod.gsm))^2)
# infl.ss$coefficients are *not* comparable to others
mean((infl.ss$coefficients - infl.sm$coefficients)^2)
mean((infl.ss$coefficients - infl.gsm$coefficients)^2)
mean((infl.sm$coefficients - infl.gsm$coefficients)^2)
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.