因果推断中倾向得分校准:提升双稳健机器学习估计精度的关键

news2026/5/24 16:13:19
1. 项目概述当因果推断遇上“不准”的机器学习在观察性研究中做因果推断就像在迷雾中寻找一条真实的路径。我们手头有大量的数据协变量X、处理状态D比如是否参加了某个培训项目和结果Y比如后续的就业率。核心目标是估算平均处理效应ATE即这个培训项目平均能提升多少就业概率。为了从非实验数据中剥离出“纯”因果效应我们依赖一个关键桥梁倾向得分。它本质上是给定个体所有背景特征后其接受处理的概率。理论上如果我们能精确知道每个个体的这个概率就能像做随机实验一样平衡处理组和对照组从而得到无偏的ATE估计。双稳健机器学习DML是近年来处理这类问题的利器。它巧妙地将预测任务用机器学习模型估计倾向得分和结果回归函数与最终的因果效应估计解耦通过Neyman正交得分函数来保证即使这两个预测模型有些许误差最终的ATE估计依然能保持较好的性质一致性、渐近正态性。这听起来很完美对吧但实践中我踩过不少坑。最大的一个坑就是我们常用的机器学习模型如随机森林、梯度提升树、神经网络在分类任务上可能表现惊艳但它们输出的“概率”往往并不可靠。这些模型为了追求更高的分类准确率其预测的概率值常常过于“自信”——要么趋近于0要么趋近于1或者整体分布与真实概率存在系统性偏差。这种现象被称为“概率校准”问题。一个没有校准好的模型可能会告诉你某个人有90%的概率参加培训但实际上在类似特征的人群中只有70%的人真正参加了。当这种失准的倾向得分被代入DML的双稳健估计量公式时尤其是那些涉及逆概率加权D/p(X)和(1-D)/(1-p(X))的项微小的概率偏差会被急剧放大导致最终的ATE估计产生严重的有限样本偏差。这引出了我们工作的核心倾向得分校准。我们不是要替换强大的机器学习模型而是为它们戴上“校准眼镜”让它们输出的概率值更贴近现实。本文将深入探讨如何将多种前沿的概率校准技术如Platt Scaling, Beta Scaling, Venn-Abers校准等无缝集成到标准的DML框架中并通过大量的模拟实验为你揭示在什么情况下校准能带来巨大收益以及如何选择最适合的校准方法。1.1 核心问题为什么机器学习估计的倾向得分需要校准要理解校准的必要性我们得先看看标准DML估计量是怎么工作的。对于一个个体i其贡献于ATE估计的“伪得分”通常形式为τ_i μ(1, X_i) - μ(0, X_i) [D_i * (Y_i - μ(1, X_i))] / p(X_i) - [(1-D_i) * (Y_i - μ(0, X_i))] / (1 - p(X_i))其中μ(1, X_i)和μ(0, X_i)是条件结果回归函数p(X_i)是倾向得分。这个估计量的“双稳健”性体现在只要倾向得分模型p(X)或 结果回归模型μ(D, X)中有一个被正确估计ATE估计就是一致的。问题就出在1/p(X_i)和1/(1-p(X_i))这两个权重上。如果p(X_i)被严重低估例如真实概率是0.2模型预测是0.05那么对于实际接受了处理D_i1的个体其权重1/0.05 20会异常大过度放大该观测值的影响。反之如果p(X_i)被高估权重又会过小。在有限样本下这种由错误概率导致的权重扭曲无法被平均掉从而引入偏差。机器学习模型特别是复杂的非线性模型由于其强大的拟合能力在存在强选择性即协变量能非常好地预测处理状态时极易产生极端倾向得分非常接近0或1。更隐蔽的是即使预测值没有极端到0或1其概率的“刻度”也可能是错的。例如模型可能系统性地将高风险群体的概率预测得偏低将低风险群体的概率预测得偏高。校准的目的正是系统性纠正这种概率刻度上的偏差使预测值P(D1|X)尽可能满足一个理想性质在所有预测概率约为0.8的样本中实际接受处理的比例也应在80%左右。2. 主流概率校准方法深度解析校准的本质是寻找一个函数f: [0,1] - [0,1]将原始的、可能失准的机器学习预测概率\hat{p}(x)映射为校准后的概率π(x) f(\hat{p}(x))使得π(x)更接近真实的条件概率P(D1|Xx)。下面我将结合自己的实操经验详细拆解几种主流校准方法的原理、实现细节和适用场景。2.1 参数化方法Platt Scaling 与 Beta Scaling这两种方法都属于参数化校准即假设校准函数f具有某种特定的参数形式然后利用一个独立的校准数据集来估计这些参数。Platt Scaling 这是最经典也最简单的校准方法之一最初为支持向量机SVM设计。它假设校准后的对数几率log-odds与原始预测的对数几率呈线性关系。具体映射函数为π(x) 1 / (1 exp(-(α β * \hat{p}(x))))等等这里有个常见的误解。标准的Platt Scaling实际上是对模型的原始输出分数如SVM的决策函数值进行逻辑回归。当我们已经得到概率预测\hat{p}(x)时更常见的做法是将其logit变换后作为特征π(x) 1 / (1 exp(-(α β * logit(\hat{p}(x)))))其中logit(p) log(p/(1-p))。 实际操作中我们通常在校准集S_C上以logit(\hat{p}(x))为唯一特征D为标签拟合一个逻辑回归模型得到的系数α和β即为校准参数。注意Platt Scaling的线性假设可能过于简单。如果原始概率预测\hat{p}(x)本身的偏差与概率值大小存在非线性关系例如在中间概率区间偏差小在两端偏差大Platt Scaling的校正能力就会受限。在我的经验中当原始模型如随机森林的概率预测存在明显的“S型”失真时Platt Scaling效果不错但如果失真模式复杂它可能力不从心。Beta Scaling 可以看作是Platt Scaling的推广旨在提供更灵活的校准能力。它假设原始预测概率\hat{p}(x)在真实标签为0和1的组内分别服从Beta分布。由此推导出的校准映射为π(x) 1 / (1 exp(-α) * (\hat{p}(x)^β0) * ((1-\hat{p}(x))^β1) )这个形式等价于以log(\hat{p}(x))和log(1-\hat{p}(x))两个特征拟合一个逻辑回归模型。因此其实操步骤非常直接在校准集上计算两个新特征f1 log(\hat{p}(x))f2 log(1-\hat{p}(x))。为避免对数为负无穷通常需要对\hat{p}(x)进行裁剪例如限制在[ε, 1-ε]区间ε取一个很小的数如1e-15。以f1和f2为特征D为标签拟合一个逻辑回归模型通常不加截距项。该逻辑回归模型输出的概率即为校准后的倾向得分。Beta Scaling的灵活性在于它有两个形状参数β0和β1。当β0 β1 1且α0时校准函数就是恒等映射这意味着当原始预测已经校准时Beta Scaling不会引入不必要的扭曲。这是它相对于Platt Scaling的一个理论优势。2.2 非参数方法Isotonic Regression 与 Venn-Abers Calibration当参数化形式的假设可能不成立时非参数方法提供了更强大的校准能力但代价是需要更多的数据且可能更不稳定。Isotonic Regression保序回归 这是一种完全非参数的校准方法。它不假设f的具体形式只要求f是单调非递减的这符合直觉原始预测概率越高校准后的概率也应越高。其目标是找到一组校准后的值{π_i}使得它们与观测到的处理状态{D_i}的均方误差最小同时满足单调性约束。实操中通常使用“池相邻 violators 算法”PAVA来高效求解。算法思想很简单将校准数据按原始预测概率\hat{p}(x)排序然后检查相邻点的(预测值 标签)是否违反单调性即预测概率升高但标签平均值下降。如果违反就将这两个区间合并用其标签的平均值作为合并后区间的校准值如此迭代直至整个序列单调。重要警告这是Isotonic Regression在因果推断应用中的一个致命陷阱。由于PAVA算法会产生分段常数输出并且校准值完全由局部样本的标签均值决定它很容易在校准集的边界产生0或1的极端值。例如如果校准集中原始预测概率最小的一批样本全部是未处理个体D0那么该区间的校准概率就会被设为0。在DML估计量中1/π(x)项在π(x)0时会变成无穷大导致估计崩溃。因此在因果推断中直接使用标准的Isotonic Regression校准倾向得分是极其危险的我强烈不推荐。Venn-Abers Calibration 可以看作是Isotonic Regression的一个“智能化”升级版旨在解决其输出0/1极端值的问题并提供更强的理论校准保证。其核心思想是一种“留一法”式的校准对于校准集S_C和一个新样本的原始预测\hat{p}(x_new)Venn-Abers 会进行两次保序回归拟合假设新样本未处理将数据(S_C ∪ {(\hat{p}(x_new), 0)})进行保序回归得到校准值π_0(x_new)。假设新样本已处理将数据(S_C ∪ {(\hat{p}(x_new), 1)})进行保序回归得到校准值π_1(x_new)。Venn-Abers 理论保证对于这个新样本π_0和π_1中至少有一个是完美校准的。为了得到一个单一的校准概率通常采用对数损失最小化的原则进行融合π(x_new) π_1(x_new) / (1 - π_0(x_new) π_1(x_new))这个融合公式确保了最终输出严格位于(π_0, π_1)区间内从而避免了0或1的极端值。在实际实现中为了提高效率不会真的对每个新样本都重新拟合两次回归而是预先对一系列概率网格点计算好π_0和π_1的向量然后对新样本的\hat{p}(x_new)进行插值。Venn-Abers 在模拟中表现非常稳健是我个人比较偏爱的方法。2.3 神经网络相关方法Temperature Scaling 与 Expectation Consistent Calibration这两种方法最初是为校准深度神经网络分类器而提出的但同样适用于其他机器学习模型输出的概率。Temperature Scaling 这是最简单、最轻量级的校准方法仅有一个可调参数T温度。校准公式为π(x) exp(log(\hat{p}(x)) / T) / [ exp(log(\hat{p}(x)) / T) exp(log(1-\hat{p}(x)) / T) ]化简后其实就是π(x) \hat{p}(x)^{1/T} / [\hat{p}(x)^{1/T} (1-\hat{p}(x))^{1/T} ]T 1校准函数是恒等映射。T 1校准后的概率会向0.5“收缩”软化过于自信的预测。T 1校准后的概率会向0或1“拉伸”使预测更极端通常不用于校准而是用于“锐化”。参数T通过最大化校准集上的对数似然来估计。Temperature Scaling 的优点是极其简单几乎不会过拟合特别适合小校准集。缺点是灵活性太低只能对整个概率分布进行全局的拉伸或收缩无法处理不同概率区间的不同偏差模式。Expectation Consistent (EC) Calibration 这是Temperature Scaling的一个变体但估计参数T的方式不同。它不最大化似然而是通过匹配“平均置信度”与“平均准确率”来求解T。具体步骤用原始预测概率\hat{p}(x)对样本进行分类例如\hat{p}(x) 0.5预测为处理组。计算校准集上的分类准确率acc (1/N_C) * Σ I(预测标签 真实标签)。寻找温度参数T使得校准后的概率π(x)满足(1/N_C) * Σ max(π(X_i), 1-π(X_i)) acc等号左边可以理解为校准后模型的“平均最大概率”或“平均置信度”。EC校准的直觉是一个校准良好的模型其预测的置信度应该与其实际正确率相匹配。如果模型预测时总是给出0.9的置信度那么它应该有90%的准确率。这个方法计算简单有时在深度神经网络上表现优于标准的Temperature Scaling。3. 集成校准的DML估计流程与实操要点将校准步骤嵌入标准的DML框架需要谨慎的数据分割策略以避免过拟合和保证估计量的理论性质。下面我结合代码示例详细说明整个操作流程和每个环节的注意事项。3.1 带校准的DML算法步骤详解标准的DML使用K折交叉拟合来估计 nuisance functions倾向得分p(x)和结果回归μ(d, x)。加入校准时我们需要在每一折的“预测阶段”额外引入一个校准步骤。以下是详细算法输入全量数据集S {(X_i, D_i, Y_i)} 交叉拟合折数K 校准子折数J。输出ATE估计值\hat{θ}及其标准误。数据分割将样本索引集I随机划分为K个互斥的块I_1, ..., I_K。外层循环K折交叉拟合对于每一折k 1 to K a.训练集I_T I \ I_k。用于训练 nuisance functions。 b.评估/校准集I_E I_k。这一折的数据将用于计算伪得分pseudo-outcomes。 c.训练 Nuisance Models * 使用I_T中D1的样本训练模型估计\hat{μ}(1, x)。 * 使用I_T中D0的样本训练模型估计\hat{μ}(0, x)。 * 使用全部I_T样本训练模型估计原始倾向得分\hat{p}(x)。内层循环校准与伪得分计算将评估集I_E进一步划分为J个互斥的子折I_{E,1}, ..., I_{E,J}。对于每个子折j 1 to J a.校准集I_C I_E \ I_{E,j}。注意校准集来自当前评估折与训练集I_T完全独立。 b.伪得分计算集I_{PS} I_{E,j}。 c.校准使用校准集I_C和该折训练好的原始倾向得分预测\hat{p}(x)拟合选定的校准器如 Platt, Beta, Venn-Abers得到校准函数\tilde{f}。然后对伪得分计算集I_{PS}中的每个样本i计算校准后的倾向得分\tilde{π}(X_i) \tilde{f}(\hat{p}(X_i))。 d.计算伪得分对于i ∈ I_{PS}计算τ_i \hat{μ}(1, X_i) - \hat{μ}(0, X_i) [D_i * (Y_i - \hat{μ}(1, X_i))] / \tilde{π}(X_i) - [(1-D_i) * (Y_i - \hat{μ}(0, X_i))] / (1 - \tilde{π}(X_i))聚合结果遍历完所有K*J个组合后每个样本i都会有一个对应的伪得分τ_i因为每个样本最终都会在某一轮成为I_{PS}中的一员。ATE 估计值为所有伪得分的均值\hat{θ} (1/N) * Σ τ_i。标准误的估计通常采用经验方差SE(\hat{θ}) sqrt( (1/N) * Σ (τ_i - \hat{θ})^2 )。# 伪代码示例 (使用 sklearn 风格) import numpy as np from sklearn.model_selection import KFold from your_calibration_lib import PlattScaler, BetaScaler, VennAbersCalibrator def calibrated_dml_ate(X, D, Y, ml_model_p, ml_model_y1, ml_model_y0, calibratorplatt, K5, J5): X: 协变量矩阵 D: 处理指示变量 (0/1) Y: 结果变量 ml_model_p: 用于估计倾向得分的机器学习模型 ml_model_y1: 用于估计处理组结果回归的模型 ml_model_y0: 用于估计控制组结果回归的模型 calibrator: 校准器类型 K: 外层交叉拟合折数 J: 内层校准折数 n_samples len(X) tau_hats np.zeros(n_samples) kf_outer KFold(n_splitsK, shuffleTrue, random_state42) for train_idx, eval_idx in kf_outer.split(X): # 步骤 2c: 训练 nuisance models X_train, D_train, Y_train X[train_idx], D[train_idx], Y[train_idx] X_eval, D_eval, Y_eval X[eval_idx], D[eval_idx], Y[eval_idx] # 训练倾向得分模型 ml_model_p.fit(X_train, D_train) p_hat_raw ml_model_p.predict_proba(X_eval)[:, 1] # 原始预测概率 # 训练结果回归模型 (需要按处理状态分开拟合) treated_idx (D_train 1) ml_model_y1.fit(X_train[treated_idx], Y_train[treated_idx]) ml_model_y0.fit(X_train[~treated_idx], Y_train[~treated_idx]) mu1_hat ml_model_y1.predict(X_eval) mu0_hat ml_model_y0.predict(X_eval) # 步骤 3: 内层校准与伪得分计算 kf_inner KFold(n_splitsJ, shuffleTrue, random_state43) for cal_idx, ps_idx in kf_inner.split(X_eval): X_cal, D_cal X_eval[cal_idx], D_eval[cal_idx] X_ps, D_ps, Y_ps X_eval[ps_idx], D_eval[ps_idx], Y_eval[ps_idx] p_hat_raw_cal p_hat_raw[cal_idx] p_hat_raw_ps p_hat_raw[ps_idx] mu1_hat_ps mu1_hat[ps_idx] mu0_hat_ps mu0_hat[ps_idx] # 初始化并拟合校准器 if calibrator platt: cal PlattScaler() elif calibrator beta: cal BetaScaler() elif calibrator venn_abers: cal VennAbersCalibrator() # ... 其他校准器 cal.fit(p_hat_raw_cal.reshape(-1, 1), D_cal) # 注意输入形状 # 校准倾向得分 p_hat_calibrated cal.predict_proba(p_hat_raw_ps.reshape(-1, 1))[:, 1] # 防止除零进行裁剪 eps 1e-12 p_hat_calibrated np.clip(p_hat_calibrated, eps, 1-eps) # 计算伪得分 tau_ps (mu1_hat_ps - mu0_hat_ps (D_ps * (Y_ps - mu1_hat_ps)) / p_hat_calibrated - ((1 - D_ps) * (Y_ps - mu0_hat_ps)) / (1 - p_hat_calibrated)) tau_hats[eval_idx[ps_idx]] tau_ps # 将伪得分存回对应位置 # 步骤 4: 聚合 ate_estimate np.mean(tau_hats) se_estimate np.std(tau_hats) / np.sqrt(n_samples) # 简化标准误计算 return ate_estimate, se_estimate, tau_hats3.2 实操中的关键细节与陷阱规避严格的数据分割与独立性这是保证估计量无偏和有效性的生命线。必须确保用于校准的数据I_C与用于训练原始倾向得分模型的数据I_T完全独立。如果使用相同数据校准步骤会“窥见”训练数据导致对预测误差的过度修正产生过拟合使得校准后的概率在测试集上表现更差。上述算法中的嵌套交叉验证结构外层K折用于训练nuisance函数内层J折用于校准正是为了确保这种独立性。概率裁剪Clipping无论使用哪种校准方法校准后的倾向得分\tilde{π}(x)必须严格限制在开区间(0, 1)内。任何等于0或1的值都会使逆概率权重无穷大导致估计量数值不稳定甚至无法计算。一个常见的做法是设置一个很小的阈值ε如1e-12或1e-15将校准后的概率裁剪到[ε, 1-ε]区间。特别注意Isotonic Regression 极易产生0/1边界值这是将其排除在因果推断应用之外的主要原因之一。校准器的选择与Brier分数面对多种校准方法如何选择模拟研究和我的经验表明没有一个方法在所有场景下都绝对最优。但一个简单有效的经验法则是在校准集上计算并比较不同校准器的Brier分数。Brier分数是预测概率与真实二元标签之间的均方误差BS (1/N) * Σ (\hat{p}_i - D_i)^2。Brier分数越低说明预测概率在整体上越接近真实的处理状态。选择Brier分数最小的校准器通常能带来ATE估计偏差的降低。这为实践者提供了一个数据驱动的选择标准。样本量要求校准尤其是非参数校准如Isotonic, Venn-Abers需要一定的数据量来可靠地估计校准函数。如果校准集I_C的样本量过小例如少于几百个样本校准过程可能不稳定甚至引入额外方差。当总样本量有限时应优先考虑参数化方法Platt, Beta Scaling或超参数很少的方法Temperature Scaling它们更不容易过拟合。4. 模拟研究结果深度解读与实战启示为了系统评估校准的效果我们设计了涵盖不同难度的数据生成过程DGP。核心变量有两个结果回归函数b(X)的复杂度简单线性 vs. 复杂非线性和倾向得分函数p(X)的复杂度与极端程度简单逻辑函数 vs. 复杂非线性函数 vs. 复杂且极端的函数。这六种组合构成了六个DGPDGP1-6。我们比较了三种机器学习模型随机森林、梯度提升树、Lasso、六种校准方法Platt, Beta, Isotonic, Venn-Abers, Temperature Scaling, EC以及基准的DML和重加权DML。评价指标包括ATE估计的均方根误差RMSE、偏差、标准差和95%置信区间的覆盖率。4.1 核心发现校准何时有效模拟结果揭示了几个清晰的模式这些模式对实际应用具有直接的指导意义“无事不登三宝殿”当数据生成过程简单特别是倾向得分重叠良好且易于估计时如DGP1和DGP3标准的DML已经表现很好低RMSE覆盖率接近95%。此时引入校准不会带来显著改善但也不会造成损害。校准方法的RMSE与基准DML几乎持平。这意味着在实践中如果初步分析显示倾向得分分布较为均衡没有大量极端值且预测模型表现良好可以跳过校准步骤以简化流程。“雪中送炭”当倾向得分难以估计非线性、复杂或存在极端值强选择性时校准的价值凸显出来。在DGP 2、4、5、6中尤其是当结果回归也复杂时DGP 4和6所有校准方法除Isotonic外都显著降低了ATE估计的RMSE降低幅度可达50%以上。这种改善主要源于偏差的大幅减少而估计量的方差保持相对稳定。偏差的降低直接带来了置信区间覆盖率的提升使其更接近名义水平95%。“木桶效应”与双稳健性DGP 2简单结果回归复杂倾向得分的结果非常有趣。即使倾向得分很难估计但由于结果回归模型Lasso能很好地拟合简单的b(X)所有估计量的表现都不错。这完美诠释了DML的“双稳健”特性只要两个nuisance函数中的一个被较好地估计ATE估计就是可靠的。此时校准带来的改进相对温和。然而在DGP 4复杂结果回归复杂倾向得分中Lasso由于无法捕捉复杂的非线性关系在估计μ(d,x)上表现很差这放大了倾向得分估计不准的危害导致基准DML的偏差极大、覆盖率崩坏仅28.2%。此时为Lasso估计的倾向得分应用Venn-Abers校准能将RMSE降低近60%并将覆盖率拉回94.6%效果堪比使用更强大的机器学习模型随机森林、梯度提升。这说明校准可以部分弥补简单模型在复杂数据下的不足提升整体估计的鲁棒性。方法排名与选择Venn-Abers, Platt Scaling, Beta Scaling是综合表现最好的前三名。它们在大多数场景下都能稳定地减少偏差和RMSE。Temperature Scaling 和 Expectation Consistent Calibration表现尚可但不如前三者稳定尤其在处理极端倾向得分时。Isotonic Regression在因果推断中表现最差且不稳定。原因如前所述它容易产生0/1的校准值导致估计量数值爆炸。应避免在DML框架中直接使用标准保序回归进行倾向得分校准。样本量的影响图2模拟中的结果显示随着样本量从2000增加到8000校准带来的RMSE改善幅度在减小。这是因为大样本下机器学习模型本身估计nuisance函数的误差会减小校准的边际收益随之降低。校准在中小样本情境下的价值更大。4.2 校准如何起作用Brier分数与偏差的关联为了探究校准改善ATE估计的内在机制我们绘制了ATE估计偏差与倾向得分Brier分数之间的散点图对应原文图3。结果清晰显示对于所有三种机器学习模型经过Platt Scaling或Venn-Abers校准后倾向得分的Brier分数x轴的分布明显向左移动即分数降低表明概率预测更准确了。与此同时ATE估计的偏差y轴的分布也向0集中且其变异性减小。两者存在正相关关系Brier分数越低的模拟次其ATE估计的偏差也倾向于越小。这提供了一个强有力的实证证据校准通过提升倾向得分本身的预测校准度从而降低了最终因果效应估计的偏差。这也印证了之前提到的实操建议选择Brier分数最小的校准方法是提升ATE估计质量的一个有效代理指标。个人心得不要将校准视为一个“黑箱”魔法。在应用后务必检查校准前后倾向得分的分布变化。可以绘制校准可靠性曲线Calibration Curve或可靠性图表将预测概率分桶计算每个桶内实际处理的比例。理想情况下点应落在对角线上。校准应该使点更靠近对角线。同时观察极端概率值接近0或1的比例是否因校准而减少。这些诊断图能帮你直观理解校准做了什么并增强对结果的信心。5. 常见问题与实战排错指南在实际应用校准DML时你可能会遇到以下典型问题。这里我分享一些排查思路和解决方案。5.1 数值不稳定或估计量方差爆炸症状ATE估计值异常大或小标准误巨大甚至出现NaN或Inf。可能原因与排查倾向得分为0或1这是最常见原因。检查校准后的倾向得分\tilde{π}(x)的最小值和最大值。必须进行裁剪。校准过拟合如果校准集I_C太小或者使用了过于灵活的非参数校准器如在小样本上用Isotonic校准函数可能捕捉到噪声在校准集上表现很好但在计算伪得分的样本上产生极端或不稳定的输出。解决增加内层折数J以增大校准集样本量或换用更简单的参数化校准器Platt/Beta Scaling。数据分割泄露最严重的错误。确保用于校准的数据I_C完全没有参与训练原始倾向得分模型\hat{p}(x)。仔细检查代码中的数据索引。5.2 校准后效果不显著甚至变差症状应用校准后ATE估计的RMSE或偏差没有改善有时反而增大。可能原因与排查原始倾向得分已校准良好首先检查原始机器学习模型如使用predict_proba的随机森林输出的概率是否已经比较校准。绘制校准曲线。如果点基本在对角线附近说明校准需求不大强行校准可能因引入额外估计误差而适得其反。校准器选择不当例如在数据存在复杂非线性失真时使用了简单的Temperature Scaling。解决尝试多种校准器并在一个独立的验证集或通过内层交叉验证上比较它们的Brier分数。结果回归模型误差主导如果结果回归模型μ(d,x)的估计误差很大那么即使倾向得分校准得再好ATE估计的整体误差也可能无法降低。此时应优先考虑改进结果回归模型的设定或使用更强大的机器学习方法。5.3 计算效率与实现复杂度问题嵌套交叉验证K折外层 J折内层导致需要训练K * (J1)个模型每个外层折训练3个nuisance模型每个内层折训练J个校准器计算开销大。优化建议折数选择通常K5或K10足够。内层折数J可以小一些比如J3以保障校准集有足够样本量。并行化外层K折循环是天然并行的可以充分利用多核CPU加速。简化流程对于大规模数据一种实践变体是只做一次数据分割将数据分为训练集训练nuisance模型、校准集校准倾向得分、估计集计算伪得分。但这需要足够大的样本量来保证每个部分的数据代表性且会损失一些效率。5.4 与重加权Reweighting或修剪Trimming方法的比较问题处理极端倾向得分的传统方法是重加权如Huber et al., 2013或直接修剪如Crump et al., 2009丢弃倾向得分0.1或0.9的样本。校准与它们有何不同核心区别重加权/修剪是“后端处理”。它们承认倾向得分估计不完美特别是极端值并通过调整样本权重或删除样本来减轻极端权重的影响。这可能会改变估计的目标参数例如修剪后估计的是子总体的ATE并损失信息。校准是“前端改进”。它试图从根本上修正倾向得分估计本身的系统性偏差使其更接近真实概率。校准后的估计量依然以全样本ATE为目标且不丢弃任何数据。模拟结果也显示在倾向得分存在系统性偏差而不仅仅是极端值时校准的效果远优于单纯的重加权。最后一个重要的理论保证是在满足一定正则条件下如原文中的假设1和2使用合适的校准方法如Beta Scaling, Venn-Abers不会改变DML估计量的渐近性质一致性、渐近正态性、半参有效性。这意味着校准在改善有限样本性能的同时不会损害大样本下的优良统计性质。这让我们可以更放心地在实践中应用这一技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2641377.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…