想象你是一家连锁火锅店的老板。总部研发了一款新毛肚配方,账面数据说:新配方让顾客平均多消费 45 元。但“平均”掩盖了真相——25 岁的嗜辣会员可能多花 80 元,口味清淡的老年顾客可能毫无感觉。你需要知道的是:新配方对每类顾客的效果分别是多少?这些数字又有多可靠?因果森林就是为这类问题而生的“数据评论团”:它由成百上千棵决策树组成,每棵树像一位口味各异的评论家,把顾客按特征不断分组,找出“对谁有效、效果有多大”。而置信区间,则给每位评论家的评分补上了一个可信范围——就像大众点评的 8.5 分背后,到底是 3 人评出来的还是 3000 人评出来的,你拍板时的底气完全不同。本文就以这支“评论团”为主角,从它的分组逻辑讲到评分稳定性,把“效果 +45 元,95% 置信区间 [32, 58]”这样一句能拍板的结论,一步步拆给你看。
学会给因果森林的估计配上置信区间,你就能从“效果看起来不错”进阶为“效果显著、范围可量化”,在营销预算、政策评估、医学亚组分析等决策中站稳脚跟。
目录
可视化演示
三模式展示因果森林CI:渐近正态分布构建95%置信区间、无穷小刀切法IJ方差估计、诚实分裂与覆盖率问题。
本节配有交互动效(进入视口后自动加载,约 3KB)。
渐近正态:CATE置信区间构建 大样本下CATE估计量服从渐近正态 95%CI = τ̂ ± 1.96σ CI = [τ̂ - 1.96·SE, τ̂ + 1.96·SE] 渐近正态性要求足够多的树和充分的叶节点样本量。
置信区间基础:只看平均分,你敢拍板吗?
火锅店老板拿到评论团的报告:“新配方毛肚对全城顾客的平均效果是人均多消费 45 元。”老板正要签全国推广预算,突然瞥见脚注——该数据仅来自 3 位评委。3 个人的平均分能代表全城口味吗?因果森林给每类顾客群体算的效果评分,本质上也是一个“平均分”:特征点 x 上的处理效应估计值 τ̂(x)。点估计只有一个数字,数字背后却没告诉你它有多可信。
置信区间就是在“平均分”旁边补上误差范围。它的标准形式是“中心 ± 半径”:中心是 τ̂(x),半径是临界值乘以标准误。95% 置信区间的通俗含义是:如果把这个实验从头到尾重复很多次,每次都用同样流程构造区间,那么大约 95% 的区间会把真实效果 τ(x) 罩住。换句话说,区间越窄,数据给决策者的“底气”越足。
有了这个区间,老板的心态完全不同:看到“[32, 58] 元”敢批预算;看到“[−30, 40] 元”就知道证据不足。置信区间的宽度,就是数据对决策者的“底气投票”。
- 中心估计 τ̂(x)因果森林在特征点 x 处对处理效应的预测,相当于多位评委打分的平均。
- 标准误 ŜE(x)估计值在重复实验中的抖动幅度,抖动越大区间越宽。
- 临界值 z置信水平 1−α=0.95 时取 1.96,即正态分布双尾 2.5% 对应的分位点。
- 左右端点中心减半径得下界,加半径得上界。
因果森林原理:评论团怎样找出“对谁有效”?
评论团不是一锅粥地给全城打分,而是把顾客按特征不断分组:先按年龄段分,再按口味偏好分,接着看是否会员……每棵“评论家之树”都在做同一件事——把特征空间切成一片片叶子,目标是让同一片叶子里的顾客,对同一道菜的反应尽量接近。这样,当你想知道“25 岁、爱吃辣、会员”这类顾客的加成效果时,评论团只需要把他们送进对应那片叶子。
这就是异质性处理效应 τ(x)=E[Y(1)−Y(0)|X=x]:特征 x 下的人群,接受处理(新配方)与不接受处理(老配方)的平均结果之差。树通过递归切分找到“效果差异大的分界线”;每片叶子用处理组结果均值减对照组结果均值,作为该叶子的效果评分;森林把 B 棵树的评分平均,得到最终估计。
每棵树像一位口味偏好的评委,单看有噪声;但一百位评委平均下来,口味偏差互相抵消,留下的才是人群的真实偏好结构。注意:此刻我们只有“平均分”,还不知道这分数稳不稳——置信区间登场之前,还差三道工序。
- 叶子定位 L_b(x)第 b 棵树按自己的切分规则,把特征点 x 送到某片叶子。
- 叶内处理组均值只统计叶子中接受处理(W=1)的样本,求其结果均值。
- 叶内对照组均值叶子中未接受处理(W=0)的样本结果均值。
- 森林平均对 B 棵树的“组间差”取平均,抵消单棵树的噪声。
诚实性设计:评分的人,不能是定规则的人
假设品鉴流程是这样的:运营先让一批评委反复研究打分记录,总结出“哪些特征能预测高分”,再请同一批评委为新菜品打分。会怎样?评委们在研究规则时已经记住了具体分数,规则会悄悄“过拟合”到训练样本上,打分自然偏高——就像老师自己出题、自己答卷,怎么考都 99 分,但换个班级就露馅。
因果森林的诚实性(honesty)要求把这两步彻底分开:数据随机切成两份,分裂样本 S_split 只用来找切分规则,估计样本 S_est 只用来计算叶值。规则一经定稿,打分的评委从头到尾没在定规则时偷看过分数。这个“岗位隔离”是置信区间可信的前提。
为什么诚实性这么重要?如果不诚实,切分规则是根据训练数据的“答案”自适应选出来的,叶内估计会带上隐蔽的正偏差——统计上叫“自适应偏差”。区间再窄也是“精确地错”。诚实性把偏差来源限制成“叶子划分不够细”这类可控因素,置信区间才真正可信。
- 结构来自分裂样本切分规则、叶子划分全部由 S_split 生成。
- 叶子内求交集只保留叶子中属于估计样本 S_est 的顾客。
- 两组均值之差在估计样本上,处理组均值减对照组均值。
子采样机制:每回品鉴,只随机请一部分评委
正式品鉴会安排了 800 位评委,但每场只需要 400 人,而且用抽签决定谁出席、抽过不重复(无放回)。为什么不一请到底?因为如果每轮都是同一批人,意见会高度共振,无法判断“换个阵容分数会不会变”;只有随机变化的阵容,才能暴露评价对评委阵容的敏感程度。
因果森林的每棵树,也是从总量 n 个样本中无放回抽取 s 个来训练。理论要求两件事同时成立:s 自身要足够大(每棵树学得动),s/n 又要趋于 0(树与树的交集占比趋于 0,相关性可控)。这为后面的渐近正态与方差估计铺好了地基——这正是它与自助采样(bootstrap)的关键区别。
实践中常用 s≈n/2。想象品鉴会:每场 400 位评委看似“小题大做”,但正是这种阵容变化,才让统计学家能估算“如果换一批评委,评分会漂移多少”——这份漂移正是下一节方差估计的素材。
- 比例趋零每棵树用到的样本占比趋于 0,树间样本重叠度低。
- 绝对量趋大每棵树仍有足够数据学习因果结构。
- 森林平均最终估计是所有树预测的算术平均。
影响函数方差:每个评委的手里有几票?
想测量口碑分稳不稳,有个朴素办法:把某位评委从所有品鉴记录里拿掉,看平均分动了多少。若纹丝不动,这位评委影响力很小;若分数大幅下跌,说明他口味极端、“带节奏”能力极强。把每位评委的影响力平方后加总,就能量化整个评分系统的浮动空间。
因果森林的做法异曲同工。对每棵树 b,记录样本 i 是否被该树使用:标记 N_bi=1{ i∈S_b }。然后在 B 棵树上算“预测值 τ̂_b(x) 与使用标记 N_bi”的协方差,得到样本 i 的“微妙影响力” ζ̂_i(x)。方差估计就是这些影响力平方之和——这就是无穷小刀切(infinitesimal jackknife,IJ)的核心思想。
为什么不用现成的“树间标准差”?因为树共享大量样本,彼此高度相关——100 位评委若出自 10 个家庭,就算不上 100 个独立意见。IJ 通过“使用标记”巧妙地剥离了这层相关性,给出不再虚胖的方差。这一步,是置信区间的心脏。
- 使用标记指示样本 i 是否被树 b 无放回抽中。
- 协方差在 B 棵树之间,预测值与使用标记的关联程度。
- 平方和影响力平方求和,得到方差估计。
渐近正态理论:评委够多,误差变成钟形
统计学里有一条浪漫的规律:当样本足够多、抽样足够规范时,估计误差会呈现一条光滑对称的钟形曲线。因果森林也一样。在诚实性 + 子采样的保障下,Wager & Athey(2018)证明了标准化的误差会依分布收敛到标准正态。
这带来了两件礼物:第一,偏差变得可忽略,估计围绕真值分布;第二,我们可以放心地把 1.96 这个“95% 的咒语”套上去,构造置信区间。数学家们特别强调“正则性”(regularity):许多自适应方法(如传统随机森林)的估计偏差不可忽略,导致区间失效;而诚实性设计正是为了让偏差足够小,让钟形定理成立。
需要警惕:这是“逐点”(pointwise)置信区间——单独看某个 x 没问题,把很多点放在一起当“置信带”用就会出现多重比较问题。钟形曲线很美,但它只对“单个点”承诺了 95%。
- 标准化估计偏差除以标准误,消去量纲。
- 依分布收敛样本量增大时,分布趋近标准正态。
- 代入 1.96标准正态 97.5% 分位数为 1.96。
- 组装区间中心加减 1.96 倍标准误。
实践调优指南:把品鉴会办成专业流程
理论齐了,回到开餐厅的现实。想办一场“能写进汇报”的品鉴会,三个维度要拿捏:请多少评委、每桌坐几个人、用哪家的签到表。样本量上,诚实性把数据一分为二,有效信息打折,经验上 n 至少几百起步,否则区间宽到没有决策价值。判断区间是否校准,可以用模拟数据做覆盖率检验:在 m 个测试点上,统计真实值被区间罩住的比例。
覆盖率明显低于 1−α,说明存在偏差或方差低估,需要回调模型——比如减小最小叶子、增加树数、检查特征选择。
超参数方面,经验参考:树的数量 500~2000(树越多区间越稳);最小叶子样本 5~20(太小偏差高,太大抹平异质性);分裂候选特征数(mtry)控制分组规则质量;子采样比例默认约 0.5。工具上,R 的 grf 包中 causal_forest 直接输出点估计与方差,Python 的 econml 中 CausalForest 的 predict 返回 point 和 stderr,开箱即用。把这些细节逐一落实,评论团交出的就不再是“感觉不错”的模糊评价,而是“效果 +45 元,95% 区间 [32, 58],覆盖率校准通过”的硬核报告——老板拍板时,底气十足。
- 覆盖率打分每个测试点判断真值是否落在区间内。
- 求平均落在区间内的点数除以总测试点数。
- 对照名义水平95% 区间应看到覆盖率 ≈0.95。
AI 应用场景
场景 1:个性化营销预算分配
阶段:因果推断 / 决策优化
解决的问题:传统 RFM 分群只能回答“谁买得多”,回答不了“谁是被优惠券额外拉动的”。因果森林估计每个用户的增量购买效应 τ̂(x),置信区间帮助营销团队只对“区间下界为正”的群体加大投放,避免把钱花在“不推也会买”的人身上。
具体案例:某电商在大促前用 20 万用户数据训练因果森林,特征含消费频次、品类偏好、活跃时段。结果:“高活跃大客单”人群人均增量 +68 元,95% CI [52, 84],果断加预算;“沉睡低价”人群增量 +3 元,CI [−21, 27],直接放弃。
场景 2:医学亚组疗效分析
阶段:治疗效果异质性分析 / 证据生成
解决的问题:传统亚组分析通常按单变量(如年龄)事先切分,交互效应难发现、统计功效低。因果森林自动搜索多维交互亚组,并为每个亚组给出疗效置信区间。
具体案例:某降压药试验中,整体平均收缩压仅降 3.0 mmHg、不显著;因果森林发现“年龄>60 且合并糖尿病”亚组降 9.2 mmHg,95% CI [4.1, 14.3],从而为适应人群修订提供了统计依据。
场景 3:公共政策评估
阶段:政策评估 / 资源定向投放
解决的问题:政府补贴的双重差分只能给出平均效应,决策者更需要知道“哪些区县、哪类企业受益显著”。因果森林的区间下界可作为策略筛选项。
具体案例:某地创业补贴项目,对 300 个区县的企业数据建模,发现 31% 的区县效果显著(区间下界>0),二期资金据此向这些区域倾斜。
Python 演示
import numpy as np rng = np.random.default_rng(7) def gen_data(n=800): X = rng.uniform(-1, 1, (n, 2)) W = rng.binomial(1, 0.5, n) tau = 1.5 * X[:, 0] Y = 0.5 * X[:, 1] + tau * W + rng.normal(0, 0.4, n) return X, W, Y, tau def leaf_tau(X, Y, W, idx): treated = W[idx] == 1 if treated.sum() == 0 or (~treated).sum() == 0: return 0.0 return Y[idx][treated].mean() - Y[idx][~treated].mean() def split_criterion(X, Y, W, spl, min_sz=16): best_score, best = 0.0, None for f in range(X.shape[1]): for v in np.unique(X[spl, f]): left = X[spl, f] < v if left.sum() < min_sz or (~left).sum() < min_sz: continue diff = leaf_tau(X, Y, W, spl[left]) - leaf_tau(X, Y, W, spl[~left]) score = left.sum() * (~left).sum() * diff * diff if score > best_score: best_score, best = score, (f, v) return best def grow(depth, X, Y, W, spl, max_depth=4, min_sz=16): if depth >= max_depth or len(spl) < 2 * min_sz: return {'leaf': True} cut = split_criterion(X, Y, W, spl, min_sz) if cut is None: return {'leaf': True} f, v = cut left = X[spl, f] < v return { 'leaf': False, 'f': f, 'v': v, 'l': grow(depth + 1, X, Y, W, spl[left], max_depth, min_sz), 'r': grow(depth + 1, X, Y, W, spl[~left], max_depth, min_sz), } def predict(node, x, X, Y, W, est_idx): if node['leaf']: return leaf_tau(X, Y, W, est_idx) go_left = x[node['f']] < node['v'] keep = (X[est_idx, node['f']] < node['v']) if go_left else (X[est_idx, node['f']] >= node['v']) nxt = est_idx[keep] if len(nxt) == 0: return 0.0 return predict(node['l'] if go_left else node['r'], x, X, Y, W, nxt) def causal_forest_ci(X, W, Y, x_test, B=80, s_ratio=0.5): n, s = len(Y), int(len(Y) * s_ratio) preds = np.zeros((B, len(x_test))) usage = np.zeros((B, n)) for b in range(B): tr = rng.choice(n, s, replace=False) usage[b, tr] = 1.0 Xs, Ys, Ws = X[tr], Y[tr], W[tr] half = s // 2 root = grow(0, Xs, Ys, Ws, np.arange(half)) for j, xx in enumerate(x_test): preds[b, j] = predict(root, xx, Xs, Ys, Ws, np.arange(half, s)) tau_hat = preds.mean(axis=0) covs = np.zeros((len(x_test), n)) for b in range(B): covs += (preds[b] - tau_hat).reshape(-1, 1) * (usage[b] - usage.mean(axis=0)) covs /= (B - 1) se = np.sqrt(np.maximum((covs ** 2).sum(axis=1), 1e-9)) return tau_hat, se if __name__ == '__main__': X, W, Y, tau = gen_data(800) x_test = np.array([[-0.8, 0.0], [-0.4, 0.0], [0.0, 0.0], [0.4, 0.0], [0.8, 0.0]]) hat, se = causal_forest_ci(X, W, Y, x_test, B=80) print('x1 真实tau 估计tau 95%置信区间') for j in range(len(x_test)): lo, hi = hat[j] - 1.96 * se[j], hat[j] + 1.96 * se[j] ok = '覆盖' if lo <= tau[j] <= hi else '未覆盖' print('%.2f %+.3f %+.3f [%+.3f, %+.3f] %s' % (x_test[j, 0], tau[j], hat[j], lo, hi, ok))
tau = 1.5 * X[:, 0]设定真实处理效应只依赖第一个特征,制造异质性;第二个特征只影响基线结果。return Y[idx][treated].mean() - Y[idx][~treated].mean()叶子内处理组均值减对照组均值,就是这片叶子的“效果评分”。score = left.sum() * (~left).sum() * diff * diff分裂准则:左右样本数乘积 × 两叶效果差异平方,兼顾“样本量”与“效果差异”。root = grow(0, Xs, Ys, Ws, np.arange(half))只用子采样的一半(分裂样本)生长树结构,体现诚实性。preds[b, j] = predict(root, xx, Xs, Ys, Ws, np.arange(half, s))用另一半(估计样本)计算叶值,结构与打分彻底分开。usage[b, tr] = 1.0记录树 b 使用了哪些样本,为影响力协方差准备“使用标记”。covs += (preds[b] - tau_hat).reshape(-1, 1) * (usage[b] - usage.mean(axis=0))树预测偏差 × 样本使用情况,平均后即每个样本的“影响力 ζ_i”。se = np.sqrt(np.maximum((covs ** 2).sum(axis=1), 1e-9))影响力平方和 = 无穷小刀切方差,开根号得标准误。
常见误区
误区森林有 B 棵树,对这 B 棵树的预测算个标准差再除以根号 B,不就是标准误吗?一行代码搞定,何必搞什么影响函数?
正解树之间远非独立:每棵树共享大量训练样本,直接算标准差等于把高度相关的“复读意见”当成独立意见,方差会被系统性高估,区间过宽、功效下降。影响函数法通过“样本使用次数 N_bi”与预测之间的协方差,剥离共享样本带来的相关性,给出接近真实的方差。
为何常见:随机森林的经典方差估计常用树间分歧近似,很多入门资料也这么讲,容易被“直觉 + 省事”带偏。
误区既然叫 95% 置信区间,我就可以对老板说“这个区间有 95% 的概率包含真实效果”。
正解频率学派里真实参数是固定未知的常数,没有概率;随机的是区间本身。正确表述:“重复实验很多次,每次用同样流程算区间,大约 95% 的区间会覆盖真实参数。”对业务汇报,更稳妥的说法是“基于当前数据,我们估计效果在 [a, b] 之间(95% 置信区间)”。
为何常见:“95% 概率落在区间里”更符合直觉,不少科普也含糊带过,长期被误传。
误区区间 [−2.1, 3.4] 包含了 0,说明优惠券完全无效,可以下线这个策略了。
正解区间包含 0 只说明“当前数据无法在 5% 显著性水平上排除 0”,即证据不足,不代表效应真的为 0。效应可能真实存在但较小,或样本量不够。决策时应结合点估计大小、业务成本与区间宽度:如果点估计 +0.8 且区间很宽,应该补充数据而不是直接下线。
为何常见:把“统计不显著”与“没有效应”混为一谈,是显著性检验的经典误读。
误区一半数据找切分、一半数据估叶值,白白浪费了样本量,为什么不全部用来训练?估计值肯定更准。
正解若不诚实,切分是针对训练数据自适应挑出来的,叶内估计会被“记住的结构”污染,产生隐蔽偏差——区间会窄而失真,覆盖率远低于名义水平。诚实性牺牲一部分方差(区间稍宽),换来偏差可控、区间真正可用。总误差 = 偏差² + 方差,权衡之下诚实性在中等样本量时依然划算。
为何常见:“用更多数据一定更好”的直觉在过拟合场景下失效,除非亲自做模拟,很难发现其中的偏差。
误区我对 100 个用户群各算了一个 95% 置信区间,既然每个区间都有 95% 置信水平,那么这 100 个区间同时覆盖各自真值的概率也接近 95%。
正解同时覆盖概率会远低于 95%(多重比较问题)。比如各点近似独立时,100 个区间全部覆盖的概率约为 0.95^100 ≈ 0.006。若想对多个点同时下结论,需要用同时置信带(如 Bonferroni 校正或基于分位数的方法)。
为何常见:忽略了多重比较效应,把“单点性质”直接推广到“多点联合性质”,这在数据科学实践中非常普遍。
面试题
Q1. 因果森林的置信区间解决了点估计的什么问题?
- A.点估计的计算速度太慢
- B.点估计不含误差信息← 正确答案
- C.点估计结果必然有偏
- D.点估计只能用于分类
答案:B。点估计只给出一个数值,无法反映“数据是否支持这个数”。置信区间在点估计周围给出误差范围,让决策者知道效果大概落在哪里。A 是性能问题,C 是偏差问题,D 是适用范围问题,都不是置信区间的核心价值。
Q2. 诚实性设计(honesty)的核心做法是什么?
- A.一半样本找切分,一半样本估叶值← 正确答案
- B.用全部样本同时找切分并估计
- C.只保留处理组样本用于建模
- D.每片叶子内部再做一次自助抽样
答案:A。诚实性要求“定规则”与“打分”分离:分裂样本只决定树结构,估计样本只计算叶值,避免切分自适应记住训练标签。B 恰恰是不诚实的做法,C 丢掉了对照组,D 与诚实性无关。
Q3. 下列哪些场景适合用因果森林?
- A.评估折扣券对不同用户的增量购买← 正确答案
- B.分析药物对不同亚群的疗效差异← 正确答案
- C.人脸识别、图像分类等视觉任务
- D.政府补贴政策对区域就业的影响← 正确答案
答案:ABD。因果森林解决“处理效应异质性”问题:谁受益、谁不受益、效果差多少。A、B、D 都有明确的处理(折扣券/药物/补贴)与结果(购买/疗效/就业)。C 是纯预测任务,没有处理与对照的概念。
Q4. 因果森林采用无放回子采样的主要原因是?
- A.为了提高单棵树的训练速度
- B.理论要求树之间相关性可控← 正确答案
- C.让每棵树都使用全部样本
- D.避免处理组样本被重复抽取
答案:B。无放回子采样(s/n→0 且 s→∞)让每棵树用到的样本占比趋于 0,树间共享信息有限,是渐近正态与方差估计理论的前提。加速只是附带好处;C 与子采样相反;D 误解了目的——重复抽取本身不是问题,相关性才是。
Q5. 影响函数(无穷小刀切)方差估计的核心思想是?
- A.直接计算两棵树之间的预测差
- B.度量每个样本影响力后求平方和← 正确答案
- C.用所有样本标签的方差替代
- D.统计每片叶子内样本数量多少
答案:B。IJ 方差 = Σ Cov[τ̂_b(x), N_bi]²,即每个样本的“微妙影响力”平方后求和。它剥离了树间共享样本带来的相关性。A 会高估方差,C、D 都没有度量“样本对估计的影响力”。
Q6. 关于 95% 置信区间的频率学解释,正确的是?
- A.真实参数有 95% 概率落进区间里
- B.重复实验约 95% 的区间覆盖真值← 正确答案
- C.区间内的每个值概率都是 95%
- D.预测值与真实值的差小于区间宽
答案:B。频率学派中真实参数固定,随机的是数据与区间。正确表述是“重复实验约 95% 的区间会覆盖真值”。A 把参数当随机变量,C 混淆了区间与点,D 是关于误差大小的表述,与频率学定义无关。
Q7. 95% 置信区间对应的正态临界值最接近?
- A.1.96← 正确答案
- B.1.28
- C.2.58
- D.3.29
答案:A。标准正态分布 97.5% 分位数约 1.96,即左右各留 2.5% 尾部,覆盖中间 95%。1.28 对应 80% 区间,2.58 对应 99% 区间,3.29 对应 99.9% 区间。记住 1.96 是 95% 的“钥匙”。
Q8. 要让因果森林置信区间真正可靠,需要满足?
- A.使用诚实性估计样本计算叶值← 正确答案
- B.每棵树必须使用全部特征
- C.子采样比例满足 s/n 趋近于 0← 正确答案
- D.叶子内处理组对照组都要有样本← 正确答案
答案:ACD。诚实性控制自适应偏差,子采样条件保证树间弱相关、渐近正态成立,叶子内两组都有样本才能估计组间差。B 错误——每棵树通常只用部分候选特征(mtry),这是随机森林的固有设计。
Q9. 为什么不建议直接用“树间预测标准差”当标准误?
- A.树之间共享样本导致方差高估← 正确答案
- B.树的预测值普遍不是正态分布
- C.树的预测值没有可计算的均值
- D.标准差公式对森林不适用
答案:A。树之间共享大量训练样本,预测高度相关,直接算标准差相当于把“复读意见”当独立意见,方差被高估、区间过保守。影响函数法正是为了剥离这种相关性。B、C、D 的说法都不成立:森林预测可以有均值,标准差公式也适用。
Q10. 关于因果森林置信区间的说法,正确的有哪些?
- A.样本量增大时区间宽度会收窄← 正确答案
- B.逐点区间不能当作同时置信带← 正确答案
- C.估计有偏时窄区间反而更危险← 正确答案
- D.区间包含零点即证明没有效应
答案:ABC。样本量增大时标准误按 1/√n 量级收缩,区间变窄;逐点区间面对多点联合推断会产生多重比较问题;有偏估计的区间“窄而错”,覆盖率远低于名义水平,更容易误导决策。D 错误:区间含 0 只说明证据不足,不能证明“没有效应”。