Pivot design and citation
Posted: Mon Mar 25, 2019 2:32 am
Hello,
I have read a post about pivot design (http://choice-metrics.com/forum/viewtopic.php?f=4&t=460), and I have questions:
1. To make a citation for Dr. Bliemer's two-step process, which article should I refer to?
I found one (Rose, J. M., Bliemer, M. C., Hensher, D. A., & Collins, A. T. (2008). Designing efficient stated choice experiments in the presence of reference alternatives. Transportation Research Part B: Methodological, 42(4), 395-406.), but if you can suggest more appropriate article(s), it would be great.
2. I have developed my own syntax, but I encountered an error message like this:
"Error: The modified Federov candidate set size of 2000 could not be achieved. The percentages of candidates that failed are: 47.53% due dominance, 52.47% due constraints, and 0% due repeated alternatives. The candidate set size has been adjusted from 2000 to 90."
Here are the details of my design:
* Alternatives: Taxi 1, Taxi 2, Paratransit, Bus, Personal Car
* Attribute: each mode has three attributes (travel time, travel cost, and crowd)
* Attribute levels:
- travel time: 70%, 100%, 130%
- travel cost: 70%, 100%, 130%
- crowd: Yes, No
* The base would be calculated for respondents' answers.
* Some conditions would be applied:
- If TAXI1 is CROWD, TAXI1.COST should not be 130%.
- If TAXI1 is not CROWD, TAXI1.COST should not be 70%.
- If TAXI2 is CROWD, TAXI2.COST should not be 130%.
- If TAXI2 is not CROWD, TAXI2.COST should not be 70%.
- PC.COST should be higher than TAXI1.COST.
- TAXI1.COST should be higher TAXI2.COST.
- Paratransit cost (PR.COST) should be 1.83.
- Bus cost (BS.COST) should be 1.25.
- PC should not be crowd.
- PR and BS should be crowd.
* I will develop three different designs.
* My syntax of one of the three designs is like:
Design
;alts = TAXI1*, TAXI2*, PR*, BS*, PC*
;rows = 12
;alg = mfederov(stop=noimprov(80 secs))
;eff = (mnl,d)
;reject:
TAXI1.HUMAN = 1 and TAXI1.COST = 1.95,
TAXI1.HUMAN = 2 and TAXI1.COST = 1.05,
TAXI2.HUMAN = 1 and TAXI2.COST = 1.56,
TAXI2.HUMAN = 2 and TAXI2.COST = 0.84,
PC.COST < TAXI1.COST,
TAXI1.COST < TAXI2.COST,
PC.HUMAN = 2,
PR.HUMAN = 1,
BS.HUMAN = 1,
TAXI1.TIME=8, TAXI1.TIME=11, TAXI1.TIME=14, TAXI1.TIME=17, TAXI1.TIME=19, TAXI1.TIME=21, TAXI1.TIME=22, TAXI1.TIME=27, TAXI1.TIME=30, TAXI1.TIME=35, TAXI1.TIME=39,
TAXI2.TIME=8, TAXI2.TIME=9, TAXI2.TIME=11, TAXI2.TIME=14, TAXI2.TIME=16, TAXI2.TIME=19, TAXI2.TIME=21, TAXI2.TIME=27, TAXI2.TIME=30, TAXI2.TIME=35, TAXI2.TIME=39,
PR.TIME=8, PR.TIME=9, PR.TIME=11, PR.TIME=12, PR.TIME=14, PR.TIME=16, PR.TIME=17, PR.TIME=21, PR.TIME=22, PR.TIME=30, PR.TIME=39,
BS.TIME=8, BS.TIME=9, BS.TIME=11, BS.TIME=12, BS.TIME=14, BS.TIME=16, BS.TIME=17, BS.TIME=19, BS.TIME=22, BS.TIME=27, BS.TIME=35,
PC.TIME=9, PC.TIME=12, PC.TIME=16, PC.TIME=17, PC.TIME=19, PC.TIME=21, PC.TIME=22, PC.TIME=27, PC.TIME=30, PC.TIME=35, PC.TIME=39,
TAXI1.COST=0.84, TAXI1.COST=1.20, TAXI1.COST=1.25, TAXI1.COST=1.47, TAXI1.COST=1.56, TAXI1.COST=1.83, TAXI1.COST=2.10, TAXI1.COST=2.73,
TAXI2.COST=1.05, TAXI2.COST=1.25, TAXI2.COST=1.47, TAXI2.COST=1.50, TAXI2.COST=1.83, TAXI2.COST=1.95, TAXI2.COST=2.10, TAXI2.COST=2.73,
PR.COST=0.84, PR.COST=1.05, PR.COST=1.20, PR.COST=1.25, PR.COST=1.47, PR.COST=1.50, PR.COST=1.56, PR.COST=1.95, PR.COST=2.10, PR.COST=2.73,
BS.COST=0.84, BS.COST=1.05, BS.COST=1.20, BS.COST=1.47, BS.COST=1.50, BS.COST=1.56, BS.COST=1.83, BS.COST=1.95, BS.COST=2.10, BS.COST=2.73,
PC.COST=0.84, PC.COST=1.05, PC.COST=1.20, PC.COST=1.25, PC.COST=1.50, PC.COST=1.56, PC.COST=1.83, PC.COST=1.95
? b1 = travel time
? b2 = travel cost
? b3.dummy = human assistance (1 = No, 2 = Yes)
;model:
U(PC) = b1[-0.00001] * TIME[8,9,11,12,14,16,17,19,21,22,27,30,35,39] + b2[-0.00001] * COST [0.84,1.05,1.20,1.25,1.47,1.50,1.56,1.83,1.95,2.10,2.73] + b3.dummy[0.00001] * HUMAN[1, 2] /
U(TAXI1) = alt.TAXI1[0] + b1 * TIME + b2[-0.00001] * COST + b3.dummy * HUMAN /
U(TAXI2) = alt.TAXI2[0] + b1 * TIME + b2 * COST + b3.dummy * HUMAN /
U(PR) = alt.PR[0] + b1 * TIME + b2 * COST + b3.dummy * HUMAN /
U(BS) = alt.BS[0] + b1 * TIME + b2 * COST + b3.dummy * HUMAN
$
Could you please help me fix the error message?
Thank you very much in advance.
I have read a post about pivot design (http://choice-metrics.com/forum/viewtopic.php?f=4&t=460), and I have questions:
1. To make a citation for Dr. Bliemer's two-step process, which article should I refer to?
I found one (Rose, J. M., Bliemer, M. C., Hensher, D. A., & Collins, A. T. (2008). Designing efficient stated choice experiments in the presence of reference alternatives. Transportation Research Part B: Methodological, 42(4), 395-406.), but if you can suggest more appropriate article(s), it would be great.
2. I have developed my own syntax, but I encountered an error message like this:
"Error: The modified Federov candidate set size of 2000 could not be achieved. The percentages of candidates that failed are: 47.53% due dominance, 52.47% due constraints, and 0% due repeated alternatives. The candidate set size has been adjusted from 2000 to 90."
Here are the details of my design:
* Alternatives: Taxi 1, Taxi 2, Paratransit, Bus, Personal Car
* Attribute: each mode has three attributes (travel time, travel cost, and crowd)
* Attribute levels:
- travel time: 70%, 100%, 130%
- travel cost: 70%, 100%, 130%
- crowd: Yes, No
* The base would be calculated for respondents' answers.
* Some conditions would be applied:
- If TAXI1 is CROWD, TAXI1.COST should not be 130%.
- If TAXI1 is not CROWD, TAXI1.COST should not be 70%.
- If TAXI2 is CROWD, TAXI2.COST should not be 130%.
- If TAXI2 is not CROWD, TAXI2.COST should not be 70%.
- PC.COST should be higher than TAXI1.COST.
- TAXI1.COST should be higher TAXI2.COST.
- Paratransit cost (PR.COST) should be 1.83.
- Bus cost (BS.COST) should be 1.25.
- PC should not be crowd.
- PR and BS should be crowd.
* I will develop three different designs.
* My syntax of one of the three designs is like:
Design
;alts = TAXI1*, TAXI2*, PR*, BS*, PC*
;rows = 12
;alg = mfederov(stop=noimprov(80 secs))
;eff = (mnl,d)
;reject:
TAXI1.HUMAN = 1 and TAXI1.COST = 1.95,
TAXI1.HUMAN = 2 and TAXI1.COST = 1.05,
TAXI2.HUMAN = 1 and TAXI2.COST = 1.56,
TAXI2.HUMAN = 2 and TAXI2.COST = 0.84,
PC.COST < TAXI1.COST,
TAXI1.COST < TAXI2.COST,
PC.HUMAN = 2,
PR.HUMAN = 1,
BS.HUMAN = 1,
TAXI1.TIME=8, TAXI1.TIME=11, TAXI1.TIME=14, TAXI1.TIME=17, TAXI1.TIME=19, TAXI1.TIME=21, TAXI1.TIME=22, TAXI1.TIME=27, TAXI1.TIME=30, TAXI1.TIME=35, TAXI1.TIME=39,
TAXI2.TIME=8, TAXI2.TIME=9, TAXI2.TIME=11, TAXI2.TIME=14, TAXI2.TIME=16, TAXI2.TIME=19, TAXI2.TIME=21, TAXI2.TIME=27, TAXI2.TIME=30, TAXI2.TIME=35, TAXI2.TIME=39,
PR.TIME=8, PR.TIME=9, PR.TIME=11, PR.TIME=12, PR.TIME=14, PR.TIME=16, PR.TIME=17, PR.TIME=21, PR.TIME=22, PR.TIME=30, PR.TIME=39,
BS.TIME=8, BS.TIME=9, BS.TIME=11, BS.TIME=12, BS.TIME=14, BS.TIME=16, BS.TIME=17, BS.TIME=19, BS.TIME=22, BS.TIME=27, BS.TIME=35,
PC.TIME=9, PC.TIME=12, PC.TIME=16, PC.TIME=17, PC.TIME=19, PC.TIME=21, PC.TIME=22, PC.TIME=27, PC.TIME=30, PC.TIME=35, PC.TIME=39,
TAXI1.COST=0.84, TAXI1.COST=1.20, TAXI1.COST=1.25, TAXI1.COST=1.47, TAXI1.COST=1.56, TAXI1.COST=1.83, TAXI1.COST=2.10, TAXI1.COST=2.73,
TAXI2.COST=1.05, TAXI2.COST=1.25, TAXI2.COST=1.47, TAXI2.COST=1.50, TAXI2.COST=1.83, TAXI2.COST=1.95, TAXI2.COST=2.10, TAXI2.COST=2.73,
PR.COST=0.84, PR.COST=1.05, PR.COST=1.20, PR.COST=1.25, PR.COST=1.47, PR.COST=1.50, PR.COST=1.56, PR.COST=1.95, PR.COST=2.10, PR.COST=2.73,
BS.COST=0.84, BS.COST=1.05, BS.COST=1.20, BS.COST=1.47, BS.COST=1.50, BS.COST=1.56, BS.COST=1.83, BS.COST=1.95, BS.COST=2.10, BS.COST=2.73,
PC.COST=0.84, PC.COST=1.05, PC.COST=1.20, PC.COST=1.25, PC.COST=1.50, PC.COST=1.56, PC.COST=1.83, PC.COST=1.95
? b1 = travel time
? b2 = travel cost
? b3.dummy = human assistance (1 = No, 2 = Yes)
;model:
U(PC) = b1[-0.00001] * TIME[8,9,11,12,14,16,17,19,21,22,27,30,35,39] + b2[-0.00001] * COST [0.84,1.05,1.20,1.25,1.47,1.50,1.56,1.83,1.95,2.10,2.73] + b3.dummy[0.00001] * HUMAN[1, 2] /
U(TAXI1) = alt.TAXI1[0] + b1 * TIME + b2[-0.00001] * COST + b3.dummy * HUMAN /
U(TAXI2) = alt.TAXI2[0] + b1 * TIME + b2 * COST + b3.dummy * HUMAN /
U(PR) = alt.PR[0] + b1 * TIME + b2 * COST + b3.dummy * HUMAN /
U(BS) = alt.BS[0] + b1 * TIME + b2 * COST + b3.dummy * HUMAN
$
Could you please help me fix the error message?
Thank you very much in advance.