RP Model for rural landscape study

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

RP Model for rural landscape study

Postby stamber2 » Tue Nov 14, 2017 1:50 am

Hi there,

I'm involved in a study that analyzes preferences of residents for future growth in rural landscapes. We are measuring this with a stated choice experiment in a mail-back survey. The design has 18 choice sets, 2 unique blocks, 3 alternatives (1 & 2 are unlabeled/generic & the 3rd is an opt-out), and six attributes (all with three levels except one with 5). The survey has been piloted and the priors have been generated in Nlogit software. We plan to execute a full random parameters model. I have two main questions:

1. The syntax for generating our final design is shown below. Are we on the right track here? Particularly, I'm uncertain on how to write the syntax for incorporating the opt-out alternative ("alt3").

2. How do we move from generating a multinomial model to a full random parameters model? I've read from previous posts that this should be an incremental process but am still uncertain how this works using the software.

Thank you in advance for your assistance!
Lorraine




?Attributes
?Res "b1" (0, 1, 2, 3, 4)(Residential growth in the county: -2%, 0%, 2%, 4%, 6%)
?Grs "b2" (0, 1, 2) (Protected grasslands: stay the same, increase by 3%, increase by 5%)
?Rec "b3" (0, 1, 2) (Access to recreational areas: up to 20 mi, 7 mi, 1 mi)
?Ag "b4"(0, 1, 2) (% land set aside for ag production in the county: 30%, 50%, 70%)
?Bis "b5" (0, 1, 2) (total number of bison: stay the same, 5%, 10%)
?Emp "b6"(0, 1, 2) (Uneployment rate: 2%, 4%, 8%)

? MNL model
Design
;alts = alt1*, alt2*, alt3
;rows = 18
;block = 2
;eff = (mnl, d)
;model:

U(alt1) = b1[-.01796] * A[0,1,2,3,4] + b2[.08114] * B[0,1,2] + b3[.10731] * C[0,1,2] + b4[.55066] * D[0,1,2] + b5[.15947] * E[0,1,2] + b6[-.57010] * F[0,1,2] /
U(alt2) = b1 * A + b2 * B + b3 * C + b4 * D + b5 * E + b6 * F /
U(alt3) = b0[-.48097] $

? Panel random parameters model
Design
;alts = alt1*, alt2*, alt3
;rows = 18
;block = 2
;eff = (rppanel, d)
;rep = 500;
rdraws = random (1000)
;model:

U(alt1) = b1[n,-.03406,.06828] * A[0,1,2,3,4] + b2[n,.11381,.11100] * B[0,1,2] + b3[n,.15575,.10344] * C[0,1,2] + b4[n,.85768,.22534] * D[0,1,2] + b5[n,.19017,.11558] * E[0,1,2] + b6[n,-.83370,.22157] * F[0,1,2] /
U(alt2) = b1 * A + b2 * B + b3 * C + b4 * D + b5 * E + b6 * F /
U(alt3) = b0[-.47807] $
stamber2
 
Posts: 4
Joined: Fri Nov 10, 2017 2:54 am

Re: RP Model for rural landscape study

Postby Michiel Bliemer » Tue Nov 14, 2017 8:36 pm

You are on the right track. A few comments:

1. Why are you using levels 0,1,2,3,4 when your actual levels are -2%, 0%, 2%, 4%, 6%? Which levels did you use for model estimation? You will need to use the exact same levels for the design as you used for model estimation.

2. An opt-out indeed consists only of a constant.

3. Why is the constant in the panel mixed logit model not random?

4. You can also choose to estimate an error component model in which only constant b0 is random. This allows accounting for panel effects without the need to make all parameters random.

5. It is best to optimise the design for the MNL model only since optimising for panel mixed logit is practically impossible due to extremely long runtimes. Therefore, I would advise to optimise for MNL and evaluate only for RPPANEL. You can do this in the same syntax by simply specifying two models and tell Ngene to optimise on the MNL model only:

;alts(mnl_model) = al1, alt2, alt3
;alts(rppanel_model) = alt1, alt2, alt3
;rdraws = gauss(3)
;rep = 500
;eff = mnl_model(mnl,d)
...

;model(mnl_model):
....

;model(rppanel_model):
....

When opening a design, Ngene will also report the efficiency of rppanel_model and its S-estimates. Note that opening the design can take a bit longer since Ngene is quickly computing the results for all possible models.

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

Re: RP Model for rural landscape study

Postby stamber2 » Thu Nov 16, 2017 7:50 am

Great, thank you!

Regarding your comments: I used the coding 0,1,2,3,4 for the residential growth levels because this was used in the original design and for the model estimation. Is this coding okay as long it is consistent in the model estimation (Nlogit) and design creation (Ngene)? Also, I re-ran the model estimation with a random constant and used those parameter estimates in the new design (syntax below).

After running the design, I evaluated for the RP Panel model (under model2), but the D error and others are "Undefined". Is this the correct?

I have an additional question regarding the priors used for the random parameters model (model2) below. Are these priors taken directly from the parameter estimates that are generated in the model estimation. The priors are referred to as “mean” and “standard deviation” in Ngene rather than “coefficient” and “standard error,” but for the random parameters model, these function as the same thing?

Lorraine



? MNL model & Panel RP model **optimize on MNL model and evaluate RP model
Design
;alts(model1) = alt1*, alt2*, alt3
;alts(model2) = alt1*, alt2*, alt3
;rows = 18
;block = 2
;eff = model1(mnl,d)
;alg = swap(stop = noimprov(30000 iterations))
;rdraws = gauss(3)
;rep = 1000
;model(model1):
U(alt1) = b1[n,-.01796,.03920] * A[0,1,2,3,4] + b2[n,.08114,.06737] * B[0,1,2] + b3[n,.10731,.06222] * C[0,1,2] + b4[n,.55066,.06271] * D[0,1,2] + b5[n,.15947,.06823] * E[0,1,2] + b6[n,-.57010,.06404] * F[0,1,2] /
U(alt2) = b1 * A + b2 * B + b3 * C + b4 * D + b5 * E + b6 * F /
U(alt3) = b0[n,-.48097,.27166]
;model(model2):
U(alt1) = b1[n,-.03549,.06486] * A[0,1,2,3,4] + b2[n,.09891,.10447] * B[0,1,2] + b3[n,.14983,.09686] * C[0,1,2] + b4[n,.85768,.18574] * D[0,1,2] + b5[n,.18671,.10813] * E[0,1,2] + b6[n,-.82418,.19327] * F[0,1,2] /
U(alt2) = b1 * A + b2 * B + b3 * C + b4 * D + b5 * E + b6 * F /
U(alt3) = b0[n,-.51010,.42249] $
stamber2
 
Posts: 4
Joined: Fri Nov 10, 2017 2:54 am

Re: RP Model for rural landscape study

Postby Michiel Bliemer » Fri Nov 24, 2017 1:07 pm

So you have mapped levels -2%, ... , 6% to 0, ... , 4? I would not have done that, maybe it is fine since you model it as a linear effect, but it is very unusual. Typically you use the exact levels or you dummy/effects code for estimation. This is a model estimation question and it is up to you to decide what you think is appropriate.

Your model1 is now formulated as a random parameter model, not as an MNL model. It will still work, but Ngene will only take the means of the distribution. It would be best to estimate an MNL model and put Bayesian priors in, in which you take the coefficient as the mean and the standard error as the standard deviation of a normally distributed Bayesian prior. Note that Bayesian prior is entered as [{n,mean,stdev}] with round brackets around them. Also, for using Bayesian priors you need to set ;bdraws. You need to understand the difference between random parameters and Bayesian priors, which will also make you understand how to put parameter estimates with a coefficient and standard error into Ngene as a Bayesian prior with a mean and a standard deviation.

I am not exactly sure why the D-error is so high (It is actually around 2.67 but Ngene shows values that are this large as Undefined). Your random parameters seem to have a too large standard deviation. For example, if I make your random constant a fixed value that you can see that Ngene can produce D-errors. Your random parameters often have a standard deviations are often larger than the means, which is unusual.

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

Re: RP Model for rural landscape study

Postby stamber2 » Tue Nov 28, 2017 1:24 pm

Thanks for the reply. I heeded your advice and recoded the attribute levels to represent the exact levels rather than the linear coding (i.e., 0,1,2). After that, I re-ran the model estimation and then inserted the new priors into the revised syntax below. Is this syntax properly formatted to optimize a design using the MNL model with Bayesian priors and then to evaluate the design under the RP model? The D-error is much smaller with this model that uses the exact values compared to the previous output.

Lorraine


? MNL model w/ Bayesian priors & Panel RP model **optimize on MNL model and evaluate RP model
Design
;alts(model1) = alt1*, alt2*, alt3
;alts(model2) = alt1*, alt2*, alt3
;rows = 18
;block = 2
;eff = model1(mnl,d,mean)
;rep = 1000
;rdraws = gauss(3)
;bdraws = gauss(3)
;model(model1):
U(alt1) = b1[(n,-.01231,.01961)] * A[-2,0,2,4,6] + b2[(n,.03336,.02704)] * B[0,3,5] + b3[(n,-.01270,.00653)] * C[20,7,1] + b4[(n,.02727,.00313)] * D[30,50,70] + b5[(n,.03083,.01360)] * E[0,5,10] + b6[(n,-.19715,.02177)] * F[2,4,8] /
U(alt2) = b1 * A + b2 * B + b3 * C + b4 * D + b5 * E + b6 * F /
U(alt3) = b0[(n,-.22157,.33972)]
;model(model2):
U(alt1) = b1[n,-.00206,.03252] * A[-2,0,2,4,6] + b2[n,.06630,.04613] * B[0,3,5] + b3[n,-.02357,.01207] * C[20,7,1] + b4[n,.04365,.00987] * D[30,50,70] + b5[n,.04774,.02396] * E[0,5,10] + b6[n,-.29247,.06759] * F[2,4,8] /
U(alt2) = b1 * A + b2 * B + b3 * C + b4 * D + b5 * E + b6 * F /
U(alt3) = b0[-.21931] $
stamber2
 
Posts: 4
Joined: Fri Nov 10, 2017 2:54 am

Re: RP Model for rural landscape study

Postby Michiel Bliemer » Tue Nov 28, 2017 2:14 pm

Yes this will create a Bayesian efficient design for the MNL model while it evaluates a series of other models, including a panel random parameters model.
Michiel Bliemer
 
Posts: 1705
Joined: Tue Mar 31, 2009 4:13 pm

Re: RP Model for rural landscape study

Postby stamber2 » Thu Nov 30, 2017 4:04 am

On behalf of my research group, thank you for all of the guidance Michiel! Your expertise was truly instrumental in finalizing a design for our resident survey.

Lorraine
stamber2
 
Posts: 4
Joined: Fri Nov 10, 2017 2:54 am


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 13 guests

cron