This webpage is for programmers who need examples of use of the functions of the class. The examples are designed to illustrate the syntax. They do not correspond to any meaningful model. For examples of models, visit biogeme.epfl.ch.
import datetime
print(datetime.datetime.now())
import biogeme.version as ver
print(ver.getText())
import biogeme.biogeme as bio
import biogeme.database as db
import biogeme.results as res
import pandas as pd
import numpy as np
from biogeme.expressions import Beta, Variable, exp
df = pd.DataFrame({'Person':[1,1,1,2,2],
'Exclude':[0,0,1,0,1],
'Variable1':[1,2,3,4,5],
'Variable2':[10,20,30,40,50],
'Choice':[1,2,3,1,2],
'Av1':[0,1,1,1,1],
'Av2':[1,1,1,1,1],
'Av3':[0,1,1,1,1]})
myData = db.Database('test',df)
Variable1=Variable('Variable1')
Variable2=Variable('Variable2')
beta1 = Beta('beta1',-1.0,-3,3,0)
beta2 = Beta('beta2',2.0,-3,10,0)
likelihood = -beta1**2 * Variable1 - exp(beta2*beta1) * Variable2 - beta2**4
simul = beta1 / Variable1 + beta2 / Variable2
dictOfExpressions = {'loglike':likelihood,'beta1':beta1,'simul':simul}
myBiogeme = bio.BIOGEME(myData,dictOfExpressions)
myBiogeme.modelName = 'simpleExample'
results = myBiogeme.estimate(bootstrap=10)
print(results)
Dump results on a file
f = results.writePickle()
print(f)
Results can be imported from a file previously generated
readResults = res.bioResults(pickleFile=f)
print(readResults)
Results can be formatted in LaTeX
print(readResults.getLaTeX())
Results can be formatted in HTML
print(readResults.getHtml())
General statistics
readResults.getGeneralStatistics()
Estimated parameters as pandas dataframe
readResults.getEstimatedParameters()
Correlation results
readResults.getCorrelationResults()
Obtain the values of the parameters
readResults.getBetaValues()
readResults.getBetaValues(myBetas=['beta2'])
Variance-covariance matrix (Rao-Cramer)
readResults.getVarCovar()
Variance-covariance matrix (robust)
readResults.getRobustVarCovar()
Variance-covaraince matrix (bootstrap)
readResults.getBootstrapVarCovar()
Betas for sensitivity analysis
readResults.getBetasForSensitivityAnalysis(['beta1','beta2'],size=10)