I am analysing data from a discrete choice experiment from a sample of 1000 responses where a respondent were presented with two cards and had to choose their preferred option. In the survey there were 3 attributes out of which one was categorical while the two other (price, speed) were continuous. Below is the model output.
Call:
mlogit(formula = choice ~ speed + price + cat1 + cat2 + cat3,
data = test.data, method = "nr", print.level = 0)
Frequencies of alternatives:
1 2
0.71558 0.28442
nr method
5 iterations, 0h:0m:0s
g'(-H)^-1g = 0.000741
successive function values within tolerance limits
Coefficients :
Estimate Std. Error t-value Pr(>|t|)
2:(intercept) -0.3582505 0.0372617 -9.6144 < 2e-16 ***
speed -0.1726341 0.0105252 -16.4020 < 2e-16 ***
price -0.1672694 0.0073242 -22.8380 < 2e-16 ***
cat1 0.0965562 0.0415806 2.3221 0.02023 *
cat2 0.8722452 0.0526031 16.5816 < 2e-16 ***
cat3 -0.0788710 0.0451093 -1.7484 0.08039 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log-Likelihood: -5419.7
McFadden R^2: 0.093196
Likelihood ratio test : chisq = 1114 (p.value = < 2.22e-16
Based on these results, I would like to calculate relative variable importance and have this scaled to 100. Based on reading chapter 9.4 here, my understanding is that I'm meant to use the difference of the range in the attribute’s utility values and then scale this to a 100. As I have a multinomial logit model, I would of course have to first exponentiate the utility values.
However, I do not know how to extract utility values for the different attributes levels using the mlogit package - is this somehow possible?
Also, how should I go about dealing with the fourth categorical value that is not in the model?