正在加载中...

展开本页目录
算法教程LogitProbit-Logit和Probit模型

LogitProbit-Logit和Probit模型

No.050 · 在线教程

Logit 与 Probit 模型是二元离散选择问题中最常用的两类概率模型,适用于因变量仅取 0/1 两个状态的场景。两者都以线性预测器为基础,通过不同的连接函数将线性组合映射到区间(0,1) 的概率值,从而完成“事件发生概率”的估计与分类判断。该方法在政策评估、医学风险分层、…

50-LogitProbit-Logit和Probit模型

1. 方法概述

Logit 与 Probit 模型是二元离散选择问题中最常用的两类概率模型,适用于因变量仅取 0/1 两个状态的场景。两者都以线性预测器为基础,通过不同的连接函数将线性组合映射到区间 \((0,1)\) 的概率值,从而完成“事件发生概率”的估计与分类判断。该方法在政策评估、医学风险分层、企业违约识别、用户行为预测等研究中广泛使用,具有参数可解释、统计检验体系完整、结果便于论文呈现等特点。

设样本集为

$$ \mathcal{D}=\{(x_i,y_i)\}_{i=1}^{n},\quad x_i\in\mathbb{R}^p,\ y_i\in\{0,1\} \tag{1} $$

其中,\(y_i=1\) 表示目标事件发生,\(y_i=0\) 表示未发生。

2. 模型结构与连接函数

2.1 线性预测器

$$ \eta_i=\beta_0+\sum_{j=1}^{p}\beta_j x_{ij}=x_i^{\top}\beta \tag{2} $$

2.2 Logit 模型

Logit 模型采用 Logistic 累积分布函数:

$$ \Pr(y_i=1\mid x_i)=\Lambda(\eta_i)=\frac{1}{1+e^{-\eta_i}} \tag{3} $$

等价的对数几率形式为

$$ \log\frac{\Pr(y_i=1\mid x_i)}{1-\Pr(y_i=1\mid x_i)}=\eta_i \tag{4} $$

式(4)表明,在其他变量不变时,\(\beta_j\) 反映自变量 \(x_j\) 对对数几率的边际影响。

2.3 Probit 模型

Probit 模型采用标准正态分布函数:

$$ \Pr(y_i=1\mid x_i)=\Phi(\eta_i) \tag{5} $$

其中 \(\Phi(\cdot)\) 为标准正态分布的累积分布函数。与 Logit 相比,Probit 以正态误差假设为基础,二者在多数实证问题中的分类结果相近,但系数量纲不同。

3. 参数估计与统计推断

3.1 极大似然估计

记 \(p_i=\Pr(y_i=1\mid x_i)\),则似然函数为

$$ L(\beta)=\prod_{i=1}^{n} p_i^{y_i}(1-p_i)^{1-y_i} \tag{6} $$

对数似然为

$$ \ell(\beta)=\sum_{i=1}^{n}\left[y_i\ln p_i+(1-y_i)\ln(1-p_i)\right] \tag{7} $$

模型通过数值优化最小化负对数似然:

$$ \hat\beta=\arg\min_{\beta}\left(-\ell(\beta)\right) \tag{8} $$

当样本设置权重 \(w_i\) 时,可写为

$$ \ell_w(\beta)=\sum_{i=1}^{n}w_i\left[y_i\ln p_i+(1-y_i)\ln(1-p_i)\right] \tag{9} $$

3.2 标准误、显著性与置信区间

记 Hessian 近似得到的协方差矩阵为 \(\widehat{\mathrm{Var}}(\hat\beta)\),则

$$ \mathrm{SE}(\hat\beta_j)=\sqrt{\left[\widehat{\mathrm{Var}}(\hat\beta)\right]_{jj}} \tag{10} $$

Wald 型统计量为

$$ z_j=\frac{\hat\beta_j}{\mathrm{SE}(\hat\beta_j)} \tag{11} $$

双侧 p 值为

$$ p_j=2\left(1-\Phi(|z_j|)\right) \tag{12} $$

在显著性水平 \(\alpha\) 下,\(\beta_j\) 的置信区间为

$$ \hat\beta_j\pm z_{1-\alpha/2}\,\mathrm{SE}(\hat\beta_j) \tag{13} $$

4. 模型评价指标

4.1 似然与信息准则

空模型(仅截距)的对数似然记为 \(\ell_0\),完整模型对数似然记为 \(\ell\)。常用伪 \(R^2\) 指标与信息准则为:

$$ R^2_{\text{McFadden}}=1-\frac{\ell}{\ell_0} \tag{14} $$

$$ R^2_{\text{Cox-Snell}}=1-\exp\left(-\frac{2(\ell-\ell_0)}{n}\right) \tag{15} $$

$$ R^2_{\text{Nagelkerke}}=\frac{R^2_{\text{Cox-Snell}}}{1-\exp\left(\frac{2\ell_0}{n}\right)} \tag{16} $$

$$ \mathrm{AIC}=-2\ell+2k \tag{17} $$

$$ \mathrm{BIC}=-2\ell+k\ln n \tag{18} $$

其中 \(k\) 为参数个数。

4.2 分类阈值与混淆矩阵指标

模型得到预测概率 \(\hat p_i\) 后,以阈值 \(c\)(系统默认 \(c=0.5\))判定类别:

$$ \hat y_i=\mathbf{1}(\hat p_i\ge c) \tag{19} $$

混淆矩阵四要素分别为 \(TP,FP,TN,FN\)。据此计算:

$$ \mathrm{Accuracy}=\frac{TP+TN}{TP+TN+FP+FN} \tag{20} $$

$$ \mathrm{Precision}=\frac{TP}{TP+FP} \tag{21} $$

$$ \mathrm{Recall}=\frac{TP}{TP+FN} \tag{22} $$

$$ F1=\frac{2\cdot \mathrm{Precision}\cdot \mathrm{Recall}}{\mathrm{Precision}+\mathrm{Recall}} \tag{23} $$

ROC 曲线由不同阈值下的真正率与假正率构成,其面积为 AUC:

$$ \mathrm{AUC}=\int_{0}^{1}\mathrm{TPR}(u)\,\mathrm{d}u \tag{24} $$

5. 残差诊断

为检验模型拟合结构,常用 Pearson 残差:

$$ r_i^{(P)}=\frac{y_i-\hat p_i}{\sqrt{\hat p_i(1-\hat p_i)}} \tag{25} $$

并可构造二元响应下的偏差残差(按 \(y_i=1\) 与 \(y_i=0\) 分段):

$$ r_i^{(D)}= \begin{cases} \sqrt{-2\ln(\hat p_i)}, & y_i=1 \\ -\sqrt{-2\ln(1-\hat p_i)}, & y_i=0 \end{cases} \tag{26} $$

在实证分析中,可结合“残差-拟合值散点图”与“Q-Q 图”判断是否存在系统偏离与异常样本。

6. 与系统实现一致的数据处理与流程

系统实现采用“训练集拟合、测试集评估”的标准流程。设测试集比例为 \(t\),样本量为 \(n\),则:

$$ n_{\text{test}}=\lceil nt\rceil,\quad n_{\text{train}}=n-n_{\text{test}} \tag{27} $$

数据预处理支持缺失处理(如删除缺失行/列)、类别变量 One-Hot 编码、特征缩放等步骤。参数估计在训练集完成,评价指标在测试集计算,能更客观反映模型泛化性能。

7. 输出结果说明(可直接用于论文整理)

系统在 results/时间戳目录/ 下输出 xlsx、图表与复现脚本。Excel 文件主要包括以下工作表:

  1. 参数估计:报告各变量系数、标准误、z 统计量、p 值与置信区间,可直接用于显著性讨论。
  2. 模型评估:给出对数似然、伪 \(R^2\)、AIC/BIC、Accuracy、Precision、Recall、F1、ROC-AUC 等综合指标。
  3. 混淆矩阵:给出二分类列联表及 TN、FP、FN、TP,适合展示误判结构。
  4. 预测结果:列出样本真实类别、预测概率、预测类别与是否预测正确,便于做个体层面的解释。
  5. 参数设置:记录模型类型、因变量、自变量、显著性水平等实验配置,便于复现。
  6. 图表清单:记录图表名称与相对路径,便于论文插图定位。
  7. 数据预览:保留前若干行输入数据,方便交叉核查。

系统默认生成的图表包括:ROC 曲线、预测概率分布图、混淆矩阵热图、Pearson 残差诊断图。论文正文可优先使用“模型评估 + 混淆矩阵 + ROC 曲线”作为主结果,其余图表可放入附录支持稳健性说明。

8. 与代码实现的对应关系

本算法在程序中通过 具体的算法2/LogitProbit-Logit和Probit模型 下的计算与绘图模块共同完成。程序并非只输出一组系数,而是同时输出参数估计、模型评估、混淆矩阵、预测明细、图表清单和数据预览。

8.1 程序实际导出的工作表

  • 参数估计:系数、标准误、z 值、p 值、区间;
  • 模型评估:对数似然、伪 \(R^2\)、AIC/BIC、Accuracy、Precision、Recall、F1、ROC-AUC;
  • 混淆矩阵:TN、FP、FN、TP;
  • 预测结果:真实类别、预测概率、预测类别、是否正确;
  • 参数设置:模型类型、变量设置、显著性水平等;
  • 图表清单:图表名称与相对路径;
  • 数据预览:输入数据前若干行。

8.2 程序实际生成的图表

  • ROC 曲线;
  • 预测概率相关图;
  • 混淆矩阵热图;
  • Pearson 残差诊断图。

8.3 程序实现中应在论文里说清的点

  • 程序支持 logitprobit 两种模型类型,正文不应只笼统写“二分类回归”;
  • 预测类别由阈值规则得到,概率输出和类别输出应区分讨论;
  • 模型评估表已同时包含统计推断指标与分类性能指标,正文可按“显著性 + 判别能力”双线展开;
  • 图表清单 使用相对路径,适合论文附录统一管理插图来源。

9. 论文写作模板

本文针对二元响应变量构建 Logit/Probit 模型,通过极大似然法估计参数,分别采用 Logistic 与标准正态累积分布函数作为连接函数(见式(3)与式(5))。在参数推断阶段,报告系数估计、标准误、z 检验与置信区间(式(10)–式(13));在模型评价阶段,结合伪 \(R^2\)、AIC/BIC 以及 Accuracy、Precision、Recall、F1、AUC 等指标(式(14)–式(24))综合判断模型表现。结果显示,核心解释变量在统计上具有显著影响,模型在测试集上具备稳定的判别能力。

10. 适用场景与注意事项

Logit/Probit 模型适用于因变量为 0/1 的判别问题,且样本量中等、解释需求较强的研究场景。实证应用时应注意:因变量必须为二元取值;自变量间需关注多重共线性;类别极不平衡时应同时关注阈值敏感性与召回率;结论解释应以统计显著性与效应方向为基础,避免仅凭单一准确率指标下结论。

11. 单篇终审补充

11.1 图题与表题对齐建议

  • 本文档应优先对应真实算法目录 具体的算法2/LogitProbit-Logit和Probit模型
  • 代表性结果目录建议绑定 具体的算法2/LogitProbit-Logit和Probit模型/results/Logit分析结果_20260329_165314_445752
  • 表题应直接对应 Logit分析结果_20260329_165314_445752.xlsx 的真实工作表:参数估计模型评估混淆矩阵预测结果参数设置图表清单数据预览
  • 图题应优先绑定该结果目录下 charts/ 子目录中的真实图:01_roc_curve.png02_probability_distribution.png03_confusion_matrix.png04_pearson_residuals.png

11.2 终审说明

  • 当前 Logit/Probit 文档可按“结果目录内 xlsx + charts 子目录”闭环写入论文,图表索引 sheet 中也已明确登记相对路径 charts/...
  • 复现脚本可对应 results/repro_stats_template_20260329_165330.py,其 SRC_FILE 实际写为 logit_window1_input.csv,属于“results 根目录脚本同目录 CSV 快照复现”口径。
  • 因此正文与附录应区分“单个时间戳目录中的结果表与图表”以及“results 根目录中的 repro 脚本和输入快照”,不要误写成统一 repro_inputs 结构。

11.3 全量强化补充

  • 当前 Logit/Probit 文档应绑定真实算法目录 具体的算法2/LogitProbit-Logit和Probit模型,代表性正式结果目录为 具体的算法2/LogitProbit-Logit和Probit模型/results/Logit分析结果_20260329_165314_445752
  • 该目录首层主工作簿为 Logit分析结果_20260329_165314_445752.xlsx,真实工作表为 参数估计模型评估混淆矩阵预测结果参数设置图表清单数据预览
  • 当前主图位于 charts/ 子目录,真实文件为 01_roc_curve.png02_probability_distribution.png03_confusion_matrix.png04_pearson_residuals.png
  • results 根目录中同时保留 logit_window1_input.csv、多份 repro_stats_template_*.py 和一个全局 charts/ 目录。这说明该模块采用“时间戳结果目录保存主结果表;results 根目录保存输入快照和复现脚本”的分层结构。
  • 当前主要复现脚本可采用 repro_stats_template_20260329_165330.py,其关键输入写法为 SRC_FILE = 'logit_window1_input.csv'。因此它属于 results 根目录脚本同目录 CSV 快照复现,而不是 repro_inputs 结构。
  • 论文与附录如果写复现实验,应明确区分:主结果证据来自时间戳目录中的 xlsx 与 charts/ 子目录,复现实验证据来自 results 根目录中的 repro_stats_template_20260329_165330.py + logit_window1_input.csv

12. 软件实现核查补充(2026-07)

  • 当前实现应按纯二元分类口径写,主结果目录建议绑定 具体的算法2/LogitProbit-Logit和Probit模型/results/Logit分析结果_20260329_165314_445752
  • 正文应围绕 参数估计模型评估混淆矩阵预测结果参数设置图表清单数据预览 来写,主图则对应 charts/01_roc_curve.pngcharts/02_probability_distribution.pngcharts/03_confusion_matrix.pngcharts/04_pearson_residuals.png
  • results 根目录中的 logit_window1_input.csvrepro_stats_template_20260329_165330.py 属于复现实验口径,正文与附录要和时间戳结果目录分开写。
  • 如果后续要给用户一条最稳妥的复现路径,就写成“时间戳目录中的主工作簿 + results 根目录中的脚本和输入快照”,不要把它们混成一个静态目录。