Get startedGet started for free

Interpreting choice model parameters

1. Interpreting choice model parameters

Now that you know how to estimate the parameters of a choice model, we should talk about how to interpret those parameters.

2. Multinomial logit model parameters

Here is a simple model estimated with the sportscar data. The estimated parameters are 0-point-1143487 and -0-point-1687046. What do those numbers mean?

3. Multinomial logit model

To interpret the parameters, let's go back to our code for the model. The numbers 0-point-1143487 and -0-point-1687046 represent our best guess at what alpha and beta are based on our data. To compute the v value of each sportscar we literally multiply the number of seats for each sportscar by alpha and the price by beta, then add. We can think of alpha as the value of one additional seat and beta as the value of one thousand dollars. beta is negative because people prefer sportscars with lower prices.

4. Using factors as predictors

You might be wondering what we do with an attribute like transmission that has two levels: auto and manual. I can't multiply a parameter times the word auto. These are called factor variables and they are converted to numbers automatically inside mlogit(). Most model estimation functions in R like lm() and glm() do this, so you may have seen it before. In order to interpret the numeric parameters here, we have to know how they were converted to numbers.

5. Dummy coding

We can see exactly how factors are converted to numbers using the command model-dot-matrix(m2) which shows us the numbers that mlogit() used. If you compare the output of model-dot-matrix() to the original sportscar data you can see that the variable trans was changed to 1 for manual and 0 for auto. This means that the parameter for transmanual is the amount of additional value associated with a manual transmission over auto.

6. Interpreting coefficients for factors

Going back to the model output, we see the parameter for transmanual is about -1-point-2. This means that people have less utility for manual relative to auto. When factors are dummy coded, it is really important to know what the zero-level of the factor is, because the parameters represent the value of one level of the factor relative to the zero-level. You can figure out the zero level by looking at the levels of the factor in the data and finding which level is missing from the list of coefficients. For instance, the levels of trans are auto and manual. When we see the coefficient for transmanual in the output, we can figure that auto must be the zero level.

7. Treating numeric predictors as factors

We can also take numeric variables like seat and change them to factors. This is useful when you don't think that the value of a sportscar increases linearly with the number of seats. If people value 2-seats and 5-seats more than 4-seats, we should change seat to a factor. One way to do this is to change the variable to a factor in the data using as-dot-factor(). When we re-run the model, we get parameters for seat4 and seat5, which are both relative to 2-seats. The coefficients tell us that people prefer 5 seats to 2, but have about the same value for 4 seats versus 2.

8. Willingness to pay (WTP)

We could also change the price variable to a factor, which would be useful if we think that price response is non-linear. But, if we leave price as a number, we can compute the willingness-to-pay, which tells us the value of product features in dollars. Willingness-to-pay is computed by dividing each coefficient by the coefficient for price. We can do this by extracting the vector of model coefficients from m3 using the coef() function. Then we divide each element in this vector by the negative of the price coefficient. The willingness-to-pay for transmanual is -6-point-386, which means it would take a $6,386 discount to make a car with a manual as attractive as one with an auto.

9. Let's interpret the parameters of the chocolate model!

Let's take a closer look at the parameters of the chocolate model.