Hello,
I am a beginner NGENE user who is currently designing a choice experiment to understand farmers' preferences for different types of tree-planting (agroforestry) schemes. We are currently running a pilot (n = 40) with a first design and I hope to use the information we obtain to design a very efficient design that will take advantage of our prior knowledge and allow us to run mixed multinomial logit models (given that heterogeneity is extremely important in this area). My question is how can I best design for mixed multinomial logit analysis and use information from my pilot while not overcomplicating my code to the extent that it takes NGENE too long to run. Below is more information that may allow a helpful expert to give me some guidance:
First, here is the code that was used to design the pilot:
Design
;alts = alt1, alt2, alt3
;rows = 24
;block = 6
;eff = (mnl, d)
;model:
U(alt1) = b0[0.0001] + treemix.effects[0.0002 | 0.0001 | -0.0001] * treemix[0, 1, 2, 3] + downpay[-0.00002] * downpay[0, 10, 20, 30] + pattern.effects[0.0002 | -0.0002] * pattern[0, 1, 2] + pes.effects[0.0002 | 0.0001 | 0.00005] * pes[0, 1, 2, 3] + il1[0.0001] * pattern.effects[0] * treemix.effects[0] + il2[-0.0001] * pattern.effects[0] * treemix.effects[1] /
U(alt2) = b0 + treemix.effects * treemix + downpay * downpay + pattern.effects * pattern + pes.effects * pes
+ il1 * pattern.effects[0] * treemix.effects[0] + il2 * pattern.effects[0] * treemix.effects[1]
$
This code does not include the panel structure for mmnl which I hope to add, but has very small fixed priors which are meant to encode "sign" priors. I had 17 guided conversations with farmers using orthogonal cards and several conversations with field staff who had worked in this area for a long time to come up with these "sign" priors that boiled down to "farmers like timber trees, like fruit trees but less than timber, and dislike medicinal trees". As you can see, we have priors about combinations of pattern and species that will be desirable or undesirable (timber on boundaries are extra good and fruit on boundary are bad). We also will be presenting farmers with two choices per choice task and a "take none" / "no choice" option. Each farmer will see 4 cards.
My plan is to use the results from the 40-person pilot (which I will analyze with a multinomial logit model in NLOGIT) to improve the priors and create a design that allows us to detect heterogeneity across farmer type (because farmers at different distances from national park boundaries and farmers with different farm sizes are thought to have different preferences)
Here is my current code:
Design
;alts = alt1, alt2, alt3
;rows = 24
;block = 6
;eff = (rppanel, d)
;model:
U(alt1) = b0[0.0001] + treemix.effects[(n, 0.0002, 0.0001) | (n, 0.0001, 0.00005) | (n, -0.0001, 0.00005)] * treemix[0, 1, 2, 3] + downpay[n, -0.00002, 0.00001] * downpay[0, 10, 20, 30]
+ pattern.effects[0.0002 | -0.0002] * pattern[0, 1, 2] + pes.effects[0.0002 | 0.0001 | 0.00005] * pes[0, 1, 2, 3]
+ il1[0.0001] * pattern.effects[0] * treemix.effects[0] + il2[-0.0001] * pattern.effects[0] * treemix.effects[1] /
U(alt2) = b0 + treemix.effects * treemix + downpay * downpay + pattern.effects * pattern + pes.effects * pes
+ il1 * pattern.effects[0] * treemix.effects[0] + il2 * pattern.effects[0] * treemix.effects[1]
$
I am not sure if it is a problem, but this code already takes several hours to output any designs and I have only specified bayesian priors for treemix and downpay. Previously, I only specified a Bayesian prior (having it be a prior with a normal distribution rather than fixed prior) for downpayment and the code ran much faster. My questions are:
1. Can I and should I input Bayesian priors for the other effect levels and the interaction effects? Or is it sufficient to only add a Bayesian prior to downpayment?
2. Is "rppanel" the correct efficiency parameter for making designs to detect heterogeneous preferences?
3. Based on my study goals, do you all have any other suggestions? (I have not modified defaults for things like rdraw etc.).
I am using a rapid virtual machine with 40GB of ram, but I am constrained by the fact that the virtual machine restarts every 24 hours (at 6a). I can also run the code on my computer but I have 4 GB of ram (which I was told may be the reason it was taking so long to get results).
Thank you,
Danny