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.

Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Ask questions about errors you encouunter. Please make sure to include full details about your model specifications, and ideally your model file.
Post Reply
victornielsen
Posts: 13
Joined: 19 Apr 2022, 15:49

Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by victornielsen »

I get the error:

Code: Select all

Error in maxOptim(fn = fn, grad = grad, hess = hess, start = start, method = "BFGS",  : 
  NA in the initial gradient
In addition: There were 26 warnings (use warnings() to see them)
When running my model. I could not find any google answers to solve it. Any help would be greatly appreciated.

Code: Select all

> 
> #### nautos ####
> # ################################################################# #
> #### LOAD LIBRARY AND DEFINE CORE SETTINGS                       ####
> # ################################################################# #
> 
> ### Clear memory
> rm(list = ls())
> s12 <- read_csv("discretechoice.csv")
Rows: 1259 Columns: 442                                                                                                                                                                                                            
── Column specification ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr   (55): respid, distchannel, language, opleiding, huishoudensinkomen, auto1_eigendom_anderstext, parkering_anders, fiets_eigendom_anderstext, fiets_type_anderstext, scooter_brandstof_a...
dbl  (346): pc4_werk_voor_text, pc4_werk_nu, pc4_woon_voor, pc4_woon_nu, status, progress, duration, finished, toestemming_1, toestemming_2, geslacht, geboortejaar, bezigheid_nu, thuiswerk...
lgl   (35): extref, auto2_eigendom_anderstext, auto3_eigendom_anderstext, auto4_eigendom_anderstext, auto5_eigendom, auto5_eigendom_anderstext, auto5_brandstof, auto5_bouwjaar, auto5_bouwj...
dttm   (6): startdate, enddate, date, startdate.1, enddate.1, date.1

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
> 
> 
> ### Load Apollo library
> library(apollo)
> 
> ### Initialise code
> apollo_initialise()
Apollo ignition sequence completed
> 
> ### Set core controls
> apollo_control = list(
+   modelName       = "combinedMOL",
+   modelDescr      = "Mixed ordered logit model fitted to MOCOLODO questionnaire",
+   indivID         = "uuid2",
+   mixing          = TRUE,
+   nCores          = 4, 
+   outputDirectory = "output"
+ )
> 
> # ################################################################# #
> #### LOAD DATA AND APPLY ANY TRANSFORMATIONS                     ####
> # ################################################################# #
> 
> ### Loading data from package
> ### if data is to be loaded from a file (e.g. called data.csv),
> ### the code would be: database = read.csv("data.csv",header=TRUE)
> database = s12
> ### for data dictionary, use ?apollo_drugChoiceData
> 
> # ################################################################# #
> #### DEFINE MODEL PARAMETERS                                     ####
> # ################################################################# #
> 
> #ref cat strategy: don't use one that is too small and think of what you want to explore. Otherwise choose the middle or extremes.
> 
> ### Vector of parameters, including any that are kept fixed in estimation
> apollo_beta = c(
+   sigma_1_error12                               = 0,
+   sigma_1_error13                               = 0,
+   sigma_1_error14                               = 0,
+   sigma_2_error12                               = 0,
+   sigma_2_error23                               = 0,
+   sigma_2_error24                               = 0,
+   sigma_3_error13                               = 0,
+   sigma_3_error23                               = 0,
+   sigma_3_error34                               = 0,
+   sigma_4_error14                               = 0,
+   sigma_4_error24                               = 0,
+   sigma_4_error34                               = 0,
+   b_1_weekdist_dec                                = 0,
+   b_1_weekdist_inc                                = 0,
+   b_1_weekdist_same                               = 0,
+   #b_1_weekdist_nojob                             = 0,
+   b_1_weekdist_lostjob                            = 0,
+   b_1_weekdist_gotjob                             = 0,
+   b_1_weekdist_alwayswfh                          = 0,
+   b_1_weekdist_wfhtocommuting                     = 0,
+   b_1_weekdist_commutingtowfh                     = 0,
+   b_1_weekdist_differingaddresses                 = 0,
+   b_2_weekdist_dec                                = 0,
+   b_2_weekdist_inc                                = 0,
+   b_2_weekdist_same                               = 0,
+   #b_2_weekdist_nojob                             = 0,
+   b_2_weekdist_lostjob                            = 0,
+   b_2_weekdist_gotjob                             = 0,
+   b_2_weekdist_alwayswfh                          = 0,
+   b_2_weekdist_wfhtocommuting                     = 0,
+   b_2_weekdist_commutingtowfh                     = 0,
+   b_2_weekdist_differingaddresses                 = 0,
+   b_3_weekdist_dec                                = 0,
+   b_3_weekdist_inc                                = 0,
+   b_3_weekdist_same                               = 0,
+   #b_3_weekdist_nojob                             = 0,
+   b_3_weekdist_lostjob                            = 0,
+   b_3_weekdist_gotjob                             = 0,
+   b_3_weekdist_alwayswfh                          = 0,
+   b_3_weekdist_wfhtocommuting                     = 0,
+   b_3_weekdist_commutingtowfh                     = 0,
+   b_3_weekdist_differingaddresses                 = 0,
+   b_4_weekdist_dec                                = 0,
+   b_4_weekdist_inc                                = 0,
+   b_4_weekdist_same                               = 0,
+   #b_4_weekdist_nojob                             = 0,
+   b_4_weekdist_lostjob                            = 0,
+   b_4_weekdist_gotjob                             = 0,
+   b_4_weekdist_alwayswfh                          = 0,
+   b_4_weekdist_wfhtocommuting                     = 0,
+   b_4_weekdist_commutingtowfh                     = 0,
+   b_4_weekdist_differingaddresses                 = 0,
+   b_1_inkomen__1870                               = 0,
+   #b_1_inkomen_1870_3800                          = 0,
+   b_1_inkomen_3800_                               = 0,
+   b_2_inkomen__1870                               = 0,
+   #b_2_inkomen_1870_3800                          = 0,
+   b_2_inkomen_3800_                               = 0,
+   b_3_inkomen__1870                               = 0,
+   #b_3_inkomen_1870_3800                          = 0,
+   b_3_inkomen_3800_                               = 0,
+   b_4_inkomen__1870                               = 0,
+   #b_4_inkomen_1870_3800                          = 0,
+   b_4_inkomen_3800_                               = 0,
+   #b_2_nautos_same           = 0,
+   b_2_nautos_inc           = 0,
+   b_2_nautos_dec           = 0,
+   #b_3_nautos_same           = 0,
+   b_3_nautos_inc           = 0,
+   b_3_nautos_dec           = 0,
+   #b_4_nautos_same           = 0,
+   b_4_nautos_inc           = 0,
+   b_4_nautos_dec           = 0,
+   #b_1_nfiets_same           = 0,
+   b_1_nfiets_inc           = 0,
+   b_1_nfiets_dec           = 0,
+   #b_4_nfiets_same           = 0,
+   b_4_nfiets_inc           = 0,
+   b_4_nfiets_dec           = 0,
+   b_1_ovabonnement_dec = 0,
+   b_1_ovabonnement_inc = 0,
+   #b_1_ovabonnement_same = 0,
+   b_2_ovabonnement_dec = 0,
+   b_2_ovabonnement_inc = 0,
+   #b_2_ovabonnement_same = 0,
+   b_3_ovabonnement_dec = 0,
+   b_3_ovabonnement_inc = 0,
+   #b_3_ovabonnement_same = 0,
+   b_1_type_anders                            = 0,
+   b_1_type_eengezin               = 0,
+   b_1_type_eengezinkinderen    = 0,
+   b_1_type_meergezinkinderen   = 0,
+   #b_1_type_meergezin = 0
+   b_2_type_anders                            = 0,
+   b_2_type_eengezin               = 0,
+   b_2_type_eengezinkinderen    = 0,
+   b_2_type_meergezinkinderen   = 0,
+   #b_2_type_meergezin = 0
+   b_3_type_anders                            = 0,
+   b_3_type_eengezin               = 0,
+   b_3_type_eengezinkinderen    = 0,
+   b_3_type_meergezinkinderen   = 0,
+   #b_3_type_meergezin = 0
+   b_4_type_anders                            = 0,
+   b_4_type_eengezin               = 0,
+   b_4_type_eengezinkinderen    = 0,
+   b_4_type_meergezinkinderen   = 0,
+   #b_4_type_meergezin = 0
+   tau_nelectrischefietsen_change_1              = 0,
+   tau_nelectrischefietsen_change_2              = 1,
+   tau_nnormalefietsen_change_1                  = 0,
+   tau_nnormalefietsen_change_2                  = 1,
+   tau_ovabonnement_change_1                     = 0,
+   tau_ovabonnement_change_2                     = 1,
+   tau_nautos_change_1                           = 0,
+   tau_nautos_change_2                           = 1)
> 
> ### Vector with names (in quotes) of parameters to be kept fixed at their starting value in apollo_beta, use apollo_beta_fixed = c() if none
> apollo_fixed = c()
> 
> # ################################################################# #
> #### DEFINE RANDOM COMPONENTS                                    ####
> # ################################################################# #
> 
> ### Set parameters for generating draws
> apollo_draws = list(
+   interDrawsType = "sobol",
+   interNDraws    = 100,
+   interUnifDraws = c(),
+   interNormDraws = paste0("draws_", c("error12",
+                                       "error13",
+                                       "error14",
+                                       "error23",
+                                       "error24",
+                                       "error34"
+                                       )),
+   intraDrawsType = "",
+   intraNDraws    = 0,
+   intraUnifDraws = c(),
+   intraNormDraws = c()
+ )
> 
> ### Create random parameters
> apollo_randCoeff = function(apollo_beta, apollo_inputs){
+   randcoeff = list()
+   
+   randcoeff[["error12"]]  = draws_error12
+   randcoeff[["error13"]]  = draws_error13
+   randcoeff[["error14"]]  = draws_error14
+   randcoeff[["error23"]]  = draws_error23
+   randcoeff[["error24"]]  = draws_error24
+   randcoeff[["error34"]]  = draws_error34
+   
+   return(randcoeff)
+ }
> 
> # ################################################################# #
> #### GROUP AND VALIDATE INPUTS                                   ####
> # ################################################################# #
> 
> apollo_inputs = apollo_validateInputs()
apollo_draws and apollo_randCoeff were found, so apollo_control$mixing was set to TRUE
All checks on apollo_control completed.
All checks on database completed.
Generating inter-individual draws ...... Done
Inter-person draws are being used without a panel structure.
> 
> # ################################################################# #
> #### DEFINE MODEL AND LIKELIHOOD 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()
+   
+   ### Calculate probabilities using Ordered Logit model and likelihood of indicators
+   ol_settings1 = list(outcomeOrdered = nautos_change,
+                      utility        =
+                        sigma_1_error12*error12 +
+                        sigma_1_error13*error13 +
+                        sigma_1_error14*error14 +
+                        b_1_weekdist_dec*weekdist_woonwerk_changecat_decreasedcommute +
+                        b_1_weekdist_inc*weekdist_woonwerk_changecat_increasedcommute +
+                        b_1_weekdist_same*weekdist_woonwerk_changecat_samecommute +
+                        #b_1_weekdist_nojob*weekdist_woonwerk_changecat_nojob +
+                        b_1_weekdist_lostjob*weekdist_woonwerk_changecat_lostjob +
+                        b_1_weekdist_gotjob*weekdist_woonwerk_changecat_gotjob +
+                        b_1_weekdist_alwayswfh*weekdist_woonwerk_changecat_alwaysworkfromhome +
+                        b_1_weekdist_wfhtocommuting*weekdist_woonwerk_changecat_workfromhometocommuting +
+                        b_1_weekdist_commutingtowfh*weekdist_woonwerk_changecat_commutingtoworkfromhome +
+                        b_1_weekdist_differingaddresses*weekdist_woonwerk_changecat_differingaddresses +
+                        b_1_inkomen__1870*huishoudensinkomen__1870 +
+                        #b_1_inkomen_1870_3800*huishoudensinkomen_1870_3800 +
+                        b_1_inkomen_3800_*huishoudensinkomen_3800_- +
+                        #b_1_nfiets_same*nnormalefietsen_change_2 +
+                        b_1_nfiets_inc*nnormalefietsen_change_3 +
+                        b_1_nfiets_dec*nnormalefietsen_change_1 +
+                        b_1_ovabonnement_dec*ovabonnement_type_con_change_1 +
+                        b_1_ovabonnement_inc*ovabonnement_type_con_change_3 +
+                        #b_1_ovabonnement_same*ovabonnement_type_con_change_2
+                        b_1_type_anders*huishoudenstype_anders +
+                        b_1_type_eengezin*huishoudenstype_eengezinshuishouden +
+                        b_1_type_eengezinkinderen*huishoudenstype_eengezinshuishoudenmetkinderen +
+                        b_1_type_meergezinkinderen*huishoudenstype_meergezinshuishoudenmetkinderen,
+                        #b_1_type_meergezin*huishoudenstype_meergezinshuishoudenzonderkinderen,
+                      tau             = list(tau_nautos_change_1, tau_nautos_change_2))
+   #rows           = (task==1))
+   ol_settings2 = list(outcomeOrdered = nelectrischefietsen_change,
+                      utility        =
+                        sigma_2_error12*error12 +
+                        sigma_2_error23*error23 +
+                        sigma_2_error24*error24 +
+                        b_2_weekdist_dec*weekdist_woonwerk_changecat_decreasedcommute +
+                        b_2_weekdist_inc*weekdist_woonwerk_changecat_increasedcommute +
+                        b_2_weekdist_same*weekdist_woonwerk_changecat_samecommute +
+                        #b_2_weekdist_nojob*weekdist_woonwerk_changecat_nojob +
+                        b_2_weekdist_lostjob*weekdist_woonwerk_changecat_lostjob +
+                        b_2_weekdist_gotjob*weekdist_woonwerk_changecat_gotjob +
+                        b_2_weekdist_alwayswfh*weekdist_woonwerk_changecat_alwaysworkfromhome +
+                        b_2_weekdist_wfhtocommuting*weekdist_woonwerk_changecat_workfromhometocommuting +
+                        b_2_weekdist_commutingtowfh*weekdist_woonwerk_changecat_commutingtoworkfromhome +
+                        b_2_weekdist_differingaddresses*weekdist_woonwerk_changecat_differingaddresses +
+                        b_2_inkomen__1870*huishoudensinkomen__1870 +
+                        #b_2_inkomen_1870_3800*huishoudensinkomen_1870_3800 +
+                        b_2_inkomen_3800_*huishoudensinkomen_3800_- +
+                        #b_2_nautos_same*nautos_change_2 +
+                        b_2_nautos_inc*nautos_change_3 +
+                        b_2_nautos_dec*nautos_change_1 + 
+                        b_2_ovabonnement_dec*ovabonnement_type_con_change_1 +
+                        b_2_ovabonnement_inc*ovabonnement_type_con_change_3 +
+                        #b_2_ovabonnement_same*ovabonnement_type_con_change_2
+                        b_2_type_anders*huishoudenstype_anders +
+                        b_2_type_eengezin*huishoudenstype_eengezinshuishouden +
+                        b_2_type_eengezinkinderen*huishoudenstype_eengezinshuishoudenmetkinderen +
+                        b_2_type_meergezinkinderen*huishoudenstype_meergezinshuishoudenmetkinderen,
+                        #b_2;_type_meergezin*huishoudenstype_meergezinshuishoudenzonderkinderen,
+                      tau             = list(tau_nelectrischefietsen_change_1, tau_nelectrischefietsen_change_2))
+   #rows           = (task==1))
+   ol_settings3 = list(outcomeOrdered = nnormalefietsen_change,
+                      utility        =
+                        sigma_3_error13*error13 +
+                        sigma_3_error23*error23 +
+                        sigma_3_error34*error34 +
+                        b_3_weekdist_dec*weekdist_woonwerk_changecat_decreasedcommute +
+                        b_3_weekdist_inc*weekdist_woonwerk_changecat_increasedcommute +
+                        b_3_weekdist_same*weekdist_woonwerk_changecat_samecommute +
+                        #b_3_weekdist_nojob*weekdist_woonwerk_changecat_nojob +
+                        b_3_weekdist_lostjob*weekdist_woonwerk_changecat_lostjob +
+                        b_3_weekdist_gotjob*weekdist_woonwerk_changecat_gotjob +
+                        b_3_weekdist_alwayswfh*weekdist_woonwerk_changecat_alwaysworkfromhome +
+                        b_3_weekdist_wfhtocommuting*weekdist_woonwerk_changecat_workfromhometocommuting +
+                        b_3_weekdist_commutingtowfh*weekdist_woonwerk_changecat_commutingtoworkfromhome +
+                        b_3_weekdist_differingaddresses*weekdist_woonwerk_changecat_differingaddresses +
+                        b_3_inkomen__1870*huishoudensinkomen__1870 +
+                        #b_3_inkomen_1870_3800*huishoudensinkomen_1870_3800 +
+                        b_3_inkomen_3800_*huishoudensinkomen_3800_- +
+                        #b_3_nautos_same*nautos_change_2 +
+                        b_3_nautos_inc*nautos_change_3 +
+                        b_3_nautos_dec*nautos_change_1 +
+                        b_3_ovabonnement_dec*ovabonnement_type_con_change_1 +
+                        b_3_ovabonnement_inc*ovabonnement_type_con_change_3 +
+                        #b_3_ovabonnement_same*ovabonnement_type_con_change_2
+                        b_3_type_anders*huishoudenstype_anders +
+                        b_3_type_eengezin*huishoudenstype_eengezinshuishouden +
+                        b_3_type_eengezinkinderen*huishoudenstype_eengezinshuishoudenmetkinderen +
+                        b_3_type_meergezinkinderen*huishoudenstype_meergezinshuishoudenmetkinderen,
+                        #b_3_type_meergezin*huishoudenstype_meergezinshuishoudenzonderkinderen,
+                      tau             = list(tau_nnormalefietsen_change_1, tau_nnormalefietsen_change_2))
+   #rows           = (task==1))
+   ol_settings4 = list(outcomeOrdered = ovabonnement_type_con_change, 
+                      utility        = 
+                        sigma_4_error14*error14 +
+                        sigma_4_error24*error24 +
+                        sigma_4_error34*error34 +
+                        b_4_weekdist_dec*weekdist_woonwerk_changecat_decreasedcommute +
+                        b_4_weekdist_inc*weekdist_woonwerk_changecat_increasedcommute +
+                        b_4_weekdist_same*weekdist_woonwerk_changecat_samecommute +
+                        #b_4_weekdist_nojob*weekdist_woonwerk_changecat_nojob +
+                        b_4_weekdist_lostjob*weekdist_woonwerk_changecat_lostjob +
+                        b_4_weekdist_gotjob*weekdist_woonwerk_changecat_gotjob +
+                        b_4_weekdist_alwayswfh*weekdist_woonwerk_changecat_alwaysworkfromhome +
+                        b_4_weekdist_wfhtocommuting*weekdist_woonwerk_changecat_workfromhometocommuting +
+                        b_4_weekdist_commutingtowfh*weekdist_woonwerk_changecat_commutingtoworkfromhome +
+                        b_4_weekdist_differingaddresses*weekdist_woonwerk_changecat_differingaddresses +
+                        b_4_inkomen__1870*huishoudensinkomen__1870 +
+                        #b_4_inkomen_1870_3800*huishoudensinkomen_1870_3800 +
+                        b_4_inkomen_3800_*huishoudensinkomen_3800_- +
+                        #b_nautos_same*nautos_change_2 +
+                        b_4_nautos_inc*nautos_change_3 +
+                        b_4_nautos_dec*nautos_change_1 +
+                        #b_4_nfiets_same*nnormalefietsen_change_2 +
+                        b_4_nfiets_inc*nnormalefietsen_change_3 +
+                        b_4_nfiets_dec*nnormalefietsen_change_1 +
+                        b_4_type_anders*huishoudenstype_anders +
+                        b_4_type_eengezin*huishoudenstype_eengezinshuishouden +
+                        b_4_type_eengezinkinderen*huishoudenstype_eengezinshuishoudenmetkinderen +
+                        b_4_type_meergezinkinderen*huishoudenstype_meergezinshuishoudenmetkinderen,
+                        #b_4_type_meergezin*huishoudenstype_meergezinshuishoudenzonderkinderen,
+                      tau             = list(tau_ovabonnement_change_1, tau_ovabonnement_change_2))
+   #rows           = (task==1))
+   
+   P[["nautos"]]               = apollo_ol(ol_settings1, functionality)
+   P[["nelektrischefietsen"]]  = apollo_ol(ol_settings2, functionality)
+   P[["nnormalefietsen"]]      = apollo_ol(ol_settings3, functionality)
+   P[["ov"]]                   = apollo_ol(ol_settings4, functionality)
+   
+   ### Likelihood of the whole model
+   P = apollo_combineModels(P, apollo_inputs, functionality)
+   
+   #P[["model"]] = apollo_ol(ol_settings, 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                                            ####
> # ################################################################# #
> 
> model = apollo_estimate(apollo_beta, apollo_fixed, apollo_probabilities, apollo_inputs, estimate_settings=list(maxIterations=1000))
Preparing user-defined functions.

Testing likelihood function...
Apollo found a model component of type OL without a componentName. The name was set to "nautos" by default.
No coding provided for Ordered model component "nautos", so assuming outcomeOrdered goes from 1 to 3

Overview of choices for OL model component nautos:
                              1      2  3
Times chosen              44.00 1152.0 63
Percentage chosen overall  3.49   91.5  5
Apollo found a model component of type OL without a componentName. The name was set to "nelektrischefietsen" by default.
No coding provided for Ordered model component "nelektrischefietsen", so assuming outcomeOrdered goes from 1 to 3

Overview of choices for OL model component nelektrischefietsen:
                              1       2      3
Times chosen              18.00 1128.00 113.00
Percentage chosen overall  1.43   89.59   8.98
Apollo found a model component of type OL without a componentName. The name was set to "nnormalefietsen" by default.
No coding provided for Ordered model component "nnormalefietsen", so assuming outcomeOrdered goes from 1 to 3

Overview of choices for OL model component nnormalefietsen:
                               1       2     3
Times chosen              101.00 1069.00 89.00
Percentage chosen overall   8.02   84.91  7.07
Apollo found a model component of type OL without a componentName. The name was set to "ov" by default.
No coding provided for Ordered model component "ov", so assuming outcomeOrdered goes from 1 to 3

Overview of choices for OL model component ov:
                               1      2      3
Times chosen              118.00 990.00 151.00
Percentage chosen overall   9.37  78.63  11.99

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

Testing influence of parameters
Starting main estimation
Initial function value: -7098.091 
Initial gradient value:
                 sigma_1_error12                  sigma_1_error13                  sigma_1_error14                  sigma_2_error12                  sigma_2_error23 
                   -1.811416e-01                     1.685392e-01                    -6.127976e-02                     1.643254e-01                     1.789297e-01 
                 sigma_2_error24                  sigma_3_error13                  sigma_3_error23                  sigma_3_error34                  sigma_4_error14 
                   -4.923709e-02                     4.240758e-01                    -1.133286e-01                    -2.044590e-01                     2.568534e-01 
                 sigma_4_error24                  sigma_4_error34                 b_1_weekdist_dec                 b_1_weekdist_inc                b_1_weekdist_same 
                    4.258143e-02                    -2.441465e-01                     7.867357e+01                     2.633315e+01                     4.378372e+01 
            b_1_weekdist_lostjob              b_1_weekdist_gotjob           b_1_weekdist_alwayswfh      b_1_weekdist_wfhtocommuting      b_1_weekdist_commutingtowfh 
                    1.490516e+01                     2.772703e+00                     1.074234e+01                     7.776464e+00                     3.503762e+00 
 b_1_weekdist_differingaddresses                 b_2_weekdist_dec                 b_2_weekdist_inc                b_2_weekdist_same             b_2_weekdist_lostjob 
                    2.668539e+01                     9.471521e+01                     2.579527e+01                     4.951478e+01                     2.332939e+01 
             b_2_weekdist_gotjob           b_2_weekdist_alwayswfh      b_2_weekdist_wfhtocommuting      b_2_weekdist_commutingtowfh  b_2_weekdist_differingaddresses 
                    4.003762e+00                     1.074234e+01                     7.776464e+00                     4.734820e+00                     2.687856e+01 
                b_3_weekdist_dec                 b_3_weekdist_inc                b_3_weekdist_same             b_3_weekdist_lostjob              b_3_weekdist_gotjob 
                    7.940086e+01                     2.287104e+01                     3.670419e+01                     1.444304e+01                     2.772703e+00 
          b_3_weekdist_alwayswfh      b_3_weekdist_wfhtocommuting      b_3_weekdist_commutingtowfh  b_3_weekdist_differingaddresses                 b_4_weekdist_dec 
                    7.818109e+00                     5.352230e+00                     3.272703e+00                     2.133692e+01                     6.431757e+01 
                b_4_weekdist_inc                b_4_weekdist_same             b_4_weekdist_lostjob              b_4_weekdist_gotjob           b_4_weekdist_alwayswfh 
                    1.825363e+01                     4.020419e+01                     1.963622e+01                     4.503762e+00                     1.051128e+01 
     b_4_weekdist_wfhtocommuting      b_4_weekdist_commutingtowfh  b_4_weekdist_differingaddresses                b_1_inkomen__1870                b_1_inkomen_3800_ 
                    4.121172e+00                     1.041644e+00                     1.941268e+01                     5.687453e+01                     1.004272e+02 
               b_2_inkomen__1870                b_2_inkomen_3800_                b_3_inkomen__1870                b_3_inkomen_3800_                b_4_inkomen__1870 
                    5.560559e+01                     1.212378e+02                     4.837077e+01                     8.803708e+01                     5.032913e+01 
               b_4_inkomen_3800_                   b_2_nautos_inc                   b_2_nautos_dec                   b_3_nautos_inc                   b_3_nautos_dec 
                    9.195755e+01                    -1.682563e+01                     1.143552e+01                    -1.717034e+01                     6.087050e+00 
                  b_4_nautos_inc                   b_4_nautos_dec                   b_1_nfiets_inc                   b_1_nfiets_dec                   b_4_nfiets_inc 
                   -1.201505e+01                     1.201128e+01                    -2.390892e+01                     1.975739e+01                     1.686728e+01 
                  b_4_nfiets_dec             b_1_ovabonnement_dec             b_1_ovabonnement_inc             b_2_ovabonnement_dec             b_2_ovabonnement_inc 
                    1.856421e+01                     2.910962e+01                     3.234820e+01                     3.207174e+01                     3.869667e+01 
            b_3_ovabonnement_dec             b_3_ovabonnement_inc                  b_1_type_anders                b_1_type_eengezin        b_1_type_eengezinkinderen 
                    2.649221e+01                     3.704138e+01                     1.290140e+01                     7.901827e+01                     1.193928e+01 
      b_1_type_meergezinkinderen                  b_2_type_anders                b_2_type_eengezin        b_2_type_eengezinkinderen       b_2_type_meergezinkinderen 
                    6.561687e+01                     1.586351e+01                     7.924933e+01                     1.413246e+01                     8.219640e+01 
                 b_3_type_anders                b_3_type_eengezin        b_3_type_eengezinkinderen       b_3_type_meergezinkinderen                  b_4_type_anders 
                    1.324610e+01                     7.082134e+01                     1.367034e+01                     5.272676e+01                     8.321870e+00 
               b_4_type_eengezin        b_4_type_eengezinkinderen       b_4_type_meergezinkinderen tau_nelectrischefietsen_change_1 tau_nelectrischefietsen_change_2 
                    7.358652e+01                     1.567034e+01                     5.838205e+01                    -1.211470e+03                     8.772260e+02 
    tau_nnormalefietsen_change_1     tau_nnormalefietsen_change_2        tau_ovabonnement_change_1        tau_ovabonnement_change_2              tau_nautos_change_1 
                   -1.106133e+03                     8.445673e+02                    -1.012157e+03                     7.320191e+02                    -1.224437e+03 
             tau_nautos_change_2 
                    9.342010e+02 
initial  value 7098.090754 
iter   2 value 5482.600283
iter   3 value 4709.835218
iter   4 value 4255.318949
iter   5 value 4205.446902
iter   6 value 4028.873862
iter   7 value 3917.354289
iter   8 value 3634.684082
iter   9 value 3482.859801
iter  10 value 3377.289244
iter  11 value 3258.214747
iter  12 value 3164.962265
iter  13 value 3140.143637
iter  14 value 3109.842944
iter  15 value 3004.101564
iter  16 value 2875.696205
iter  17 value 2825.566318
iter  18 value 2781.285210
iter  19 value 2671.956271
iter  20 value 2608.578898
iter  21 value 2548.203437
iter  22 value 2499.550913
iter  23 value 2457.423312
iter  24 value 2433.604797
iter  25 value 2411.648998
iter  26 value 2376.363035
iter  27 value 2319.630401
iter  28 value 2299.223889
iter  29 value 2266.252087
iter  30 value 2251.850161
iter  31 value 2241.852619
iter  32 value 2230.702844
iter  33 value 2215.966727
iter  34 value 2206.596788
iter  35 value 2194.269519
iter  36 value 2182.511303
iter  37 value 2172.384063
iter  38 value 2163.334154
iter  39 value 2154.240076
iter  40 value 2147.000348
iter  41 value 2140.435103
iter  42 value 2132.441024
iter  43 value 2126.108017
iter  44 value 2123.847859
iter  45 value 2123.228885
iter  46 value 2112.187952
iter  47 value 2103.825164
iter  48 value 2098.068199
iter  49 value 2093.395695
iter  50 value 2089.315906
iter  51 value 2085.044149
iter  52 value 2080.547895
iter  53 value 2075.699059
iter  54 value 2069.396423
iter  55 value 2066.338836
iter  56 value 2063.944941
iter  57 value 2061.977642
iter  58 value 2060.091409
iter  59 value 2058.472868
iter  60 value 2056.891665
iter  61 value 2055.603541
iter  62 value 2054.077911
iter  63 value 2052.559137
iter  64 value 2051.466557
iter  65 value 2049.843638
iter  66 value 2048.653142
iter  67 value 2047.325576
iter  68 value 2046.312828
iter  69 value 2045.605711
iter  70 value 2045.213467
iter  71 value 2044.900161
iter  72 value 2044.600305
iter  73 value 2044.193750
iter  74 value 2043.834388
iter  75 value 2043.726602
iter  76 value 2043.009974
iter  77 value 2042.254759
iter  78 value 2041.605572
iter  79 value 2041.054661
iter  80 value 2040.374461
iter  81 value 2040.226951
iter  82 value 2040.165808
iter  83 value 2039.140513
iter  84 value 2038.102507
iter  85 value 2037.536422
iter  86 value 2037.126506
iter  87 value 2036.785083
iter  88 value 2036.349183
iter  89 value 2035.905107
iter  90 value 2035.158762
iter  91 value 2034.447405
iter  92 value 2033.303835
iter  93 value 2032.516644
iter  94 value 2031.296716
iter  95 value 2030.260719
iter  96 value 2029.150835
iter  97 value 2029.107917
iter  98 value 2027.321550
iter  99 value 2026.543799
iter 100 value 2026.002795
iter 101 value 2024.805453
iter 102 value 2023.607466
iter 103 value 2022.711279
iter 104 value 2021.540411
iter 105 value 2020.072245
iter 106 value 2018.750769
iter 107 value 2017.660054
iter 108 value 2016.504241
iter 109 value 2015.079784
iter 110 value 2013.888760
iter 111 value 2012.716823
iter 112 value 2011.331809
iter 113 value 2010.230974
iter 114 value 2009.119294
iter 115 value 2008.025525
iter 116 value 2007.022186
iter 117 value 2005.995059
iter 118 value 2004.848408
iter 119 value 2003.978374
iter 120 value 2003.157147
iter 121 value 2002.398138
iter 122 value 2001.680081
iter 123 value 2000.992112
iter 124 value 2000.506894
iter 125 value 1999.570769
iter 126 value 1998.794613
iter 127 value 1998.144404
iter 128 value 1997.347325
iter 129 value 1996.531416
iter 130 value 1995.438776
iter 131 value 1994.405394
iter 132 value 1993.259297
iter 133 value 1992.371408
iter 134 value 1990.531462
iter 135 value 1989.327549
iter 136 value 1988.117589
iter 137 value 1987.203577
iter 138 value 1986.150348
iter 139 value 1985.243646
iter 140 value 1984.479799
iter 140 value 1984.479799
final  value 1984.479799 
converged
Additional convergence test using scaled estimation. Parameters will be scaled by their current estimates and additional iterations will be performed.
Error in maxOptim(fn = fn, grad = grad, hess = hess, start = start, method = "BFGS",  : 
  NA in the initial gradient
In addition: There were 26 warnings (use warnings() to see them)
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by stephanehess »

Hi

something went wrong during the initial estimation, probably convergence to a strange value, and then the scaling failed.

Try estimating without the rescaling for now, using

Code: Select all

apollo_estimate(
  apollo_beta,
  apollo_fixed,
  apollo_probabilities,
  apollo_inputs,
  estimate_settings = list(scaleAfterConvergence=FALSE))
--------------------------------
Stephane Hess
www.stephanehess.me.uk
victornielsen
Posts: 13
Joined: 19 Apr 2022, 15:49

Re: Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by victornielsen »

To rephrase my last message. It worked in the sense that it is not producing an error, but all my t-ratios and p-values are NaN now.
Could you tell me if it's a problem with the data or a problem with the code?
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by stephanehess »

Could you post the results so we can have a look?
--------------------------------
Stephane Hess
www.stephanehess.me.uk
victornielsen
Posts: 13
Joined: 19 Apr 2022, 15:49

Re: Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by victornielsen »

combinedMOL_output.zip
Contains the result txt file
(57.09 KiB) Downloaded 91 times
These are the results.
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by stephanehess »

This is either an empirical or theoretical identification issue. You get:

sigma_3_error34 -137.942501 NaN NaN
...
sigma_4_error34 136.037547 NaN NaN

are you sure you can identify all the sigma terms?
--------------------------------
Stephane Hess
www.stephanehess.me.uk
victornielsen
Posts: 13
Joined: 19 Apr 2022, 15:49

Re: Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by victornielsen »

The 4 models each has a dependent variables. Each of the 4 model uses the other models' dependent variables as independent variables. This is why the mixed logit is done. Since not all of these were significant, in some of these models, one or more variables are omitted. Could the error be that I also need to remove the corresponding sigmas in this case? I will try at least. Thank you for the help.
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by stephanehess »

Hi

apologies for the slow response, the forum was offline due to a technical issue.

The below doesn't make a lot of sense to me at first sight. You use each of the variables as an explanatory as well as a dependent variable? How does that come about in terms of causality?

Stephane
--------------------------------
Stephane Hess
www.stephanehess.me.uk
victornielsen
Posts: 13
Joined: 19 Apr 2022, 15:49

Re: Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by victornielsen »

No problem.

There are 4 models. Each has a dependent variable that may exist in the other 4 models. To solve this issue we incorporate a mixed logit model to account for their errors. So they are not independent and independent within the same model.
Last edited by victornielsen on 25 Apr 2023, 13:18, edited 2 times in total.
stephanehess
Site Admin
Posts: 974
Joined: 24 Apr 2020, 16:29

Re: Getting error: Error in maxOptim(fn=fn, grad=grad, hess=hess, start=start, method="BFGS",:NA in the initial gradient

Post by stephanehess »

it definitely looks like an overspecification. did you try to remove some of the sigmas? It's difficult to judge this without trying it myself first
--------------------------------
Stephane Hess
www.stephanehess.me.uk
Post Reply