The BCHOICE Procedure
Example 27.8 MaxDiff Choice Example
(View the complete code for this example.)
This example uses a MaxDiff type of choice experiment from the Sydney transport project. The study sought to help set priorities for future improvements in public transportation. The data were collected by the Center for the Study of Choice (CenSoC) at the University of Technology Sydney, and analyzed previously by Magidson and Vermunt (2015).
Respondents were asked to choose from among nine short-term improvements (nine alternatives). Table 27.12 lists the nine improvements that were evaluated.
Table 27.12: Alternatives in Sydney Transport Project
Index | Improvement Alternatives |
|---|---|
1 | More frequent off-peak trains between major centers |
2 | Improved peak rail capacity |
3 | More frequent bus service on major routes |
4 | Extension of light rail services |
5 | Integrated fares |
6 | Integrated ticketing |
7 | Real-time arrival information |
8 | New cycleways, more bike and scooter parking |
9 | Use of green power for trains |
data Sydney; input RespID Set Choice Index @@; datalines; 5 1 1 2 5 1 0 4 5 1 -1 8 5 2 0 1 5 2 1 4 5 2 -1 5 5 3 0 4 5 3 -1 7 5 3 1 9 5 4 1 3 5 4 0 4 5 4 -1 6 5 5 -1 1 5 5 1 2 5 5 0 3 5 6 1 2 5 6 -1 5 5 6 0 7 5 7 1 2 5 7 -1 6 5 7 0 9 5 8 -1 1 5 8 0 8 5 8 1 9 5 9 0 5 5 9 -1 6 5 9 1 8 5 10 1 3 5 10 -1 7 5 10 0 8 5 11 1 1 5 11 0 6 5 11 -1 7 5 12 1 3 5 12 -1 5 5 12 0 9 6 1 1 2 6 1 0 4 6 1 -1 8 6 2 1 1 6 2 -1 4 6 2 0 5 6 3 -1 4 6 3 1 7 6 3 0 9 6 4 0 3 6 4 -1 4 6 4 1 6 6 5 -1 1 6 5 1 2 6 5 0 3 6 6 1 2 6 6 0 5 6 6 -1 7 6 7 1 2 6 7 0 6 6 7 -1 9 6 8 1 1 6 8 -1 8 6 8 0 9 6 9 0 5 6 9 1 6 6 9 -1 8 6 10 1 3 6 10 0 7 6 10 -1 8 6 11 1 1 6 11 0 6 6 11 -1 7 6 12 1 3 6 12 0 5 6 12 -1 9 7 1 1 2 7 1 0 4 7 1 -1 8 7 2 1 1 7 2 ... more lines ... 350 1 -1 8 350 2 0 1 350 2 -1 4 350 2 1 5 350 3 0 4 350 3 -1 7 350 3 1 9 350 4 0 3 350 4 -1 4 350 4 1 6 350 5 -1 1 350 5 1 2 350 5 0 3 350 6 1 2 350 6 0 5 350 6 -1 7 350 7 1 2 350 7 0 6 350 7 -1 9 350 8 1 1 350 8 -1 8 350 8 0 9 350 9 0 5 350 9 1 6 350 9 -1 8 350 10 1 3 350 10 -1 7 350 10 0 8 350 11 0 1 350 11 1 6 350 11 -1 7 350 12 1 3 350 12 0 5 350 12 -1 9 ;
proc print data=Sydney(obs=18); run;
Specifically, each of the 200 respondents was given 12 choice tasks; each task consisted of a subset of three of these nine short-term improvements (alternatives). For each of these tasks, the respondent was asked to choose an alternative that should receive the highest priority (indicated by 1) and an alternative that should receive the lowest priority (indicated by –1).
The data for the first several choice sets are shown in Output 27.8.1. The variable RespID identifies each respondent. The variable Set indexes the 12 choice tasks that are given to each respondent. The variable Choice is the response variable that represents the decision: 1 for the highest priority, –1 for the lowest priority, and 0 for those in between. The variable Index has values from 1 to 9, each of which represents one of the nine improvement alternatives. This variable is listed in the CLASS statement as a classification variable, and the last level, 9, is the reference level. The respondent, with RespID=5, answered 12 choice questions, but the table shows only the first six choice tasks. This person picked the second alternative (improved peak rail capacity) as the highest priority, and the eighth alternative (new cycleways, more bike and scooter parking) as the lowest priority.
Output 27.8.1: Data for the First Several MaxDiff Choice Sets
The following statements fit a logit model with random effects for this MaxDiff choice experiment by specifying CHOICETYPE=MAXDIFF:
proc bchoice data=Sydney seed=1 nthreads=8 nmc=20000 thin=2 plots=none; class Index (ref=last) RespID Set; model Choice = / choiceset=(RespID Set) choicetype=maxdiff; random Index / subject=RespID remean type=un; run;
The NMC= option specifies the number of posterior simulation iterations after burn-in, and the THIN=2 option keeps one of every two samples for analysis. PLOTS=NONE is specified to suppress producing the plots to save time. The REMEAN option in the RANDOM statement requests estimation of the mean of the random effects. No fixed effects are specified in the MODEL statement.
The "Model Information" table in Output 27.8.2 shows that the type of choice response is MaxDiff.
Output 27.8.2: Model Information
As shown in the "Choice Sets Summary" table in Output 27.8.3, there are a total of 2,400 choice sets (200 respondents, each with 12 choice sets), all of which display the same pattern: each has a total of three alternatives, one of which was chosen as the highest priority (best), another one was chosen as the lowest priority (worst), and the remaining one was not chosen.
Output 27.8.3: Choice Sets Summary
Summary statistics for the mean of the random effects (labeled as "REMEAN") and the covariance of the random effects (labeled as "RECOV") are shown in Output 27.8.4. On average, the second improvement alternative (Index=2, improved peak rail capacity) has the largest part-worth value of 3.85, and the third improvement alternative (Index=3, more frequent bus service on major routes) has the next-largest part-worth value. The part-worth value of the last alternative (Index=9) is structural 0. The ranking for the nine improvements from the highest priority to the lowest is 2, 3, 1, 5, 6, 9, 7, 4, and 8. It seems that in general people are most concerned about transportation on major routes during busy hours.
Output 27.8.4: PROC BCHOICE Posterior Summary Statistics
| Posterior Summaries and Intervals | |||||
|---|---|---|---|---|---|
| Parameter | N | Mean | Standard Deviation | 95% HPD Interval | |
| REMean Index 1 | 10000 | 1.4291 | 0.3042 | 0.8229 | 2.0192 |
| REMean Index 2 | 10000 | 3.8554 | 0.3467 | 3.1852 | 4.5356 |
| REMean Index 3 | 10000 | 3.0110 | 0.3108 | 2.4244 | 3.6337 |
| REMean Index 4 | 10000 | -0.8314 | 0.3217 | -1.4560 | -0.1999 |
| REMean Index 5 | 10000 | 0.8937 | 0.3063 | 0.2722 | 1.4739 |
| REMean Index 6 | 10000 | 0.7749 | 0.3183 | 0.1597 | 1.4073 |
| REMean Index 7 | 10000 | -0.5741 | 0.3278 | -1.2157 | 0.0646 |
| REMean Index 8 | 10000 | -1.5394 | 0.3073 | -2.1602 | -0.9580 |
| RECov Index 1, Index 1 | 10000 | 14.8555 | 2.1808 | 10.6273 | 19.1673 |
| RECov Index 2, Index 1 | 10000 | 12.8307 | 2.1035 | 8.9311 | 17.1101 |
| RECov Index 2, Index 2 | 10000 | 17.2483 | 2.6550 | 12.4063 | 22.6886 |
| RECov Index 3, Index 1 | 10000 | 11.4254 | 1.9311 | 7.7419 | 15.2444 |
| RECov Index 3, Index 2 | 10000 | 13.2266 | 2.1780 | 9.0158 | 17.4365 |
| RECov Index 3, Index 3 | 10000 | 14.2821 | 2.1736 | 10.2170 | 18.6448 |
| RECov Index 4, Index 1 | 10000 | 11.4926 | 1.9608 | 7.7660 | 15.3728 |
| RECov Index 4, Index 2 | 10000 | 9.9519 | 2.0063 | 6.0542 | 13.8420 |
| RECov Index 4, Index 3 | 10000 | 10.5877 | 1.9189 | 6.8862 | 14.3772 |
| RECov Index 4, Index 4 | 10000 | 16.6336 | 2.4546 | 12.0061 | 21.5206 |
| RECov Index 5, Index 1 | 10000 | 11.3054 | 1.9592 | 7.6339 | 15.2169 |
| RECov Index 5, Index 2 | 10000 | 11.6876 | 2.0882 | 7.9589 | 16.0430 |
| RECov Index 5, Index 3 | 10000 | 10.8130 | 1.9255 | 7.3641 | 14.8192 |
| RECov Index 5, Index 4 | 10000 | 10.6285 | 1.9907 | 7.0367 | 14.7534 |
| RECov Index 5, Index 5 | 10000 | 15.2144 | 2.2827 | 10.9980 | 19.7565 |
| RECov Index 6, Index 1 | 10000 | 11.3246 | 1.9902 | 7.4668 | 15.1618 |
| RECov Index 6, Index 2 | 10000 | 11.7650 | 2.1211 | 7.8721 | 16.0694 |
| RECov Index 6, Index 3 | 10000 | 10.5438 | 1.9467 | 6.9584 | 14.4123 |
| RECov Index 6, Index 4 | 10000 | 10.9368 | 2.0576 | 7.2383 | 15.1956 |
| RECov Index 6, Index 5 | 10000 | 15.3265 | 2.2869 | 10.9703 | 19.7437 |
| RECov Index 6, Index 6 | 10000 | 16.8353 | 2.4481 | 12.3717 | 21.7751 |
| RECov Index 7, Index 1 | 10000 | 13.0307 | 2.0579 | 9.0988 | 17.1055 |
| RECov Index 7, Index 2 | 10000 | 12.4041 | 2.1295 | 8.4571 | 16.6625 |
| RECov Index 7, Index 3 | 10000 | 11.0318 | 1.9352 | 7.4545 | 14.9278 |
| RECov Index 7, Index 4 | 10000 | 11.3357 | 2.0386 | 7.5180 | 15.4328 |
| RECov Index 7, Index 5 | 10000 | 13.3085 | 2.1345 | 9.4358 | 17.5905 |
| RECov Index 7, Index 6 | 10000 | 13.2184 | 2.1730 | 9.2114 | 17.5802 |
| RECov Index 7, Index 7 | 10000 | 18.0400 | 2.5687 | 13.1280 | 23.0490 |
| RECov Index 8, Index 1 | 10000 | 7.2473 | 1.6590 | 4.1723 | 10.5612 |
| RECov Index 8, Index 2 | 10000 | 8.1009 | 1.8005 | 4.7421 | 11.6407 |
| RECov Index 8, Index 3 | 10000 | 8.2427 | 1.7017 | 5.1639 | 11.6972 |
| RECov Index 8, Index 4 | 10000 | 9.2959 | 1.8450 | 5.8923 | 12.9848 |
| RECov Index 8, Index 5 | 10000 | 7.9252 | 1.7191 | 4.6876 | 11.2987 |
| RECov Index 8, Index 6 | 10000 | 7.8835 | 1.7567 | 4.6412 | 11.3654 |
| RECov Index 8, Index 7 | 10000 | 7.5465 | 1.7841 | 4.2349 | 11.1415 |
| RECov Index 8, Index 8 | 10000 | 14.3947 | 2.2484 | 10.2301 | 18.7904 |
The covariance matrix () characterizes the extent of heterogeneity among individuals. Large diagonal elements of the covariance matrix indicate substantial heterogeneity in part-worths. Off-diagonal elements indicate patterns in the evaluation of alternatives. Most of the diagonal elements of the matrix are large, indicating that there is a large difference among people in the priorities they would set for future improvements in public transportation.
Copyright © SAS Institute Inc. All rights reserved.