# Calculating variable importance in a multinomial logit model

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
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?