Page 1 of 1

Simultaneous orthogonal design

PostPosted: Thu Aug 10, 2023 12:18 am
by Gabrield
Dear Sir,
I am creating a stated choice experiment in order to verify the choice of different modes of transport (i.e., car, bus, e-scooter, and e-bike) according to some attributes (i.e., travel time, travel cost, presence of dedicated infrastructure, and presence of technology). Although, when I generate the simultaneous orthogonal factorial design, some of the scenarios created seem unreal, for example: when comparing the car with the bus, the latter presents travel time lower than the car, with the lowest cost when there is no dedicated infrastructure present, which does seem as a realistic scenario.

I am using the following syntax:
? This will generate a simultaneous orthogonal factorial design
Design
;alts = car, bus, escooter, ebike
;rows = 36
;orth = sim
;block = 3
;model:
U(car) = b1 + b2 * traveltime[8,11,14] + b3 * cost[3.5,5,6.5] /
U(bus) = b2 * traveltime2[15,12,9] + b3 * cost2[0.75,0.5,0] + b4 * infra[0,1] /
U(escooter) = b2 * traveltime3[25,15,10] + b3 * cost3[5,3.5,2] + b4 * infra2[0,50,100] + b5 * tech[1,2] /
U(ebike) = b2 * traveltime4[20,12,8] + b3 * cost4[5,3.5,2] + b4 * infra3[0,50,100] + b5 * tech[1,2]
$

Could you give me some advice on how to manage the syntax to overcome this problem?

Thanks in advance.

Re: Simultaneous orthogonal design

PostPosted: Thu Aug 10, 2023 10:44 am
by Michiel Bliemer
Orthogonal designs do not allow imposing any constraints to make the choice tasks more realistic, so the only way to impose such constraints is to move away from orthogonal designs.

In the example script below, I use an efficient design with conditional constraints. Note that you your traveltime attributes need alternative-specific coefficients since the travel time in a car is experieced very differently from travel time in a bus, bike, and escooter. Maybe some other attributes also need alternative-specific coefficients. Also consider if some of your attributes are categorical for which you need dummy coding.

Code: Select all
Design
;alts = car, bus, escooter, ebike
;rows = 36
;eff = (mnl,d)
;cond:
if(car.traveltime = 11, bus.traveltime2 = [12,15]),
if(car.traveltime = 14, bus.traveltime2 = 15)
;block = 3
;model:
U(car)      = b1
            + b2  * traveltime[8,11,14]
            + b3  * cost[3.5,5,6.5]
            /
U(bus)      = b4
            + b5  * traveltime2[15,12,9]
            + b3  * cost2[0.75,0.5,0]
            + b6  * infra[0,1]
            /
U(escooter) = b7
            + b8  * traveltime3[25,15,10]
            + b3  * cost3[5,3.5,2]
            + b9  * infra2[0,50,100]
            + b10 * tech[1,2] ? maybe requires dummy coding?
            /
U(ebike)    = b11 * traveltime4[20,12,8]
            + b3  * cost4[5,3.5,2]
            + b12 * infra3[0,50,100]
            + b13 * tech[1,2]  ? maybe requires dummy coding?
$


Michiel