I have been attempting to create a choice experiment design with a dual response format. Although I referred to some relevant postings in this forum, this is my first try and I am not sure if there is anything that could go wrong. So, it will be greatly appreciated if you could provide me with any inputs with the following questions!
This initial design has three labelled alternatives:
- A battery electric truck
- A hydrogen fuel cell electric truck
- A diesel truck as a reference alternative
- Purchase costs
- Operating costs
- Driving range
- Shortest distance to an off-site fueling station
- On-site station construction costs
- ASC
Code: Select all
Design
? Dual response format
? Reference alternative: diesel truck
? Efficient design with noninformative priors
;alts (forced) = BEV*, HFCEV*, DSL
;alts (unforced) = BEV*, HFCEV*, DSL
;rows = 18
;block = 3
;eff = combined (mnl,d)
;alg = swap (stop = noimprov(1000 iterations))
;fisher(combined) = design1(forced[0.5], unforced[0.5])
;model(forced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(DSL) = b7[-9] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
;model(unforced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(DSL) = b7[0] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
$
- 1) If you must choose only between battery electric and hydrogen fuel cell electric trucks, what is the most preferred option?
- Battery electric truck
- Hydrogen fuel cell electric truck
2) If a diesel truck were available, would the one previously selected be still the most preferred? - Yes
- No
1. Would you please review this script and let me know if you find anything you'd like to suggest to do differently?
2. When I checked the output in the Ngene, I found two same matrices but different block numbers between the forced and unforced designs. I wonder which set of block numbers should be used?
3. I am curious whether it is possible to include multiple types of reference alternatives. Why I wonder about this is because, in reality, some respondents could have more than one reference options. For example, there are companies that are operating natural gas trucks and diesel trucks at the same time. So, in this case, the same question will be used for the first question, but the second question could be modified as below:
- 2) If diesel and natural gas trucks were available, would the one previously selected be still the most preferred?
- Yes
- No, we prefer a diesel truck.
- No, we prefer a natural gas truck.
Code: Select all
Design
? Dual response design
? Efficient design with noninformative priors
;alts (forced) = BEV*, HFCEV*, NGV, DSL
;alts (unforced) = BEV*, HFCEV*, NGV, DSL
;rows = 18
;block = 3
;eff = combined (mnl,d)
;alg = swap (stop = noimprov(1000 iterations))
;fisher(combined) = design1(forced[0.5], unforced[0.5])
;model(forced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(NGV)= b7[-9] +
b2*pcostn[130] +
b3*ocostn[90] +
b4*rangen[700] +
b5*offsiten[10] +
b6*onsiten[100] /
U(DSL) = b8[-9] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
;model(unforced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(NGV)= b7[0] +
b2*pcostn[130] +
b3*ocostn[90] +
b4*rangen[700] +
b5*offsiten[10] +
b6*onsiten[100] /
U(DSL) = b8[0] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
$
4. Lastly, I wonder if an attribute for a reference alternative should have only single level, or can have multiple levels? For example, some attributes for natural gas trucks could have a range of levels (e.g., 70% or 90 % of operating costs) in reality. Thus, I wonder if it is okay to assign more than one levels to an attribute of a reference alternative. Here is an example of script.
Code: Select all
Design
? Dual response design
? Efficient design with noninformative priors
;alts (forced) = BEV*, HFCEV*, NGV, DSL
;alts (unforced) = BEV*, HFCEV*, NGV, DSL
;rows = 18
;block = 3
;eff = combined (mnl,d)
;alg = swap (stop = noimprov(1000 iterations))
;fisher(combined) = design1(forced[0.5], unforced[0.5])
;model(forced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(NGV)= b7[-9] +
b2*pcostn[105,130] +
b3*ocostn[70,90] +
b4*rangen[700] +
b5*offsiten[10,20] +
b6*onsiten[100] /
U(DSL) = b8[-9] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
;model(unforced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(NGV)= b7[0] +
b2*pcostn[105,130] +
b3*ocostn[70,90] +
b4*rangen[700] +
b5*offsiten[10,20] +
b6*onsiten[100] /
U(DSL) = b8[0] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
$
Best regards,
yb