Chapter 13 Regression with Qualitative Dependent Variables
Suppose I want to build a model of voting. I decide to use the 2016 American National Election Studies survey results to try to understand how race is associated with voting. Respondents in the 2016 survey were asked about who they voted for in 2012, and I’m going to focus on their 2012 voting patterns for now. Using the statistical software package Stata to conduct my analysis, I find the following distributions for my two main variables of interest:
1
https://electionstudies.org/data-center/2016-time-series-study/
. tab vote
PRE: RECALL OF LAST (2012) PRESIDENTAL |
VOTE CHOICE | Freq. Percent Cum.
----------------------------------------+-----------------------------------
1. Barack Obama | 1,728 56.58 56.58
2. Mitt Romney | 1,268 41.52 98.10
5. Other SPECIFY | 58 1.90 100.00
----------------------------------------+-----------------------------------
Total | 3,054 100.00
. tab race
PRE: SUMMARY - R SELF-IDENTIFIED RACE | Freq. Percent Cum.
----------------------------------------+-----------------------------------
1. White, non-Hispanic | 3,038 71.68 71.68
2. Black, non-Hispanic | 398 9.39 81.08
3. Asian, native Hawaiian or other Paci | 148 3.49 84.57
4. Native American or Alaska Native, no | 27 0.64 85.21
5. Hispanic | 450 10.62 95.82
6. Other non-Hispanic incl multiple rac | 177 4.18 100.00
----------------------------------------+-----------------------------------
Total | 4,238 100.00
Notice that my dependent variable (vote) is qualitative. It can take on three possible values: voted for Obama, voted for Romney, or voted for other. I can build a simple set of regression models to see how race predicts vote choice. The key is to first convert each of the three categories for my dependent variable into its own dummy (or binary) variable—meaning a variable that is always equal to either 0 or 1. I can accomplish this in Stata with the following code:
tab vote, gen(vote_)
I now have several new variables in my dataset that have names starting with “vote_”:
. tab vote_1
vote==1. |
Barack |
Obama | Freq. Percent Cum.
------------+-----------------------------------
0 | 1,326 43.42 43.42
1 | 1,728 56.58 100.00
------------+-----------------------------------
Total | 3,054 100.00
. tab vote_2
vote==2. |
Mitt Romney | Freq. Percent Cum.
------------+-----------------------------------
0 | 1,786 58.48 58.48
1 | 1,268 41.52 100.00
------------+-----------------------------------
Total | 3,054 100.00
. tab vote_3
vote==5. |
Other |
SPECIFY | Freq. Percent Cum.
------------+-----------------------------------
0 | 2,996 98.10 98.10
1 | 58 1.90 100.00
------------+-----------------------------------
Total | 3,054 100.00
I also convert my race variable into a set of dummy variables by running:
tab race, gen(race_)
I can then run three regressions, one for each value of my dependent variables. I will use regular linear regression (least squares) for this example, although there are arguably better and more precise models for qualitative dependent variables (e.g., various types of probit and logit regression). Nonetheless, we can get by with linear regression. When using linear regression with a binary dependent variable, we call the model a linear probability model.
