Important: Read this before posting to this forum

  1. This forum is for questions related to the use of Apollo. We will answer some general choice modelling questions too, where appropriate, and time permitting. We cannot answer questions about how to estimate choice models with other software packages.
  2. There is a very detailed manual for Apollo available at http://www.ApolloChoiceModelling.com/manual.html. This contains detailed descriptions of the various Apollo functions, and numerous examples are available at http://www.ApolloChoiceModelling.com/examples.html. In addition, help files are available for all functions, using e.g. ?apollo_mnl
  3. Before asking a question on the forum, users are kindly requested to follow these steps:
    1. Check that the same issue has not already been addressed in the forum - there is a search tool.
    2. Ensure that the correct syntax has been used. For any function, detailed instructions are available directly in Apollo, e.g. by using ?apollo_mnl for apollo_mnl
    3. Check the frequently asked questions section on the Apollo website, which discusses some common issues/failures. Please see http://www.apollochoicemodelling.com/faq.html
    4. Make sure that R is using the latest official release of Apollo.
  4. If the above steps do not resolve the issue, then users should follow these steps when posting a question:
    1. provide full details on the issue, including the entire code and output, including any error messages
    2. posts will not immediately appear on the forum, but will be checked by a moderator first. This may take a day or two at busy times. There is no need to submit the post multiple times.

WTP space results - means are negative or NANs produced

Ask questions about the results reported after estimation. If the output includes errors, please include your model code if possible.
Simone R
Posts: 8
Joined: 15 Feb 2022, 11:16

WTP space results - means are negative or NANs produced

Post by Simone R »

Hello,
I am running a mixed logit model in WTP space and receive odd results. I am using Sobol draws and starting values that I obtained when I ran the model in Stata with 300 Halton draws (the model wouldn't convergence with a higher number of draws; probably because of the high number of random coefficients). When I run the model with 1000 Sobol draws, the model converges but a lot of NANs are produced. I increased the number of draws to 2000 which still led to convergence and took care of the issue with the NANs, but the results are odd; all of the coefficient means are negative. When I look just at the numbers, I think they make sense and show a similar pattern to the previous Stata results, but except for the payment coefficient they shouldn't be negative. This wasn't a problem for the coefficient means I received when I ran the model with 1000 draws.
I also tried generating new starting values by running the model in preference space and then calculating the WTP, but the result is the same; the WTP is negative. I'm not sure if it is a problem with my code, my data, or just a matter of finding the right number of draws and would be very greatful for any advice. I have added my code and results below.

Thank you very much for your help!
Kind regards,
Simone

My code:
###########################################
## LOAD LIBRARY AND DEFINE CORE SETTINGS ##
###########################################

### Clear Memory
rm(list = ls())

### Set working directory
setwd("C:\\Users\\Simone\\Documents\\Choice Experiment\\Experiment\\Analysis\\Combined dataset\\R script")

### Load Apollo Library
library(apollo)

### Initialise Code
apollo_initialise()

### Set Core Controls
apollo_control = list(
modelName = "MixlWTP2000",
modelDescr = "Mixed logit model in WTP space interaction treatment - carbon, 2000 sobol draws",
indivID = "id",
outputDirectory = "outputMixlWTP",
mixing = TRUE,
nCores = 5
)


#############################################
## LOAD DATA AND APPLY ANY TRANSFORMATIONS ##
#############################################

### Load Data File
database = read.csv("Combined Experiment Data for Analysis with Design for Rtransformed.csv", header=TRUE)


#############################
## DEFINE MODEL PARAMETERS ##
#############################

### Vector of Parameters with starting values
apollo_beta=c(mu_v_biodiv0 = 104.1842,
sigma_v_biodiv0_inter = -41.87313,
mu_v_biodiv1 = 193.3559,
sigma_v_biodiv1_inter = 27.61409,
mu_v_flood0 = 82.49224,
sigma_v_flood0_inter = -65.28958,
mu_v_flood1 = 210.3206,
sigma_v_flood1_inter = 78.4843,
mu_v_carbonShort = 10.0437,
sigma_v_carbonShort_inter = -8.278711,
mu_v_carbonLong = 8.354714,
sigma_v_carbonLong_inter = -4.138232,
mu_v_recreation1 = 75.91323,
sigma_v_recreation1_inter = 34.6241,
mu_v_recreation2 = 59.59763,
sigma_v_recreation2_inter = 29.32095,
mu_v_asc = 501.6138,
sigma_v_asc_inter = -696.1029,
mu_log_b_payment = -5.106378,
sigma_log_b_payment_inter = 1.082959)

### Vector with names of parameters to be kept fixed at starting value, none
apollo_fixed = c()


##############################
## DEFINE RANDOM COMPONENTS ##
##############################

### Set parameters for generating draws
apollo_draws = list(
interDrawsType = "sobol",
interNDraws = 2000,
interUnifDraws = c(),
interNormDraws = c("draws_pay_inter","draws_bio0_inter","draws_bio1_inter","draws_fl0_inter","draws_fl1_inter","draws_rec1_inter","draws_rec2_inter","draws_cs_inter","draws_cl_inter","draws_asc_inter"),
intraDrawsType = "sobol",
intraNDraws = 0,
intraUnifDraws = c(),
intraNormDraws = c()
)

### Create random parameters
apollo_randCoeff = function(apollo_beta, apollo_inputs){
randcoeff = list()

randcoeff[["b_payment"]] = -exp(mu_log_b_payment
+sigma_log_b_payment_inter * draws_pay_inter)

randcoeff[["v_biodiv0"]] = (mu_v_biodiv0
+sigma_v_biodiv0_inter * draws_bio0_inter)

randcoeff[["v_biodiv1"]] = (mu_v_biodiv1
+sigma_v_biodiv1_inter * draws_bio1_inter)

randcoeff[["v_flood0"]] = (mu_v_flood0
+sigma_v_flood0_inter * draws_fl0_inter)

randcoeff[["v_flood1"]] = (mu_v_flood1
+sigma_v_flood1_inter * draws_fl1_inter)

randcoeff[["v_recreation1"]] = (mu_v_recreation1
+sigma_v_recreation1_inter * draws_rec1_inter)

randcoeff[["v_recreation2"]] = (mu_v_recreation2
+sigma_v_recreation2_inter * draws_rec2_inter)

randcoeff[["v_carbonShort"]] = (mu_v_carbonShort
+sigma_v_carbonShort_inter * draws_cs_inter)

randcoeff[["v_carbonLong"]] = (mu_v_carbonLong
+sigma_v_carbonLong_inter * draws_cl_inter)

randcoeff[["v_asc"]] = (mu_v_asc
+sigma_v_asc_inter * draws_asc_inter)

return(randcoeff)
}


################################
## GROUP AND VALIADATE INPUTS ##
################################

apollo_inputs=apollo_validateInputs()


##########################################
## DEFINE MODEL AND LIKELIHOOD FUNCTION ##
##########################################

### Set up probability function
apollo_probabilities=function(apollo_beta, apollo_inputs, functionality="estimate"){

### Attach inputs and detach after function exit
apollo_attach(apollo_beta, apollo_inputs)
on.exit(apollo_detach(apollo_beta, apollo_inputs))

### Create list of probabilities P
P = list()

### List of utilities
V = list()

V[["alt1"]] = b_payment*(v_biodiv0*(biodiversity1==0) + v_biodiv1*(biodiversity1==1) + v_flood0*(floodOri1==0) + v_flood1*(floodOri1==1) + v_carbonShort*carbon_short1 + v_carbonLong*carbon_long1 + v_recreation1*(recOri1==1) + v_recreation2*(recOri1==2) + v_asc + payment1)

V[["alt2"]] = b_payment*(v_biodiv0*(biodiversity2==0) + v_biodiv1*(biodiversity2==1) + v_flood0*(floodOri2==0) + v_flood1*(floodOri2==1) + v_carbonShort*carbon_short2 + v_carbonLong*carbon_long2 + v_recreation1*(recOri2==1) + v_recreation2*(recOri2==2) + v_asc + payment2)

V[["alt3"]] = 0

### Define settings for MNL model component
mnl_settings = list(
alternatives = c(alt1=1, alt2=2, alt3=3),
avail = list(alt1=1, alt2=1, alt3=1),
choiceVar = choiceR,
V = V
)

### Compute probabilities using MNL model
P[["model"]] = apollo_mnl(mnl_settings, functionality)

### Average across intra-individual draws --> do I need this if set to 0?
# P = apollo_avgIntraDraws(P, apollo_inputs, functionality)

### Take product across observation for same individual
P = apollo_panelProd(P, apollo_inputs, functionality)

### Average across inter-individual draws
P = apollo_avgInterDraws(P, apollo_inputs, functionality)

### Prepare and return outputs of function
P = apollo_prepareProb(P, apollo_inputs, functionality)
return(P)
}


######################
## MODEL ESTIMATION ##
######################

### Search for starting values
#apollo_beta=apollo_searchStart(apollo_beta, apollo_fixed, apollo_probabilities, apollo_inputs)

### Use Newton-Raphson algorithm, default is BFGS and increase iterations to 400
#estimate_settings = list(estimationRoutine = "nr")
#estimate_settings = list(maxIterations = 400)

### Estimate Model
model = apollo_estimate(apollo_beta, apollo_fixed, apollo_probabilities, apollo_inputs)

###################
## MODEL OUTPUTS ##
###################

### Formatted output to screen
apollo_modelOutput(model, list(printPVal=2))

### Formatted output to file using model name
apollo_saveOutput(model, list(printPVal=2))

#####################
## POST-PROCESSING ##
#####################

### Print outputs of additional diagnostics to new output file (remember to close file writing when complete)
apollo_sink()

### test whether difference between 2 parameters of carbon attribute is significant
apollo_deltaMethod(model, deltaMethod_settings = list(operation="diff",parName1="mu_v_carbonShort",parName2="mu_v_carbonLong"))
apollo_deltaMethod(model, deltaMethod_settings = list(operation="diff",parName1="sigma_v_carbonShort_inter", parName2="sigma_v_carbonLong_inter"))


### Switch off writing to file
apollo_sink()


The results:
> ### Estimate Model
> model = apollo_estimate(apollo_beta, apollo_fixed, apollo_probabilities, apollo_inputs)
Preparing user-defined functions.

Testing likelihood function...

Overview of choices for MNL model component :
alt1 alt2 alt3
Times available 3512.00 3512.00 3512.00
Times chosen 1403.00 1648.00 461.00
Percentage chosen overall 39.95 46.92 13.13
Percentage chosen when available 39.95 46.92 13.13

Pre-processing likelihood function...
Preparing workers for multithreading...

Testing influence of parameters
Starting main estimation
Initial function value: -5001.098
Initial gradient value:
mu_v_biodiv0 sigma_v_biodiv0_inter mu_v_biodiv1 sigma_v_biodiv1_inter mu_v_flood0 sigma_v_flood0_inter
-0.8565675 -0.1954641 -0.7002908 0.0586385 -0.3340072 -0.2457643
mu_v_flood1 sigma_v_flood1_inter mu_v_carbonShort sigma_v_carbonShort_inter mu_v_carbonLong sigma_v_carbonLong_inter
-0.9175168 0.2606242 -15.9941641 -12.4537047 -15.5945706 -6.7225697
mu_v_recreation1 sigma_v_recreation1_inter mu_v_recreation2 sigma_v_recreation2_inter mu_v_asc sigma_v_asc_inter
-0.8535437 0.1273452 -0.3074891 0.0423943 -1.1337518 -1.3082837
mu_log_b_payment sigma_log_b_payment_inter
-550.8401163 564.4360757
initial value 5001.097513
iter 2 value 3801.403591
iter 3 value 3800.201330
iter 4 value 3798.587654
iter 5 value 3786.399964
iter 6 value 3784.770127
iter 7 value 3784.452657
iter 8 value 3783.742780
iter 9 value 3783.350450
iter 10 value 3783.310070
iter 11 value 3781.809944
iter 12 value 3781.707189
iter 13 value 3781.685809
iter 14 value 3781.670453
iter 15 value 3781.668408
iter 16 value 3781.668344
iter 16 value 3781.668331
final value 3781.668331
converged
Additional convergence test using scaled estimation. Parameters will be scaled by their current estimates and additional iterations will be performed.
initial value 3781.668331
iter 2 value 3773.606120
iter 3 value 3754.637846
iter 4 value 3714.720924
iter 5 value 3712.974261
iter 6 value 3632.723704
iter 7 value 3595.851732
iter 8 value 3595.475763
iter 9 value 3569.299910
iter 10 value 3554.831986
iter 11 value 3517.466109
iter 12 value 3504.166702
iter 13 value 3477.270561
iter 14 value 3460.949961
iter 15 value 3441.845747
iter 16 value 3396.424785
iter 17 value 3355.689676
iter 18 value 3222.359819
iter 19 value 3211.686945
iter 20 value 3108.715410
iter 21 value 3053.170292
iter 22 value 3035.138162
iter 23 value 3010.527511
iter 24 value 2981.649069
iter 25 value 2954.578251
iter 26 value 2940.094407
iter 27 value 2922.341256
iter 28 value 2914.914565
iter 29 value 2907.900899
iter 30 value 2900.234981
iter 31 value 2899.685165
iter 32 value 2898.530131
iter 33 value 2897.432587
iter 34 value 2896.964457
iter 35 value 2896.778917
iter 36 value 2896.141281
iter 37 value 2895.624626
iter 38 value 2895.080278
iter 39 value 2894.653112
iter 40 value 2893.438812
iter 41 value 2893.267837
iter 42 value 2891.968194
iter 43 value 2890.837921
iter 44 value 2890.328113
iter 45 value 2889.931113
iter 46 value 2888.874139
iter 47 value 2887.985066
iter 48 value 2885.702650
iter 49 value 2884.125932
iter 50 value 2881.991407
iter 51 value 2880.447009
iter 52 value 2879.579402
iter 53 value 2878.941537
iter 54 value 2878.408612
iter 55 value 2878.246279
iter 56 value 2878.034219
iter 57 value 2877.932244
iter 58 value 2877.775695
iter 59 value 2877.688380
iter 60 value 2877.686884
iter 61 value 2877.637620
iter 62 value 2877.594137
iter 63 value 2877.477704
iter 64 value 2877.431084
iter 65 value 2877.378569
iter 66 value 2877.351023
iter 67 value 2877.312193
iter 68 value 2877.300189
iter 69 value 2877.289582
iter 70 value 2877.283587
iter 71 value 2877.268947
iter 72 value 2877.263016
iter 73 value 2877.258509
iter 74 value 2877.253078
iter 75 value 2877.247741
iter 76 value 2877.240802
iter 77 value 2877.234905
iter 78 value 2877.232994
iter 79 value 2877.228876
iter 80 value 2877.227316
iter 81 value 2877.226399
iter 82 value 2877.225806
iter 83 value 2877.225638
iter 84 value 2877.224952
iter 85 value 2877.224755
iter 86 value 2877.224614
iter 86 value 2877.224604
iter 86 value 2877.224604
final value 2877.224604
converged
Estimated parameters:
Estimate
mu_v_biodiv0 -107.2528
sigma_v_biodiv0_inter 35.2244
mu_v_biodiv1 -203.8535
sigma_v_biodiv1_inter 6.3320
mu_v_flood0 -76.6378
sigma_v_flood0_inter -81.7968
mu_v_flood1 -216.8381
sigma_v_flood1_inter 96.3576
mu_v_carbonShort -9.7616
sigma_v_carbonShort_inter -6.8899
mu_v_carbonLong -8.5479
sigma_v_carbonLong_inter 0.4401
mu_v_recreation1 -73.3545
sigma_v_recreation1_inter -16.2074
mu_v_recreation2 -59.2231
sigma_v_recreation2_inter 76.5759
mu_v_asc -798.1633
sigma_v_asc_inter -802.0465
mu_log_b_payment -5.0611
sigma_log_b_payment_inter -1.4813

Computing covariance matrix using analytical gradient.
0%....25%....50%....75%..100%
Negative definite Hessian with maximum eigenvalue: -5.8e-05
Computing score matrix...
Calculating LL(0) for applicable models...
Calculating LL(c) for applicable models...
Calculating LL of each model component...
>
> ###################
> ## MODEL OUTPUTS ##
> ###################
>
> ### Formatted output to screen
> apollo_modelOutput(model, list(printPVal=2))
Model run by Simone using Apollo 0.2.7 on R 4.1.2 for Windows.
www.ApolloChoiceModelling.com

Model name : MixlWTP2000
Model description : Mixed logit model in WTP space interaction treatment - carbon, 2000 sobol draws
Model run at : 2022-02-15 09:33:30
Estimation method : bfgs
Model diagnosis : successful convergence
Number of individuals : 620
Number of rows in database : 3512
Number of modelled outcomes : 3512

Number of cores used : 5
Number of inter-individual draws : 2000 (sobol)

LL(start) : -5001.1
LL(0) : -3858.33
LL(C) : -3470.35
LL(final) : -2877.22
Rho-square (0) : 0.2543
Adj.Rho-square (0) : 0.2491
Rho-square (C) : 0.1709
Adj.Rho-square (C) : 0.1651
AIC : 5794.45
BIC : 5917.73

Estimated parameters : 20
Time taken (hh:mm:ss) : 00:55:41.03
pre-estimation : 00:06:41.96
estimation : 00:25:39.19
post-estimation : 00:23:19.88
Iterations : 104
Min abs eigenvalue of Hessian : 5.8e-05

Unconstrained optimisation.

Estimates:
Estimate s.e. t.rat.(0) p(2-sided) Rob.s.e. Rob.t.rat.(0) p(2-sided)
mu_v_biodiv0 -107.2528 13.7146 -7.8204 5.329e-15 13.4437 -7.9779 1.554e-15
sigma_v_biodiv0_inter 35.2244 9.3153 3.7814 1.5598e-04 6.7754 5.1988 2.005e-07
mu_v_biodiv1 -203.8535 16.4859 -12.3653 0.0000 18.0386 -11.3010 0.0000
sigma_v_biodiv1_inter 6.3320 12.9075 0.4906 0.6237 6.8754 0.9210 0.3571
mu_v_flood0 -76.6378 13.4154 -5.7127 1.112e-08 13.7110 -5.5895 2.277e-08
sigma_v_flood0_inter -81.7968 12.7835 -6.3986 1.568e-10 10.0813 -8.1137 4.441e-16
mu_v_flood1 -216.8381 15.9710 -13.5770 0.0000 17.4888 -12.3987 0.0000
sigma_v_flood1_inter 96.3576 14.0850 6.8411 7.857e-12 10.8911 8.8474 0.0000
mu_v_carbonShort -9.7616 0.8695 -11.2266 0.0000 0.8698 -11.2228 0.0000
sigma_v_carbonShort_inter -6.8899 0.9369 -7.3541 1.923e-13 0.8593 -8.0184 1.110e-15
mu_v_carbonLong -8.5479 0.6786 -12.5956 0.0000 0.6860 -12.4605 0.0000
sigma_v_carbonLong_inter 0.4401 0.7854 0.5604 0.5752 0.5319 0.8273 0.4081
mu_v_recreation1 -73.3545 10.7967 -6.7942 1.090e-11 9.6264 -7.6201 2.531e-14
sigma_v_recreation1_inter -16.2074 17.4649 -0.9280 0.3534 15.0163 -1.0793 0.2804
mu_v_recreation2 -59.2231 10.8164 -5.4753 4.368e-08 11.0659 -5.3518 8.707e-08
sigma_v_recreation2_inter 76.5759 13.2143 5.7949 6.834e-09 10.9223 7.0109 2.367e-12
mu_v_asc -798.1633 97.3289 -8.2007 2.220e-16 100.7595 -7.9215 2.442e-15
sigma_v_asc_inter -802.0465 89.0366 -9.0081 0.0000 96.6654 -8.2971 0.0000
mu_log_b_payment -5.0611 0.1405 -36.0192 0.0000 0.1241 -40.7748 0.0000
sigma_log_b_payment_inter -1.4813 0.1767 -8.3822 0.0000 0.1757 -8.4291 0.0000
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: WTP space results - means are negative or NANs produced

Post by stephanehess »

Simone

a couple of points:

1. if the model fails to converge with more draws, then this is likely showing an identification issue with the model. More draws is always better
2. When you say the signs are unexpected, are the attributes for which you calculate the WTP desirable or undesirable. If they are desirable, then with the specification below, you should get negative WTP measures. The negative WTP would be multiplied by the negative cost coefficient, so an increase in the attribute would lead to an increase in utility. For desirable attributes, the ratio between the marginal utility for that attribute and the cost attribute would be negative

Stephane
--------------------------------
Stephane Hess
www.stephanehess.me.uk
Simone R
Posts: 8
Joined: 15 Feb 2022, 11:16

Re: WTP space results - means are negative or NANs produced

Post by Simone R »

Hi Stephane,

thank you very much for your quick reply and explanation!
The attributes for which I caluclate the WTP are desirable; I have adjusted the definitions of my utility functions. I'm currently re-running the model to check if there are still problems and will get back to you if the identification problem remains.

Thank you again!
Simone
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: WTP space results - means are negative or NANs produced

Post by stephanehess »

Simone

it's not clear what you mean by saying that you've adjusted the definitions of your utility functions. Can you elaborate?

Thanks

Stephane
--------------------------------
Stephane Hess
www.stephanehess.me.uk
Simone R
Posts: 8
Joined: 15 Feb 2022, 11:16

Re: WTP space results - means are negative or NANs produced

Post by Simone R »

Hi Stephane,

I added a "-" before my cost coefficient in the utility functions to multiply the negative WTP by the negative cost coefficient.

### List of utilities
V = list()
V[["alt1"]] = -b_payment*(v_biodiv0*(biodiversity1==0) + v_biodiv1*(biodiversity1==1) + v_flood0*(floodOri1==0) + v_flood1*(floodOri1==1) + v_carbonShort*carbon_short1 + v_carbonLong*carbon_long1 + v_recreation1*(recOri1==1) + v_recreation2*(recOri1==2) + v_asc + payment1)
V[["alt2"]] = -b_payment*(v_biodiv0*(biodiversity2==0) + v_biodiv1*(biodiversity2==1) + v_flood0*(floodOri2==0) + v_flood1*(floodOri2==1) + v_carbonShort*carbon_short2 + v_carbonLong*carbon_long2 + v_recreation1*(recOri2==1) + v_recreation2*(recOri2==2) + v_asc + payment2)
V[["alt3"]] = 0

Now I'm wondering though if I misunderstood. Did I need to change anything in my specifications?

Thank you,
Simone
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: WTP space results - means are negative or NANs produced

Post by stephanehess »

Hi

you don't need to do this (although many people do). Putting a minus in front will just change the sign in your results, the fit will be the same. You need to just consider what your specification actually implies and intepret it that way. A marginal rate of substitution (of which WTP is one example) is the ratio of partial derivatives of the utility function against two attributes. If both attributes have the same directionality in their impact on utility (i.e. either both desirable or both undesirable), then the MRS will be positive, otherwise it will be negative

Stephane
--------------------------------
Stephane Hess
www.stephanehess.me.uk
Simone R
Posts: 8
Joined: 15 Feb 2022, 11:16

Re: WTP space results - means are negative or NANs produced

Post by Simone R »

Hi Stephane,

thank you once again for your reply and explanation!

I ran the model with varying numbers of Sobol draws, ranging from 1000 to 10000 (always the same starting values). The model always converged but except for when I ran it with 2000 and 2100 Sobol draws, it always produced some NANs and I received the warning that some eigenvalues of the Hessian are positive indicating convergence to a saddle point. Does this mean that the 2000-2100 draws range is just the best fit for the starting values to find the best convergence point? When I then use the results of the model with 2100 Sobol draws as starting values for running the model with 3000 draws, it converges without any saddle point warnings. Is this a sign that my thoughts above a likely to be correct or is there an indication for the potential identification issue you mentioned previously?
The problems in Stata I mentioned previously existed only regarding the convergence in WTP space; the model converged in preference space with 1000 Halton draws. Until you mentioned a possible identification problem, I put this down to the issue that Halton draws are not suitable for models with so many random coefficients.
I'm quite unsure now what to make of it and whether there is a bigger underlying issue with my model. I would be very thankful for any advice you have on this.

Thank you,
Simone
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: WTP space results - means are negative or NANs produced

Post by stephanehess »

Simone

can you share some output? You can combine the output from different models using apollo_combineResults

Stephane
--------------------------------
Stephane Hess
www.stephanehess.me.uk
Simone R
Posts: 8
Joined: 15 Feb 2022, 11:16

Re: WTP space results - means are negative or NANs produced

Post by Simone R »

Hi Stephane,

I have combined the outputs of the model with varying numbers of draws and have attached it. The models are
-model with 1000 Sobol draws, Stata results used as starting values, successful convergence but NANs produced
-model with 2100 Sobol draws, Stata results used as starting values, successful convergence
-model with 3000 Sobol draws, results of the model with 2100 Sobol draws used as starting values, successful convergence
-model with 4000 Sobol draws, Stata results used as starting values, successful convergence, warning: Some eigenvalues of Hessian are positive, indicating potential problems

Simone
Attachments
model_comparison_SR.PNG
model_comparison_SR.PNG (107.09 KiB) Viewed 4859 times
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: WTP space results - means are negative or NANs produced

Post by stephanehess »

Simone

your log-likelihoods are very different, so this suggests that you have ended up in very different solutions. Can you also tell me the LL you get in preference space?

Stephane
--------------------------------
Stephane Hess
www.stephanehess.me.uk
Post Reply