Multinomial Logistic Models and Customer Choice Analytics

We usually make use of the Multinomial regression model to make a description of certain data and to even provide an explanation of the association that exists between a dependent nominal variable and one or more than one continuous-type (interval or ratio scale) of independent variables. Moreover, it creates a type of extended logistic regression that in turn makes an analysis of the dichotomous or binary variable dependent.

Here is a short description on the modeling process of the multinomial regression. Supposing a certain dependent variable has say, M categories, and one particular value of a dependent variable is chosen as the category of reference. When it comes to a multinomial regression, the real dependent variable should be (log) odds, and the proportions of probability of membership in all the other categories to the probability of membership that is in the reference category. Thus,

if the initial category is termed as the reference, then, for m = 2, …, M,

where Xik is the observed attributes of various individuals.

As the dependent variable has two or more than two values, the probability of membership in mth category can be depicted as;

For the category of reference, the probability can be shown as the follows;

Here we can see that, when M = 2, the multinomial logistic regression condenses into a logistic regression.

So the logit as well as the multinomial logit models are termed as the most widely used choice model types in the field of marketing. Also, the logit models were presented as a binary choice and its simplification to more than two options had made the multinomial logit model immensely popular by McFadden. There are many marketers who are fascinated by how pricing, promotions, and other variables in the marketing mix have an impact on their market share and sales revenue. An early appeal for the MNL model was because it was having a random probability distribution and still confessing the decision variables such as price and promotions. For instance, marketing professionals are usually want to know what a person thinks about the products, and their views are usually encoded by using scales, such as 1 stands for “strongly disagree”, 2 for “agree”, 3 for “neutral”, etc. The opinions in this situation was that the variable is ordered, which means that 3 is better than 2, and 2 is better than 1. By using the data in the scanner panel, the supermarket can create the multinomial logit model to know the effect of different marketing variables on consumer choice in the product alternatives.

This article will focus on a simple case to show how one can build the multinomial logistic regress using R. Over here, the query is why couples were not sleeping together or how regularly they did (see Figure 1), the data is taken from the website of Fivethirtyeight. The analytical goal is to understand the causes for the levels of sleeping separately in these couples.

Figure 1 Distribution of dependent variable

   Before we start, we need to understand that the exploratory model-free analysis is essential in obtaining an understanding between the probable factors and the dependent variable. For instance, we can use cross-table analysis as well as the Chi-square test to figure out where a forecaster has the major effect on the dependent variable.

  #R code

tab1= table(sleep.alone$Sep_Bed_Level,sleep.alone$Gender)

tab1

chisq.test(tab1)

Figure 2 Results of Cross-tab Analysis

  Also, we can imagine a relationship amid the forecasters and the dependent variable.

  #R code

par(mfrow=c(3,3))

plot(sleep.alone$Sep_Bed_Level, sleep.alone$Snores, xlab = “Sleep Alone”, ylab = “Snores”)

plot(sleep.alone$Sep_Bed_Level, sleep.alone$Bathroom, xlab = “Sleep Alone”, ylab = “Bathroom”)

plot(sleep.alone$Sep_Bed_Level, sleep.alone$Sick, xlab = “Sleep Alone”, ylab = “Sick”)

plot(sleep.alone$Sep_Bed_Level, sleep.alone$Non_Intimate, xlab = “Sleep Alone”, ylab = “Non_Intimate”)

plot(sleep.alone$Sep_Bed_Level, sleep.alone$Rm_Temp, xlab = “Sleep Alone”, ylab = “Different Temperature”)

plot(sleep.alone$Sep_Bed_Level, sleep.alone$Argument, xlab = “Sleep Alone”, ylab = “Argument/Fight”)

plot(sleep.alone$Sep_Bed_Level, sleep.alone$Non_Space, xlab = “Sleep Alone”, ylab = “No Space”)

plot(sleep.alone$Sep_Bed_Level, sleep.alone$Sleep_Child, xlab = “Sleep Alone”, ylab = “Sleep with Child”)

plot(sleep.alone$Sep_Bed_Level, sleep.alone$Night_Work, xlab = “Sleep Alone”, ylab = “Night Work”)

Figure 3 Visualization of Predictors and Dependent Variable

  Lastly, we can create the ordered multinomial regression in order to model the data. To understand the best model, we employ AIC-statistics to filter suitable variables and probability ratio test to relate the performance of two models.

   R code

sleep.alone.2 = sleep.alone[c(1:13,18:21)]

sleep.alone.2 <- na.omit(sleep.alone.2)

Sleep.ord.m3<-polr(Sep_Bed_Level~., data=sleep.alone.2, Hess = TRUE)

summary(Sleep.ord.m3)

Anova(Sleep.ord.m3)

Sleep.ord.m4<-stepAIC(Sleep.ord.m3,direction = c(“both”))

summary(Sleep.ord.m4)

anova(Sleep.ord.m3,Sleep.ord.m4)

ci <- confint(Sleep.ord.m4)

exp(coef(Sleep.ord.m4))

exp(cbind(OR=coef(Sleep.ord.m4),ci))

Moreover, we use the imagining to report the analytical results and assist non-technical users understand them more efficiently. In Figure 4, we compare coefficients to learn the effects of different forecasters.

Figure 4 Coefficients of Different Forecasters

Share on facebook
Share on twitter
Share on linkedin