简介
Biogeme是一款开源免费软件,专为参数模型的最大似然估计而设计,特别强调离散选择模型。该软件有两个版本可供使用。
Pythonbiogeme
专为通用参数模型而设计。模型和似然函数的规范基于python编程语言的扩展。一系列离散选择模型经过预编码,易于使用。
Bisonbiogeme
用于估计预定离散选择模型列表的参数,如logit,二进制概率,嵌套logit,交叉嵌套logit,多元极值模型,多元极值模型的离散和连续混合,具有非线性效用函数的模型,为面板数据和异方差模型设计的模型。它基于模型规范的正式和简单语言。
安装
直接从官网下载windows可执行程序,安装即可
http://biogeme.epfl.ch/install.html#WindowsSources
Windows installation file: PythonBiogeme-2.6a-installer.exe
使用
1.数据格式
输入的数据文件首行是字段的名称,数据之间需要用制表符或空格间隔,有两个工具可以实现格式的整理:
(1)biopreparedata:能够将CSV格式转化为所需格式
(2)biocheckdata:能够检查数据的格式是否符合要求
2.两种版本的框架
Biogeme有两种版本可供选择。
(1)BisonBiogeme旨在估计预定离散选择模型列表的参数,例如 logit, binary probit,nested logit, cross-nested logit, multivariate extreme value models, discrete and continuous mixtures of multivariate extreme value models, models with nonlinear utility functions, models designed for panel data, and heteroscedas-tic models. logit, binary probit,nested logit, cross-nested logit, multivariate extreme value models, discrete and continuous mixtures of multivariate extreme value models, models with nonlinear utility functions, models designed for panel data, and heteroscedas-tic models.。 它基于规范正式和简单的模型语言。
(2)PythonBiogeme是为通用参数模型而设计的。模型和似然函数的规范基于python编程语言扩展。 一系列离散选择模型经过预编码,易于使用。
3.定义模型
以下定义了一个三种交通方式选择的效用模型:train, Swissmetro and car。
V_1 = V_TRAIN = ASC_TRAIN + B_TIME * TRAIN_TT_SCALED+ B_COST * TRAIN_COST_SCALED
V_2 = V_SM = ASC_SM + B_TIME * SM_TT_SCALED+ B_COST * SM_COST_SCALED
V_3 = V_CAR = ASC_CAR + B_TIME * CAR_TT_SCALED+ B_COST * CAR_CO_SCALED
ASC_TRAIN, ASC_SM, ASC_CAR, B_TIME, B_COST就是带估计的参数了。
值得注意的是,并不是所有的常数项都可以标定得到,一般认为ASC_SM为0。
Logit的概率选择模型如下:
yi取0或1,如果选择的可能性存在就为1,否则为0
样本的最大似然估计模型如下:表示第n个个体选择交通方式i的实际情况.
4.使用模型
模型文件以.mod为后缀名(如果使用python版本则是以.py结尾),对基本符号进行一些说明:
(1)//:注释
(2)":注释,但是这些注释会在报告中出现
(3)[]:划分section,如[Choice],[ModelDescription],前后顺序没影响
注意.mod文件里的所有变量那么在data中要有相应的字段对应,要么在[Expressions]中进行定义
第一步:从官网下载好模型和数据,按照格式修改就行了
第二步:打开biogeme,单击next
第三步:选择Biosbiogeme
第四步:把模型文件和数据加载进来,点击Apply即可
等待模型运行结束,就能看到很多输出文件,一般看.html这个文件就行,里面标定结果都在了。
作者扣扣:787015948