In Rice's book, one suggestion is to fit the model 
with interaction.

E(y|x) = c_1 x_1 x_2 + c_2 x_1 + c_3 x_2 + c_4 

To fit this model, you can either type

    (regression-model  (list rub-x1 rub-x2 (* rub-x1 rub-x2)) rub-y )

or 

   (def out (regression-model (list rub-x1 rub-x2 (* rub-x1 rub-x2)) rub-y))

The second option is preferred because it creates an object called "out".
You can ask this object to send out more messages. For instance, if you want to
See the residual plot, then type

(send out :plot-residuals)

+++++++++++++++++

To understand why the residual plot looks so funny, type

(spin-plot (list rub-x1 rub-y rub-x2)

to see the original 3-D data.

On the other hand, you can view the 3-D residual plot by typing

(spin-plot (list rub-x1 (send out :residuals) rub-x2))
  

+++++++++++++++++++++++++++++Further suggested Analysis+++++++++++

After spinning, we   find that the residuals form several
lines, each determined by a level of rub-x1 (the Dicumyl Peroxide).
This suggests to modify the model by considering :

$$ y= g(x1) (x2- Ex2) + h(x1) + \epsilon$$

where g(x1) and h(x1) are nonlinear functions, Ex2, the average
of x2,  equals
$175/7$.
Note if they are linear, then the model is reduced to the model
fitted above.

To find g, and h, we start with fitting y against
x2 separately for each fixed x1. Then we plot the
slope estimates against x1, in the hope of finding a functional
form for g. We combine the residuals from each  linear fit
to estimate the standard deviation of $\epsilon$. This
can be used to determine the goodness of fit for any
model suggested for $g$. The link is through the relationship
$$\hat b_i= g(x1_i) + e_i$$
where the standard deviation of $e_i$ is related with the standard
deviation of $\epsilon$ via the formula for the standard deviation
of slope estimate in linear regression.  

A good-model for g should result in an estimate of $\sigma$ comparable
with the one obtained earlier (acceptable under F-test).

The same process can be used for estimating h.


(dotimes (i 12)
   (setf out (regression-model (select rub-x2 (iseq (* i 7) (+ (* i 7) 6)))
      (select rub-y (iseq (* i 7) (+ (* i 7) 6)))))
   (setf (nth i slope) (send out :coef-estimates))
    (setf (nth i sigma) (send out :sigma-hat))
    )

