Appendix C: How the Simulator Interpolates between Levels

Top  Previous  Next


When dealing with main effects, the choice simulator does linear interpolation between adjacent levels.  That is a straightforward procedure that requires no explanation.  However, when dealing with two-way interactions, the situation is considerably more complex.  This appendix explains and justifies the procedure used in two-way interpolation.


With one-dimensional interpolation, as for main effects, we first find a line containing the two extreme points, and then choose a result from that line.  With two-dimensional interpolation the situation is different.  We have a total of four points, composing the four corners of a square.  For convenience we might label those points as follows:


                              Attribute 2


                             Level 1     Level 2

                   Level 1   A           B

      Attribute 1

                   Level 2   C           D


In this scheme, point A represents the combination of the first level for both attributes, D represents the combination of level 2 for both attributes, and B and C each represent combinations of level one on one attribute and level 2 on the other.


By analogy with the one-dimensional case, we might try to fit a plane to all four points, and then do our interpolation within that plane.  Although a plane can always be found to fit three points, it will not generally be true that a plane will fit four points very well.  


Our circumstance is particularly troublesome because the surface required to fit all four points would be quite warped.  If both attributes happen to have only two levels, then the row and column sums of the 2 x 2 array are zero, implying that A = -B = D =  -C.  If both dimensions have more than two levels the relationship is not so precise, but the surface containing the four points still tends to be saddle-shaped.


Accordingly, we use a nonlinear interpolation procedure, which we describe with a numerical example.  Suppose a product has specifications of 1.2 for attribute 1, and 1.6 for attribute 2.  Also suppose the logit estimates for the four points are:


                              Attribute 2


                             Level 1     Level 2

                   Level 1   A= 1.0      B=-1.5

      Attribute 1

                   Level 2   C=-0.5      D= 2.0


Finally, let p1 = the proportion of the distance between the two levels of Attribute 1 for which we would interpolate (0.2 in this example) and p2 = the proportion of the distance between the two levels of Attribute 2 for which we would interpolate (0.6 in this example).


We interpolate by forming the convex sum of four corner points:


      Result =  (1-p1)     *    (1-p2)  *      A

             +  (1-p1)     *    p2      *      B

             +   p1        *    (1-p2)  *      C

             +   p1        *    p2      *      D


This procedure describes a surface that includes all four corner points as well as their centroid.  Notice that if p1 = p2 = 0, then the result is equal to A.  If p1 = p2 = 1, the result is equal to D.  If p1 = 0 and p2 = 1, the result is equal to C, and if p1 = 1 and p2 = 0, the result is equal to D.  If both attributes have integer specification, this method of interpolation therefore gives the same answer as if no interpolation were used.


This procedure has the desirable property that there are no discontinuities in the regions of the four corner points, as there would be if we tried to fit the points with a plane.


If one attribute has an integer specification but the other requires interpolation, then interpolation is automatically linear for the one attribute requiring it.  For example, if p1 = 0, then the result is (1-p2)*A + p2*B, a linear interpolation between A and B.  Similarly, if p1 = 1, then the result is a linear interpolation between C and D.


Also, if p1 = p2 = 0.5, the result is (A+B+C+D)/4.  Therefore the result at the center of the square is the average of the four corners.  If both attributes require interpolation, then the surface is quite regular, with only as much curvature as required to fit the four corners.


For our numerical example, the result is -0.2.  The center of the square has a value of 0.25, but the location corresponding to p1 = 0.2 and p2 = 0.6 is upward and to the right of the center, toward the corner that has a value of -1.5.


Since our procedure is nonlinear, it would be hazardous to extrapolate beyond the known points.  Therefore, the simulator does not permit the user to extrapolate beyond measured levels of the attributes for those involved in interaction effects.



Page link: