Dear Prof. Bierlaire ,
My name is Hisham Haydar I recently started my PhD and working on estimating preferences in a labour supply where my assumption is that Labour supply follows a discrete choice ( similar to van soest (1995) ) I am facing a problerm of huge time consumption in the parameter estimation using biogeme, it is taking 5-6 hours to estimate 60 parameters ( since i am including interactions for observed heterogeneity ) I assume only 4 alternatives even without unobserved heterogeneity and SMLE every estimation takes 5-6 hours I profiled the code and find that most of the time is consumed at self the function
calculateLikelihoodAndDerivatives as you can see below almost 100% of these hours solving this function, on self.theC.calculateLikelihoodAndDerivatives, do you have a suggestion how I can shorten the time ? I tried my best didnt work like on stata it takes less than 15 min for the same specification . I am still new in the domain so please excuse me if I am asking nonsense questions.
1692/2 0.001 0.000 0.002 0.001 base_expressions.py:1216(change_init_values)
846/1 0.001 0.000 0.001 0.001 base_expressions.py:1230(set_estimated_values)
2538 0.001 0.000 0.001 0.000 base_expressions.py:1367(get_children)
203 19718.979 97.138 19719.190 97.139 biogeme.py:1025(calculateLikelihoodAndDerivatives)
specifically at self.theC.calculateLikelihoodAndDerivatives( 1076 raise ValueError(error_msg)
1077 1 54.0 54.0 0.0 self._prepareDatabaseForFormula()
1078
1079 1 52.0 52.0 0.0 g = np.empty(n)
1080 1 55.0 55.0 0.0 h = np.empty([n, n])
1081 1 11.0 11.0 0.0 bh = np.empty([n, n])
1082 2 510175675.0 3e+08 100.0 f, g, h, bh = self.theC.calculateLikelihoodAndDerivatives(