by bobby1994 » Mon Feb 24, 2025 12:53 am
Best professor,
Thank you for your reply.
Because I have few constraints, I opted for the d-efficient design. Below I have 3 programs as you suggested, access, egress and the context. I have few questions.
1) Do you have any comments on improvement for the codes?
2) I choose to do 12 rows with 3 blocks. With the amount of parameters included could you maybe indicate whether this is fine?
3) In the context program, I have three utility functions. Is it coded right? The third utility function U(purpose) is without the asc. Is that correct?
4) For making combinations can I just select randomly a row from each program? for example to make a choice task can I just select the 1st row from access + the 1st row from the egress + 1st row from the context?
5) Is it allowed to have a bayesian prior for only one attribute and the rest non-bayesian priors?
6) Is it allowed to have priors for all and for one attribute a zero prior?
7) So I have three blocks. I need to implement this in the survey, so three versions. I can just show one block per respondent right, but eventually I should show all three blocks right to different respondents right?
Access
design
;alts = PE, BTM, BIKE, WALKING
;rows = 12
;block = 3
;eff = (mnl, d)
;cond:
if (BIKE.access_BIKE_TT = 8, PE.access_PE_TT < 8),
if (BIKE.access_BIKE_TT = 12, PE.access_PE_TT < 12),
if (BIKE.access_BIKE_TT = 16, PE.access_PE_TT < 16)
;model:
? PE = Private e-scooter, BTM = Bus, Tram, metro, BIKE = Bicycle, WALKING = walking
? for PEPE, the asc and the dummies are removed, because this is the reference alternative
U(PE) = asc1
+ a1 * access_PE_TT[7, 11, 15] ? TT = travel time
+ a2.dummy[0] * com_PE[1,0] ? com = comfort in train, 1 = stored, 0 = holding
/
U(BTM)= asc2
+ b1 * access_BTM_WKT[4,6,8] ? WKT = walking time
+ b2 * access_BTM_TT[4,7,10]
+ b3 * access_BTM_WTT[6,9,12] ? waiting time train
+ b4 * access_BTM_TC[1, 2, 3] ? TC = travel cost
/
U(BIKE)= asc3
+ c1 * access_BIKE_TT[8,12,16]
+ c2 * access_BIKE_PST[1,4,7]
/
U(WALKING) = e1 * access_WALKING_TT[25,30,35]
$
Egress
design
;alts = PE, BTM, BIKE, WALKING
;rows = 12
;block = 3
;eff = (mnl, d)
;cond:
if (BIKE.egress_BIKE_TT = 8, PE.egress_PE_TT < 8),
if (BIKE.egress_BIKE_TT = 12, PE.egress_PE_TT < 12),
if (BIKE.egress_BIKE_TT = 16, PE.egress_PE_TT < 16)
;model:
? PE = Private e-scooter, BTM = Bus, Tram, metro, BIKE = Bicycle, WALKING = walking
? for PEPE, the asc and the dummies are removed, because this is the reference alternative
U(PE) = asc1
+ a3 * egress_PE_TT[7,11,15]
+ a4 * egress_PE_PST[1,4,7] ? PST = parking search time
/
U(BTM)= asc2
+ b5 * egress_BTM_WTB[6,8,10] ? WTB = waiting time BTM
+ b6 * egress_BTM_TT[4,7,10]
+ b7 * egress_BTM_WKTD[2,5,8] ? WKTD = walking time to destination
+ b8 * egress_BTM_TC[1, 2, 3]
/
U(BIKE)= asc3
+ c3 * egress_BIKE_TT[8,12,16]
+ c4 * egress_BIKE_PST[1,4,7]
/
U(WALKING) = e2 * egress_WALKING_TT[25,30,35]
$
Context
design
;alts = weather, tod, purpose
;rows = 12
;block = 3
;eff = (mnl, d)
;model:
U(weather) = asc1 + w1.dummy[0] * weather[1,0] ? 1 = sun, 0 = rain
/
U(tod) = asc2 + y1.dummy[0] * tod[1,0] ? tod = time of day, 1 = daylight, 0 = dark
/
U(purpose) = z1.dummy[0|0] * purpose[1,2,0] ? 1 = education, 2 = leisure, 0 = work
$