目录
一、理论原理
二值选择模型是一种用于分析只有两种可能结果(例如“是”或“否”、“成功”或“失败”)的情况的统计模型。常见的二值选择模型包括 Logit 模型和 Probit 模型。
Logit 模型基于逻辑分布,而 Probit 模型基于正态分布。这两种模型的基本思想是通过解释变量来预测事件发生的概率。
二、实证模型
假设我们要研究个人是否购买汽车(购买为 1,不购买为 0)与个人收入、年龄等因素的关系,并加入性别、婚姻状况作为控制变量。
三、程序代码及解释
首先,我们需要准备数据。假设我们有一个名为“car_purchase.dta”的数据文件,包含了“income”(收入)、“age”(年龄)、“gender”(性别,1 为男性,0 为女性)、“marriage”(婚姻状况,1 为已婚,0 为未婚)和“purchase”(是否购买汽车)等变量。
use "car_purchase.dta", clear // 导入数据
// 建立 Logit 模型
logit purchase income age gender marriage // 以 purchase 为因变量,income、age、gender 和 marriage 为自变量
// 查看模型结果
estimates store logit_model // 存储模型结果
// 预测概率
predict phat // 生成预测的概率
// 生成预测值
gen predict = (phat > 0.5) // 以 0.5 为阈值,将概率转换为预测值
// 计算准确率
tab predict purchase // 比较预测值和实际值,计算准确率
代码解释:
use "car_purchase.dta", clear
:用于导入数据并清除之前可能存在的内存数据。logit purchase income age gender marriage
:指定因变量和自变量进行 Logit 回归,加入了性别和婚姻状况作为控制变量。estimates store logit_model
:存储模型估计结果,以便后续调用。predict phat
:生成预测的概率值。gen predict = (phat > 0.5)
:根据概率值生成预测结果,大于 0.5 则预测为购买,否则为不购买。tab predict purchase
:比较预测结果和实际结果,计算准确率。
四、代码运行结果
运行上述代码后,Stata 会输出模型的估计结果,包括系数、标准误差、Z 值、P 值等。例如:
Logistic regression Number of obs = 500
LR chi2(4) = 75.23
Prob > chi2 = 0.0000
Log likelihood = -180.58296 Pseudo R2 = 0.1523
------------------------------------------------------------------------------
purchase | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------------+----------------------------------------------------------------
income | .0051279 .0012345 4.15 0.000 .0027097 .0075461
age | .0123456 .0045678 2.70 0.007 .0033214 .0213698
gender | .123456 .056789 2.17 0.030 .010321 .236591
marriage | .087654 .043210 2.03 0.042 .002145 .173163
_cons | -1.567890 .2345678 -6.68 0.000 -2.034567 -1.101213
------------------------------------------------------------------------------
同时,通过 tab predict purchase
可以得到预测结果和实际结果的比较表格,从而计算准确率等评估指标。
五、进一步扩展和注意事项
在实际应用中,如果模型存在多重共线性、异方差等问题,可以考虑使用逐步回归、方差膨胀因子(VIF)检验、稳健标准误等方法进行处理。此外,还可以对模型进行似然比检验、Wald 检验等,以检验某些变量的联合显著性或单个变量的显著性。
同时,对于预测结果的评估,除了准确率,还可以使用混淆矩阵、ROC 曲线等方法,从不同角度评估模型的性能。