Hello everyone,
I need your advice on a MIXL model where a lot of probability mass is close to zero. My MIXL model has five attributes with multiple attribute levels each. Two attributes are continuous and negative, i.e., with increasing levels utility is supposed to decrease. However, these attributes received little attention from my respondents, so when using normal distributions, the means are small, but significantly different from zero. The same holds for the standard deviations, which are around 0.3. Now the question is what to do with these attributes? If I use – for logical reasons – a negative lognormal distribution or negative uniform distribution, then model fit is poor, as expected. Even with the Fosgerau and Mabit (2013) polynomial, parameter estimates are extreme as the optimization algorithm tries to push most of the probability mass to the right, i.e., close to zero. The only solution I can think of is to model the two attributes as fixed parameters. However, this lowers model fit significantly (LL test and Bas test). Do you have any other ideas that I haven't thought of yet?
I look forward to your answers!
Important: Read this before posting to this forum
- 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.
- 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
- Before asking a question on the forum, users are kindly requested to follow these steps:
- Check that the same issue has not already been addressed in the forum - there is a search tool.
- 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
- Check the frequently asked questions section on the Apollo website, which discusses some common issues/failures. Please see http://www.apollochoicemodelling.com/faq.html
- Make sure that R is using the latest official release of Apollo.
- Users can check which version they are running by entering packageVersion("apollo").
- Then check what is the latest full release (not development version) at http://www.ApolloChoiceModelling.com/code.html.
- To update to the latest official version, just enter install.packages("apollo"). To update to a development version, download the appropriate binary file from http://www.ApolloChoiceModelling.com/code.html, and install the package from file
- If the above steps do not resolve the issue, then users should follow these steps when posting a question:
- provide full details on the issue, including the entire code and output, including any error messages
- 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.
MIXL model with a lot of probability mass close to zero
-
- Site Admin
- Posts: 1066
- Joined: 24 Apr 2020, 16:29
Re: MIXL model with a lot of probability mass close to zero
Nico
so what is the problem with using the Normal distribution? That the sign assumption doesn't make sense?
You could try a negative loguniform, which is bounded at both ends
Stephane
so what is the problem with using the Normal distribution? That the sign assumption doesn't make sense?
You could try a negative loguniform, which is bounded at both ends
Stephane
Re: MIXL model with a lot of probability mass close to zero
Yes, I worry about the signs. It's like estimating utility for charities: Respondents don't really like giving money away, but like the feeling of doing something good. In my case, it is a study on the constraints on the use of air conditioning in office buildings and the attribute "frequency" describes the number of interventions per week. This attribute has received little attention, but - from a logical perspective - is negative.
In my initial post, I wrote "negative uniform", but actually meant "negative loguniform", i.e., I have tried this already. Sorry for that! In the following model output, I use the loguniform (LU), normal (N), and lognormal distribution with Fosgerau Mabit polynomial (FM). The estimates for the attribute "frequency", -21 and 21, respectively, look extreme to me.
MIXL_DR1_COV0_FrLU_DuFM_Te-FM_CoN_WaLU_AscN_SO5000:
In comparison, the specification with fixed parameter for "frequency".
MIXL_DR1_COV0_FrF_DuFM_Te-FM_CoN_WaLU_AscN_SO5000:
The fit statistics (LL, AIC, BIC, ...) point the model using a negative log-uniform distribution, but still ...
Finally, here is the model output when a negative lognormal distribution with FM transformation is used.
MIXL_DR1_COV0_FrFM_DuFM_Te-FM_CoN_WaLU_AscN:
In my initial post, I wrote "negative uniform", but actually meant "negative loguniform", i.e., I have tried this already. Sorry for that! In the following model output, I use the loguniform (LU), normal (N), and lognormal distribution with Fosgerau Mabit polynomial (FM). The estimates for the attribute "frequency", -21 and 21, respectively, look extreme to me.
MIXL_DR1_COV0_FrLU_DuFM_Te-FM_CoN_WaLU_AscN_SO5000:
Code: Select all
LL(start) : -7828.77
LL (whole model) at equal shares, LL(0) : -10428.04
LL (whole model) at observed shares, LL(C) : -9391.55
LL(final, whole model) : -7794.79
Rho-squared vs equal shares : 0.2525
Adj.Rho-squared vs equal shares : 0.2505
Rho-squared vs observed shares : 0.17
Adj.Rho-squared vs observed shares : 0.1678
AIC : 15631.59
BIC : 15771.64
LL(0,CBC_forced) : -6393.92
LL(final,CBC_forced) : -5352.62
LL(0,CBC_free) : -4034.12
LL(final,CBC_free) : -2507.11
Estimated parameters : 21
Time taken (hh:mm:ss) : 02:34:1.12
pre-estimation : 00:34:35.13
estimation : 00:40:32.37
post-estimation : 01:18:53.61
Iterations : 52
Min abs eigenvalue of Hessian : 0.029912
Unconstrained optimisation.
These outputs have had the scaling used in estimation applied to them.
Estimates:
Estimate s.e. t.rat.(0) p(1-sided) Rob.s.e. Rob.t.rat.(0) p(1-sided)
b_asc_1 -0.07349 0.04290 -1.713 0.043359 0.04458 -1.649 0.049619
b_asc_2 0.17611 0.04137 4.257 1.037e-05 0.04271 4.124 1.866e-05
b_asc_3 0.00000 NA NA NA NA NA NA
a_log_b_Frequency -21.15092 3.20875 -6.592 2.175e-11 3.00762 -7.032 1.015e-12
b_log_b_Frequency 21.99426 3.36132 6.543 3.008e-11 3.10275 7.089 6.772e-13
mu_log_b_Duration -4.29644 1.71428 -2.506 0.006101 2.41577 -1.778 0.037661
sigma_log_b_Duration 12.91142 4.08474 3.161 7.8643e-04 4.80259 2.688 0.003589
sigma_log_b_Duration_2 -9.51790 4.50098 -2.115 0.017231 7.55741 -1.259 0.103941
b_Temperature_diff_none 0.00000 NA NA NA NA NA NA
mu_log_b_Temperature_diff_positive2 -3.49722 0.10761 -32.499 0.000000 0.13271 -26.352 0.000000
sigma_log_b_Temperature_diff_positive2 1.67842 0.14736 11.390 0.000000 0.14852 11.301 0.000000
sigma_log_b_Temperature_diff_positive2_2 -0.11356 0.06529 -1.739 0.040980 0.05243 -2.166 0.015150
b_Compensation_Company 0.00000 NA NA NA NA NA NA
mu_b_Compensation_IceDrink 0.20163 0.05733 3.517 2.1823e-04 0.06185 3.260 5.5675e-04
sigma_b_Compensation_IceDrink 0.95196 0.06428 14.811 0.000000 0.07519 12.660 0.000000
mu_b_Compensation_Donation -0.07774 0.06544 -1.188 0.117408 0.07032 -1.106 0.134457
sigma_b_Compensation_Donation 1.17018 0.07002 16.713 0.000000 0.08205 14.261 0.000000
b_Warning_None 0.00000 NA NA NA NA NA NA
a_log_b_Warning_15min -4.36120 1.69492 -2.573 0.005040 1.93664 -2.252 0.012163
b_log_b_Warning_15min 4.27976 2.05336 2.084 0.018568 2.36098 1.813 0.034939
a_log_b_Warning_DayBefore -6.57994 1.58157 -4.160 1.589e-05 1.86745 -3.523 2.1296e-04
b_log_b_Warning_DayBefore 7.40831 1.69746 4.364 6.375e-06 2.02343 3.661 1.2549e-04
mu_CBC 1.00000 NA NA NA NA NA NA
mu_DR 0.27856 0.10382 2.683 0.003646 0.13396 2.079 0.018790
b_DR_asc_0 0.00000 NA NA NA NA NA NA
mu_b_DR_asc_1 2.45467 0.14691 16.708 0.000000 0.16807 14.605 0.000000
sigma_b_DR_asc_1 2.09642 0.13885 15.099 0.000000 0.18353 11.423 0.000000
In comparison, the specification with fixed parameter for "frequency".
MIXL_DR1_COV0_FrF_DuFM_Te-FM_CoN_WaLU_AscN_SO5000:
Code: Select all
LL(start) : -7867.93
LL (whole model) at equal shares, LL(0) : -10428.04
LL (whole model) at observed shares, LL(C) : -9391.55
LL(final, whole model) : -7852.54
Rho-squared vs equal shares : 0.247
Adj.Rho-squared vs equal shares : 0.2451
Rho-squared vs observed shares : 0.1639
Adj.Rho-squared vs observed shares : 0.1617
AIC : 15745.08
BIC : 15878.46
LL(0,CBC_forced) : -6393.92
LL(final,CBC_forced) : -5420.67
LL(0,CBC_free) : -4034.12
LL(final,CBC_free) : -2498.05
Estimated parameters : 20
Time taken (hh:mm:ss) : 01:59:32.59
pre-estimation : 00:28:43.21
estimation : 00:25:51.01
post-estimation : 01:04:58.37
Iterations : 36
Min abs eigenvalue of Hessian : 0.084726
Unconstrained optimisation.
These outputs have had the scaling used in estimation applied to them.
Estimates:
Estimate s.e. t.rat.(0) p(1-sided) Rob.s.e. Rob.t.rat.(0) p(1-sided)
b_asc_1 -0.069809 0.041594 -1.6783 0.04664 0.04337 -1.6097 0.053728
b_asc_2 0.168466 0.040127 4.1983 1.345e-05 0.04154 4.0550 2.506e-05
b_asc_3 0.000000 NA NA NA NA NA NA
b_Frequency -0.003157 0.009910 -0.3185 0.37505 0.01442 -0.2190 0.413341
mu_log_b_Duration -4.134263 0.798328 -5.1787 1.117e-07 0.74732 -5.5321 1.582e-08
sigma_log_b_Duration 4.985392 1.156320 4.3114 8.110e-06 0.85329 5.8426 2.570e-09
sigma_log_b_Duration_2 -1.460447 0.430520 -3.3923 3.4656e-04 0.24930 -5.8583 2.338e-09
b_Temperature_diff_none 0.000000 NA NA NA NA NA NA
mu_log_b_Temperature_diff_positive2 -3.543474 0.104374 -33.9499 0.00000 0.11136 -31.8190 0.000000
sigma_log_b_Temperature_diff_positive2 1.718042 0.150937 11.3825 0.00000 0.14612 11.7574 0.000000
sigma_log_b_Temperature_diff_positive2_2 -0.149205 0.065183 -2.2890 0.01104 0.05355 -2.7862 0.002666
b_Compensation_Company 0.000000 NA NA NA NA NA NA
mu_b_Compensation_IceDrink 0.202920 0.054381 3.7314 9.520e-05 0.05789 3.5053 2.2801e-04
sigma_b_Compensation_IceDrink 0.902159 0.060871 14.8207 0.00000 0.06980 12.9249 0.000000
mu_b_Compensation_Donation -0.076841 0.062043 -1.2385 0.10776 0.06501 -1.1819 0.118615
sigma_b_Compensation_Donation 1.101990 0.065951 16.7091 0.00000 0.07664 14.3784 0.000000
b_Warning_None 0.000000 NA NA NA NA NA NA
a_log_b_Warning_15min -4.324619 2.092560 -2.0667 0.01938 2.19477 -1.9704 0.024395
b_log_b_Warning_15min 4.066310 2.602010 1.5628 0.05905 2.73815 1.4851 0.068765
a_log_b_Warning_DayBefore -8.374590 2.112105 -3.9650 3.669e-05 2.74217 -3.0540 0.001129
b_log_b_Warning_DayBefore 9.332367 2.224634 4.1950 1.364e-05 2.92708 3.1883 7.1559e-04
mu_CBC 1.000000 NA NA NA NA NA NA
mu_DR 0.390066 0.108511 3.5947 1.6238e-04 0.13161 2.9638 0.001519
b_DR_asc_0 0.000000 NA NA NA NA NA NA
mu_b_DR_asc_1 2.762752 0.161837 17.0712 0.00000 0.18675 14.7936 0.000000
sigma_b_DR_asc_1 2.123661 0.131491 16.1506 0.00000 0.15678 13.5456 0.000000
Finally, here is the model output when a negative lognormal distribution with FM transformation is used.
MIXL_DR1_COV0_FrFM_DuFM_Te-FM_CoN_WaLU_AscN:
Code: Select all
LL(start) : -7867.7
LL (whole model) at equal shares, LL(0) : -10428.04
LL (whole model) at observed shares, LL(C) : -9391.55
LL(final, whole model) : -7844.84
Rho-squared vs equal shares : 0.2477
Adj.Rho-squared vs equal shares : 0.2456
Rho-squared vs observed shares : 0.1647
Adj.Rho-squared vs observed shares : 0.1623
AIC : 15733.68
BIC : 15880.4
LL(0,CBC_forced) : -6393.92
LL(final,CBC_forced) : -5393.28
LL(0,CBC_free) : -4034.12
LL(final,CBC_free) : -2517.54
Estimated parameters : 22
Time taken (hh:mm:ss) : 01:34:59.84
pre-estimation : 00:21:31.34
estimation : 00:21:20.06
post-estimation : 00:52:8.45
Iterations : 49
Min abs eigenvalue of Hessian : 0.000144
Unconstrained optimisation.
These outputs have had the scaling used in estimation applied to them.
Estimates:
Estimate s.e. t.rat.(0) p(1-sided) Rob.s.e. Rob.t.rat.(0) p(1-sided)
b_asc_1 -0.07685 0.04263 -1.80259 0.035726 0.04468 -1.72005 0.042711
b_asc_2 0.17342 0.04116 4.21318 1.259e-05 0.04302 4.03158 2.770e-05
b_asc_3 0.00000 NA NA NA NA NA NA
mu_log_b_Frequency -2.12768 1.12127 -1.89756 0.028877 1.57460 -1.35125 0.088307
sigma_log_b_Frequency 36.53776 19.28552 1.89457 0.029075 28.59078 1.27796 0.100632
sigma_log_b_Frequency_2 -154.91069 81.06397 -1.91097 0.028004 121.41091 -1.27592 0.100992
mu_log_b_Duration -0.01217 0.18042 -0.06744 0.473116 0.18044 -0.06743 0.473119
sigma_log_b_Duration 3.37988 1.76227 1.91790 0.027562 1.51573 2.22987 0.012878
sigma_log_b_Duration_2 -17.87219 5.23923 -3.41123 3.2336e-04 5.91139 -3.02335 0.001250
b_Temperature_diff_none 0.00000 NA NA NA NA NA NA
mu_log_b_Temperature_diff_positive2 -2.00073 0.10224 -19.56941 0.000000 0.08679 -23.05319 0.000000
sigma_log_b_Temperature_diff_positive2 3.28113 0.47254 6.94361 1.911e-12 0.60670 5.40816 3.184e-08
sigma_log_b_Temperature_diff_positive2_2 -5.11704 0.61798 -8.28025 1.110e-16 0.85247 -6.00260 9.709e-10
b_Compensation_Company 0.00000 NA NA NA NA NA NA
mu_b_Compensation_IceDrink 0.21249 0.05734 3.70587 1.0533e-04 0.06239 3.40554 3.3017e-04
sigma_b_Compensation_IceDrink 0.95062 0.06374 14.91400 0.000000 0.07501 12.67332 0.000000
mu_b_Compensation_Donation -0.08103 0.06472 -1.25211 0.105265 0.06886 -1.17668 0.119661
sigma_b_Compensation_Donation 1.13807 0.06707 16.96931 0.000000 0.07810 14.57282 0.000000
b_Warning_None 0.00000 NA NA NA NA NA NA
a_log_b_Warning_15min -5.48921 2.01942 -2.71822 0.003282 2.03938 -2.69160 0.003555
b_log_b_Warning_15min 5.60613 2.27559 2.46359 0.006878 2.27029 2.46934 0.006768
a_log_b_Warning_DayBefore -6.62931 1.60935 -4.11924 1.901e-05 1.93530 -3.42547 3.0686e-04
b_log_b_Warning_DayBefore 7.47500 1.71876 4.34907 6.836e-06 2.07593 3.60079 1.5862e-04
mu_CBC 1.00000 NA NA NA NA NA NA
mu_DR 0.23463 0.09799 2.39438 0.008324 0.12797 1.83354 0.033361
b_DR_asc_0 0.00000 NA NA NA NA NA NA
mu_b_DR_asc_1 2.70318 0.15480 17.46232 0.000000 0.18169 14.87813 0.000000
sigma_b_DR_asc_1 2.21618 0.14400 15.39001 0.000000 0.17781 12.46377 0.000000
-
- Site Admin
- Posts: 1066
- Joined: 24 Apr 2020, 16:29
Re: MIXL model with a lot of probability mass close to zero
Nico
the large negative (-21) estimate on the bound of the log of beta makes sense, as this pushes the upper bound close to zero. Then the large positive value on the shift simply gets the log of beta just into the positive domain, which after the negative exponential gives an upper bound of around 2.3
but you clearly have a big mass near zero
You can look at the distribution using apollo_unconditionals
Stephane
the large negative (-21) estimate on the bound of the log of beta makes sense, as this pushes the upper bound close to zero. Then the large positive value on the shift simply gets the log of beta just into the positive domain, which after the negative exponential gives an upper bound of around 2.3
but you clearly have a big mass near zero
You can look at the distribution using apollo_unconditionals
Stephane
Re: MIXL model with a lot of probability mass close to zero
May I ask what you would do? Go for the loguniform distribution, as in this case, all parameters are random? Or would you model the "frequency" attribute as a fixed parameter to get around the problem with a sizable probability mass around zero?
-
- Site Admin
- Posts: 1066
- Joined: 24 Apr 2020, 16:29
Re: MIXL model with a lot of probability mass close to zero
I would let the data speak. So if the log-uniform fits better, I would use it
Re: MIXL model with a lot of probability mass close to zero
Hi,
I do worry about the symptoms. Similar to measuring utility for charities, respondents said they enjoyed the sensation of helping others even when they didn't particularly enjoy contributing money to charity. In my example, the attribute "frequency" refers to the number of interventions made each week in a study on the restrictions placed on the usage of air conditioning in office buildings. Also if we work online we earn money very well.
I do worry about the symptoms. Similar to measuring utility for charities, respondents said they enjoyed the sensation of helping others even when they didn't particularly enjoy contributing money to charity. In my example, the attribute "frequency" refers to the number of interventions made each week in a study on the restrictions placed on the usage of air conditioning in office buildings. Also if we work online we earn money very well.
-
- Site Admin
- Posts: 1066
- Joined: 24 Apr 2020, 16:29
Re: MIXL model with a lot of probability mass close to zero
sorry, not quite sure I see the link between this and my earlier response