R Tutorial: Fitting and interpreting a choice model
Skills:
ML for Analytics80%
Key Takeaways
Fits and interprets a choice model using R
Full Transcript
now that we've inspected the data we're ready to fit a choice model the process is very similar to fitting a regression model so let's start with a quick refresher on that to fit a linear regression model we use the function LM when we type this command we're telling our to fit a model to predict Y as a function of x1 x2 and x3 using the data in the my data data frame if LM data doesn't include columns named y x1 x2 and x3 you'll get an error we usually take the output of LM and assign it to a model object that we can use later here we're assigning it to my model once we have the my model object we can see a summary of the model by typing summary of my model the process for fitting a choice model is very similar to fitting a linear regression model except that we use a different function called M logit multinomial logit models are somewhat specialized so you can't estimate them with LM or even with the GLM function that you may have used before instead we use the M logit function from the M logit package just as with L M there are two key inputs to M legit a formula and the name of the data frame where the data is stored the data input is pretty straightforward but the data has to be choice data that means it has to have a column that indicates which choice observation each alternative belongs to here that is the quest column it also has to have a column of zeros and ones indicating which option was chosen and here that is labeled choice the formula that we use should always begin with the name of the column that indicates the choice because we want to predict the choice then we type a tilde and after the tilde we list the names of the product features we want to use to predict the choice just like L M we also indicate which data frame we want to use to fit the model under the hood the model that we fit with M logit is different than the linear model that we fit with L M for right now we're going to skip over the details of how there different but we'll come back to that in chapter 3 when we asked for a summary of the EM logic model object we get output that looks a lot like what you would get from a regression the most important part of the summary output is the table of coefficients we'll go into more detail on all of the output but for now let's focus on the column labeled estimate the numbers in this column represent the relative value that customers place on each feature for example the coefficient for feature 3 lo is negative 1 point 2 9 which means that people prefer the high level of feature 3 to the low level just like with linear regression the stars all the way to the right hand side indicate which features have a statistically significant effect on choice we'll go into more detail on how to interpret these parameters in chapter 3 but for now just keep in mind that parameters that are more than 1 or less than minus 1 indicate a very strong preference for a feature The Closer the coefficient is to 0 the weaker the preference next let's find out how people value features of sports cars by fitting a choice model to the sports car data
Original Description
Want to learn more? Take the full course at https://learn.datacamp.com/courses/choice-modeling-for-marketing-in-r at your own pace. More than a video, you'll learn hands-on coding & quickly apply skills to your daily work.
---
Now that we've inspected the data, we are ready to fit a choice model. The process is very similar to fitting a regression model, so let's start with a quick refresher on that.
To fit a linear regression model, we use the function lm(). When we type this command, we are telling R to fit a model to predict y as a function of x1, x2, and x3 using the data in the my_data data frame. If lm_data doesn't include columns named y, x1, x2, and x3 you will get an error.
We usually take the output of lm() and assign it to a model object that we can use later. Here we are assigning it to my_model. Once we have the my_model object we can see a summary of the model by typing summary of my_model.
The process for fitting a choice model is very similar to fitting a linear regression model, except that we use a different function called mlogit(). Multinomial logit models are somewhat specialized, so you can't estimate them with lm() or even with the glm() function that you may have used before. Instead, we use the mlogit() function from the mlogit package.
Just as with lm(), there are two key inputs to mlogit(): a formula and the name of the data frame where the data is stored. The data input is pretty straightforward, but the data has to be choice data. That means it has to have a column that indicates which choice observation each alternative belongs to. Here that is the ques column. It also has to have a column of 0's and 1's indicating which option was chosen, and here that is labeled choice. The formula that we use should always begin with the name of the column that indicates the choice because we want to predict the choice. Then we type a tilde and after the tilde we list the names of the product features we want to use to predict the choice
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from DataCamp · DataCamp · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SQL Server Tutorial: Date manipulation
DataCamp
R Tutorial: Intermediate Interactive Data Visualization with plotly in R
DataCamp
R Tutorial: Adding aesthetics to represent a variable
DataCamp
R Tutorial: Moving Beyond Simple Interactivity
DataCamp
Python Tutorial: Why use ML for marketing? Strategies and use cases
DataCamp
Python Tutorial: Preparation for modeling
DataCamp
Python Tutorial: Machine Learning modeling steps
DataCamp
R Tutorial: The prior model
DataCamp
R Tutorial: Data & the likelihood
DataCamp
R Tutorial: The posterior model
DataCamp
R Tutorial: An Introduction to plotly
DataCamp
R Tutorial: Plotting a single variable
DataCamp
R Tutorial: Bivariate graphics
DataCamp
Python Tutorial: Customer Segmentation in Python
DataCamp
Python Tutorial: Time cohorts
DataCamp
Python Tutorial: Calculate cohort metrics
DataCamp
Python Tutorial: Cohort analysis visualization
DataCamp
R Tutorial: Building Dashboards with flexdashboard
DataCamp
R Tutorial: Anatomy of a flexdashboard
DataCamp
R Tutorial: Layout basics
DataCamp
R Tutorial: Advanced layouts
DataCamp
Python Tutorial: Time Series Analysis in Python
DataCamp
Python Tutorial: Correlation of Two Time Series
DataCamp
Python Tutorial: Simple Linear Regressions
DataCamp
Python Tutorial: Autocorrelation
DataCamp
R Tutorial: The gapminder dataset
DataCamp
R Tutorial: The filter verb
DataCamp
R Tutorial: The arrange verb
DataCamp
R Tutorial: The mutate verb
DataCamp
R Tutorial: What is cluster analysis?
DataCamp
R Tutorial: Distance between two observations
DataCamp
R Tutorial: The importance of scale
DataCamp
R Tutorial: Measuring distance for categorical data
DataCamp
Python Tutorial: Plotting multiple graphs
DataCamp
Python Tutorial: Customizing axes
DataCamp
Python Tutorial: Legends, annotations, & styles
DataCamp
Python Tutorial: Introduction to iterators
DataCamp
Python Tutorial: Playing with iterators
DataCamp
Python Tutorial: Using iterators to load large files into memory
DataCamp
SQL Tutorial: Introduction to Relational Databases in SQL
DataCamp
SQL Tutorial: Tables: At the core of every database
DataCamp
SQL Tutorial: Update your database as the structure changes
DataCamp
Python Tutorial: Classification-Tree Learning
DataCamp
Python Tutorial: Decision-Tree for Classification
DataCamp
Python Tutorial: Decision-Tree for Regression
DataCamp
Python Tutorial: Census Subject Tables
DataCamp
Python Tutorial: Census Geography
DataCamp
Python Tutorial: Using the Census API
DataCamp
R Tutorial: A/B Testing in R
DataCamp
R Tutorial: Baseline Conversion Rates
DataCamp
R Tutorial: Designing an Experiment - Power Analysis
DataCamp
R Tutorial: Introduction to qualitative data
DataCamp
R Tutorial: Understanding your qualitative variables
DataCamp
R Tutorial: Making Better Plots
DataCamp
SQL Tutorial: OLTP and OLAP
DataCamp
SQL Tutorial: Storing data
DataCamp
SQL Tutorial: Database design
DataCamp
Python Tutorial: Introduction to spaCy
DataCamp
Python Tutorial: Statistical Models
DataCamp
Python Tutorial: Rule-based Matching
DataCamp
More on: ML for Analytics
View skill →Related Reads
📰
📰
📰
📰
The AI Tool I Built for Myself Ended Up Becoming the Product Clients Asked About the Most
Medium · Programming
Can AI Help Plan Your Next Holiday?
Medium · AI
Beyond ChatGPT: How I Curated a Toolkit to Build an AI-Powered Workflow (And Why I Built a Tool to…
Medium · AI
Beyond ChatGPT: How I Curated a Toolkit to Build an AI-Powered Workflow (And Why I Built a Tool to…
Medium · Startup
🎓
Tutor Explanation
DeepCamp AI