"Pivot" design without fixed alternative?
Posted: Thu Mar 25, 2010 11:15 pm
Hello,
I’m currently faced with a problem that I have not yet been able to solve using Ngene: I have (for each respondent in a survey) a reported trip from a travel diary, with all its attributes, and the attributes of the alternative mode. For example, the respondent has reported a car trip from A to B with its attributes, and the attributes of the rail alternative have been determined by myself (or the other way around, if the reported trip was a rail trip).
Now, what I’d like to do is generate a “pivot” (not sure whether this is the correct term to use) efficient design from these data (for a mode choice experiment), without having to keep the attributes for one alternative constant. That is, I’d like to vary the attributes around the given trip and its mode alternative, without the respondent being faced with his actual reported trip as one of the shown alternatives.
Here’s a simplified example for illustration:
Reported car trip: travel time 20 minutes, cost 10 dollars.
Rail alternative determined by me: travel time 25 minutes, cost 10 dollars.
Attribute level variations to be used in the design:
- travel time -10%, +5%, +10%
- cost -10%, +5%, +10%
That is, the resulting design should contain lines such as:
car t.t. car c. rail t.t. rail c.
-10% +10% +10% -5%
+10% -10% +10% +10%
etc.
Which, for this specific respondent, would yield the following attribute combinations:
car t.t. car c. rail t.t. rail c.
18 11 27.5 9.5
22 9 27.5 11
etc.
(Respondents with different reported attributes would evidently be faced with different choices, according to the percentage changes.)
I tried implementing this using the following formulation:
U(car) = b1[-0.4] * car_tt.piv[-10%,+5%,+10%] + b2[-0.8] * car_c[-10%,+5%,+10%]
U(rail) = b1 * rail_tt[-10%,+5%,+10%] + b2 * rail_c[-10%,+5%,+10%]
However, to be able to use x.piv, Ngene logically requires x.ref to be stated somewhere, so this is obviously not the correct way to do this.
Do you have any idea on how this could be accomplished? Perhaps by multiplying the reference attributes into the parameter priors and re-formulating the attributes? That’s the best idea I’ve come up with so far, but I’m afraid I might be missing something. What I mean is something like:
U(car) = b1[-8] * car_tt_factor[0.9,1.05,1.1] + b2[-8] * car_c_factor[0.9,1.05,1.1]
(That is, b1 is now replaced by b1 times the reference value for travel time (let’s suppose 20 is the sample average here), and the percentage changes have been replaced by factors; same for cost, etc.)
This would allow me to simply multiply the reference attributes by the factors resulting from the design, thus leading to different choice situations for the various respondents. As I said though, I’m not quite sure if that’s proper methodology. I’m aware that some efficiency will be lost because of the different reported trips (i.e., the design that’s efficient for the 20 minutes reference might not be for 30 minutes), however could this be counteracted by a segregation into classes (i.e., one design for short, one for medium length, one for long trips)?
Does anyone have another idea on this might be accomplished? Any advice would be much appreciated!
Thanks a lot in advance and best regards
Claude Weis
I’m currently faced with a problem that I have not yet been able to solve using Ngene: I have (for each respondent in a survey) a reported trip from a travel diary, with all its attributes, and the attributes of the alternative mode. For example, the respondent has reported a car trip from A to B with its attributes, and the attributes of the rail alternative have been determined by myself (or the other way around, if the reported trip was a rail trip).
Now, what I’d like to do is generate a “pivot” (not sure whether this is the correct term to use) efficient design from these data (for a mode choice experiment), without having to keep the attributes for one alternative constant. That is, I’d like to vary the attributes around the given trip and its mode alternative, without the respondent being faced with his actual reported trip as one of the shown alternatives.
Here’s a simplified example for illustration:
Reported car trip: travel time 20 minutes, cost 10 dollars.
Rail alternative determined by me: travel time 25 minutes, cost 10 dollars.
Attribute level variations to be used in the design:
- travel time -10%, +5%, +10%
- cost -10%, +5%, +10%
That is, the resulting design should contain lines such as:
car t.t. car c. rail t.t. rail c.
-10% +10% +10% -5%
+10% -10% +10% +10%
etc.
Which, for this specific respondent, would yield the following attribute combinations:
car t.t. car c. rail t.t. rail c.
18 11 27.5 9.5
22 9 27.5 11
etc.
(Respondents with different reported attributes would evidently be faced with different choices, according to the percentage changes.)
I tried implementing this using the following formulation:
U(car) = b1[-0.4] * car_tt.piv[-10%,+5%,+10%] + b2[-0.8] * car_c[-10%,+5%,+10%]
U(rail) = b1 * rail_tt[-10%,+5%,+10%] + b2 * rail_c[-10%,+5%,+10%]
However, to be able to use x.piv, Ngene logically requires x.ref to be stated somewhere, so this is obviously not the correct way to do this.
Do you have any idea on how this could be accomplished? Perhaps by multiplying the reference attributes into the parameter priors and re-formulating the attributes? That’s the best idea I’ve come up with so far, but I’m afraid I might be missing something. What I mean is something like:
U(car) = b1[-8] * car_tt_factor[0.9,1.05,1.1] + b2[-8] * car_c_factor[0.9,1.05,1.1]
(That is, b1 is now replaced by b1 times the reference value for travel time (let’s suppose 20 is the sample average here), and the percentage changes have been replaced by factors; same for cost, etc.)
This would allow me to simply multiply the reference attributes by the factors resulting from the design, thus leading to different choice situations for the various respondents. As I said though, I’m not quite sure if that’s proper methodology. I’m aware that some efficiency will be lost because of the different reported trips (i.e., the design that’s efficient for the 20 minutes reference might not be for 30 minutes), however could this be counteracted by a segregation into classes (i.e., one design for short, one for medium length, one for long trips)?
Does anyone have another idea on this might be accomplished? Any advice would be much appreciated!
Thanks a lot in advance and best regards
Claude Weis