Some issues for newby

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Some issues for newby

Postby halilka » Thu Oct 06, 2022 9:16 pm

Dear all,

Since experiment design is one of the most critical stages of the study, I am writing here both for confirmation and because I have questions about some issues. I know that I have asked too many questions, but I want to set up this stage correctly. In addition, there are almost no studies on the discrete choice experiment in the Turkish literature and I want to be able to explain these questions in detail in my study both for myself and for researchers who want to use this method.

There are two labeled alternatives that I use in my study (home delivery and Delivery point) Five attributes of the alternatives are the same but their levels are different and one attribute is specific to delivery point. First of all, I want to use orthogonal design in the pilot study and make an efficient design using the priori values I will obtain.
I would be very grateful if you could answer my questions listed below.

**My syntax is given below. Are 8 blocks of 12 choice sets correct for orthogonal design? Or can I decrease the number of choice sets?
**Is orth = sim or orth = seq2 more suitable for labeled alternatives?

Code: Select all
?seq2 design with: 5 AC attributes,6 DL attributes; 2&3&4 attribute values; 8 blocks

design
;orth = sim
;alts = AdressofChoice, DeliveryPlace
;rows = 96
;block = 8
;model:
U (AdressofChoice)= b0+ b1 * deliveryprice[15,30,45,60] + b2 * deliveryterm[1,2,3,4] + b3 * timewindow[1,2,3,4] + b4 * deliverymethod[1,2,3] + b5 * traceandinfo[1,2]/

U(DeliveryPlace)= b6 * deliveryprice2 [10,20,30,45] + b7 * deliveryterm2[1,2,3,4] + b8 * timewindow2[1,2,3,4] + b9 * deliverymethod2[1,2] + b10 * traceandinfo2[1,2] + b11 * distance[1,2,3,4]
$



**How many times should I use 8 blocks in the pilot test study? Would it be appropriate to set a certain upper limit for each block and stop answering the questionnaire that reaches that limit in order not to violate the orthogonality?

**I want to present the scenario to the participants for three different products. Would 2 participants per block be enough for each product in the pilot study prepared with an orthogonal design? (2 participants X 3 products X 8 blocks).
**Can I use a total of 48 participants for a single mnl analysis in the Pilot study? In Merkert et al. (2022), participants were asked to report on the product and its value, and an analysis was conducted in total. Is it appropriate to give the participants three scenarios instead of asking them?

**What is the minimum number of choice sets for the efficient design I created with the prior values resulting from the orthogonal design? Because, while Ngene gave at least 96 choice sets in the orthogonal design, it presented a design with 24 choice sets in the efficient design with prior values of 0.
**Would it be appropriate for efficient design to divide the number of choice sets I obtained into blocks and determine an upper number of participants and ensure that both blocks are answered equally?
**I use the efficient design as eff(mnl,d). Can I use study data for mixed logit or latent class analysis?

Code: Select all
?seq2 design with: 5 AC attributes,6 DL attributes; 2&3&4 attribute values; 8 blocks

design
;eff = (mnl,d)
;alts = AdressofChoice, DeliveryPlace
;rows = 24
;block = 3
;model:
U (AdressofChoice)= b0+ b1 * deliveryprice[15,30,45,60] + b2 * deliveryterm[1,2,3,4] +
b3 * timewindow[1,2,3,4] + b4 * deliverymethod[1,2,3] + b5 * traceandinfo[1,2]/

U(DeliveryPlace)= b6 * deliveryprice2 [10,20,30,45] + b7 * deliveryterm2[1,2,3,4] +
b8 * timewindow2[1,2,3,4] + b9 * deliverymethod2[1,2] + b10 * traceandinfo2[1,2] + b11 * distance[1,2,3,4]
$


I am bothering you so much. Thanks in advance.

Best regards,

Halil
Ref: Merkert, R., Bliemer, M. C., & Fayyaz, M. (2022). Consumer preferences for innovative and traditional last-mile parcel delivery. International Journal of Physical Distribution & Logistics Management.
halilka
 
Posts: 3
Joined: Thu Oct 06, 2022 7:46 am

Re: Some issues for newby

Postby Michiel Bliemer » Thu Oct 06, 2022 10:34 pm

You can use any type of design for the pilot study, so sim and seq2 would both be fine. But given that the attribute levels differ across the alternatives, sim makes more sense I think.

What you need to think about carefully is the identifiability of the parameters. If you dummy code both deliveryterm and deliveryterm2 and their base levels are different, then it is not possible to also estimate constant b0. And the same for timewindow and timewindow2. I am one of the co-authors of the Merkert et al. paper and the only way to estimate the model is to select identical base levels for dummies deliveryterm and deliveryterm2. So you would get something like:

;alg = mfederov
;reject:
HomeDelivery.deliveryterm = 2, ? if deliveryterm level 2 cannot occur for HomeDelivery
DeliveryPoint.deliveryterm = 5 ? if deliveryterm level 5 cannot occur for DeliveryPoint
;model:
U(HomeDelivery) = ... + b2.dummy[0|0|0|0|0] * deliveryterm[1,2,3,4,5,0] + ... ? 0 is the base level that appears in both alternatives
U(DeliveryPoint) = ... + b2.dummy[0|0|0|0|0] * deliveryterm[1,2,3,4,5,0] + ...

Without explicitly specifying the dummy variables in the model you will not be able to check whether your model can actually be estimated. Instead of using an orthogonal design, I would probably use a D-efficient design with (near) zero priors. If the D-error is Undefined or extremely large, then the model cannot be estimated. With a D-efficient design there is no need to use 96 rows, you could use a smaller number of rows and blocks. With 2 alternatives, the minimum number of rows is simply the number of parameters you are estimating. If you have 20 parameters then 20 rows would be the minimum. I generally multiply this minimum with 2 or 2 to have sufficient variation in the data, so 60 or larger would be a good number of rows. With sufficient variation in the data, you can estimate more advanced models such as mixed logit and latent class.

Yes you can show different products in a scenario, but if the respondent never buys that product or never has that product delivered then the choice task may not be familiar to the respondent and this would increase hypothetical bias. This is the reason why in Merkert et al the respondent is referred to a recent product delivery.

Michiel
Michiel Bliemer
 
Posts: 1705
Joined: Tue Mar 31, 2009 4:13 pm

Re: Some issues for newby

Postby halilka » Fri Oct 07, 2022 12:41 am

Dear Michiel,

Thank you for your fast reply. As you mentioned, All the base levels are different than each other. Can I use the same code with removing b0.
Code: Select all
?seq2 design with: 5 AC attributes,6 DL attributes; 2&3&4 attribute values; 8 blocks

design
;eff = (mnl,d)
;alts = AdressofChoice, DeliveryPlace
;rows = 60
;block = 6
;model:
U (AdressofChoice)= b1 * deliveryprice[15,30,45,60] + b2 * deliveryterm[1,2,3,4] +
b3 * timewindow[1,2,3,4] + b4 * deliverymethod[1,2,3] + b5 * traceandinfo[1,2]/

U(DeliveryPlace)= b6 * deliveryprice2 [10,20,30,45] + b7 * deliveryterm2[1,2,3,4] +
b8 * timewindow2[1,2,3,4] + b9 * deliverymethod2[1,2] + b10 * traceandinfo2[1,2] + b11 * distance[1,2,3,4]
$


Best regards,

Halil
halilka
 
Posts: 3
Joined: Thu Oct 06, 2022 7:46 am

Re: Some issues for newby

Postby Michiel Bliemer » Fri Oct 07, 2022 8:46 am

You can estimate the constant, but its value is confounded with the base levels of the categorical variables so it is difficult to interpret the meaning of the constant. You can still estimate it though.

This this script:

Code: Select all
Design
;alts = AdressofChoice, DeliveryPlace
;rows = 60
;block = 6
;eff = (mnl,d)
;model:
U (AdressofChoice) = b0
                   + b1              * deliveryprice[15,30,45,60]
                   + b2.dummy[0|0|0] * deliveryterm[1,2,3,4]
                   + b3.dummy[0|0|0] * timewindow[1,2,3,4]
                   + b4.dummy[0|0]   * deliverymethod[1,2,3]
                   + b5.dummy[0]     * traceandinfo[1,2]
                   /
U(DeliveryPlace)  = b6.dummy[0|0|0]  * deliveryprice2[10,20,30,45]
                  + b7.dummy[0|0|0]  * deliveryterm2[1,2,3,4]
                  + b8.dummy[0|0|0]  * timewindow2[1,2,3,4]
                  + b9.dummy         * deliverymethod2[1,2]
                  + b10.dummy[0]     * traceandinfo2[1,2]
                  + b11              * distance[1,2,3,4]
$


Michiel
Michiel Bliemer
 
Posts: 1705
Joined: Tue Mar 31, 2009 4:13 pm

Re: Some issues for newby

Postby halilka » Fri Oct 07, 2022 3:04 pm

Thank you for your kind and insightful reply.

Halil
halilka
 
Posts: 3
Joined: Thu Oct 06, 2022 7:46 am


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: Google [Bot] and 10 guests

cron