The rock data in Venables and Ripley (1998) contains measurements
on four cross-sections of each of 12 oil-bearing rocks. The aim
is to predict permeability (perm) from three other
measurements: the total area (area), total perimeter
(peri) and a measure of ``roundness'' of the pores in
the rock cross-section (shape). Venables and Ripley (1998)
fitted this data set with a projection pursuit (PP) regression
model. Here we show how to use the snr function to fit
the following PP regression model
We first fit model () using the R function ppr as in Venables and Ripley (1998). Then we fit the same model using snr with initial values from the ppr fit. We use a TPS with and to model . We made the following transformations: dividing area and peri by 10000, and taking the natural logarithm of perm.
> data(rock) > attach(rock) > area1 <- area/10000; peri1 <- peri/10000 > rock.ppr <- ppr(log(perm) ~ area1 + peri1 + shape, data=rock, nterms=1, max.terms=5) > summary(rock.ppr) Call: ppr(formula = log(perm) ~ area1 + peri1 + shape, rock.Rdata = rock, nterms = 1, max.terms = 5) Goodness of fit: 1 terms 2 terms 3 terms 4 terms 5 terms 19.590843 8.737806 5.289517 4.745799 4.490378 Projection direction vectors: area1 peri1 shape 0.347565455 -0.937641311 0.005198698 Coefficients of ridge terms:  1.495419 > rock.snr <- snr(log(perm) ~ f(a1*area1+a2*peri1+sqrt(1-a1^2-a2^2)*shape), func=f(u)~list(~u,tp(u)), params=list(a1+a2~1), start=list(params=c(.34,-.94))) > rock.snr Semi-parametric Nonlinear Regression Model Fit Model: log(perm) ~ f(a1 * area1 + a2 * peri1 + sqrt(1 - a1^2 - a2^2) * shape) Log-likelihood: -50.04593 Coefficients: a1 a2 0.3449282 -0.9386264 Smoothing spline: GCV estimate(s) of smoothing parameter(s): 1.249731e-06 Equivalent Degrees of Freedom (DF): 4.144281 Residual standard error: 0.770572 Number of Observations: 48 Converged after 5 iterations > a <- seq(min(z),max(z),len=50) > rock.snr.ci <- intervals(rock.snr,newdata=data.frame(u=a)) > rock.ppr.p <- predict(rock.ppr)snr converged after 5 iterations. Let . In Figure , against the values, we plot the observations as circles, the fitted curve from rock.snr as the solid line with 95% Bayesian confidence intervals as the dotted lines, and the shape of the fitted curve from rock.ppr as the dashed line. The fitted curves from snr and ppr have different shapes.