跳到主内容

60 个路口的年事故数:车流量、信号灯与车道数如何影响事故率?

研究背景

某市交通管理部门记录了 60 个交叉口的年事故次数,同时采集日均车流量(千辆)、是否装有信号灯(1 = 有)、车道数。事故次数是非负整数,且方差随均值一起变大(车流量大的路口事故数波动也大)。若直接用普通最小二乘回归,模型会预测出负的事故数,标准误也不可靠。

研究问题

车流量、信号灯、车道数对事故次数的影响各有多大?该用 Poisson 回归还是负二项回归?

数据说明

60 行 × 4 列。第 1 列「事故数」为计数型因变量(取值 0–12),后 3 列为预测变量:车流量(连续,8.6–39.6 千辆)、信号灯(0/1)、车道数(2–5 的整数)。

示例数据

事故数,车流量,信号灯,车道数
1,15.1,0,3
0,24.6,1,4
1,10.5,1,2
9,26.5,0,4
1,10.8,1,4
4,22.6,0,2
5,29.4,1,5
1,12.1,1,4
12,37.6,0,4
4,37.8,1,3
1,23.2,1,2
1,30.8,1,3
3,12.6,0,3
0,13.5,0,2
10,32.6,1,5
2,20.3,1,2
1,34.4,1,5
9,38.2,0,2
4,14.7,0,2
0,29.2,1,2
8,29.8,1,3
1,34.4,0,3
1,11.6,0,4
0,8.8,1,3
0,17.3,1,5
0,27.8,0,2
7,38.4,0,3
5,38.5,0,2
1,16.7,1,3
3,9.3,0,3
2,9.0,0,2
1,22.1,0,4
10,28.2,0,3
0,13.4,1,4
0,9.8,0,4
0,11.4,1,2
0,10.9,1,5
5,25.4,0,3
9,39.6,0,2
0,15.2,1,5
0,18.6,0,5
0,34.7,0,4
1,30.0,1,3
1,18.8,0,2
3,31.7,0,3
1,32.0,1,2
5,13.6,0,3
1,12.6,0,4
0,20.7,0,4
1,23.5,1,2
4,16.7,0,2
1,35.6,1,3
11,39.0,1,3
0,8.6,1,2
0,9.1,1,5
0,21.9,0,3
10,34.1,1,5
1,16.9,1,3
0,30.6,0,2
5,32.3,0,5
poisson

分析步骤

  1. 步骤 1:确认因变量是计数而不是比率或连续值

    计数数据(0, 1, 2, …)且取值范围较宽时,Poisson / 负二项是标准做法。若因变量是「每千辆车事故数」这类已经除以暴露量的比率,应改用带 offset 的模型(本工具提供 offset 选项,填入 log(暴露量));若因变量是 0/1,用 logistic 回归;若是有序等级,用有序 Logit。

    提示:本例事故数的最小值为 0、最大值为 12,均值约 3.1,是典型的计数结果。

  2. 步骤 2:先跑 Poisson 回归,检查离散度

    Poisson 的核心假设是方差等于均值。输出中的 Pearson 离散度 = Pearson χ² / 残差自由度,接近 1 才说明假设成立。本例离散度为 2.463,远大于 1,工具会自动给出警告并把「等离散」假设标记为未通过。

    提示:经验上离散度 > 1.5 就该警惕;> 2 时 Poisson 的标准误通常已明显偏小。

  3. 步骤 3:看过度离散检验(Poisson vs 负二项的似然比检验)

    工具在勾选过度离散检验后,会拟合一个负二项模型并做 LR 检验:本例 LR χ² = 36.43, p < .001,负二项的离散参数 α = 0.708。α 显著大于 0 意味着方差确实随均值超额增长,Poisson 的等方差假设被拒绝。

  4. 步骤 4:改跑负二项回归,按 IRR 解读系数

    切换到「负二项(NB2)」重跑。系数取指数后得到发生率比 IRR:车流量 IRR = 1.075,表示日均车流量每增加 1 千辆,事故率变为原来的 1.075 倍(上升约 7.5%);信号灯 IRR = 0.530,即有信号灯的路口事故率约为无信号灯路口的 53%。

    提示:IRR 是乘法效应,不是加法效应。「IRR = 1.075」不能说成「事故数增加 0.075 起」。

  5. 步骤 5:对比两个模型,检查残差图

    比较系数、标准误、AIC 与离散度的变化,确认结论是否稳健。再看 Pearson 残差对拟合值的散点图:残差应在 0 上下随机散布,若随拟合值增大而呈喇叭口扩散,说明过度离散仍未被吸收;若出现系统性弯曲,说明 log 链接或函数形式不合适。

结果解读

结论

Poisson 模型整体显著,LR χ²(3) = 86.50, p < .001,McFadden 伪 R² = 0.2405。车流量 IRR = 1.075, 95% CI [1.057, 1.094], p < .001;信号灯 IRR = 0.649, 95% CI [0.470, 0.896], p = .009;车道数 IRR = 1.128, 95% CI [0.973, 1.307], p = .111,未观察到统计学显著关联。但 Pearson 离散度 = 2.463(残差自由度 56),过度离散检验 LR χ² = 36.43, p < .001,Poisson 的标准误被系统性低估。改用负二项(NB2)后:α = 0.708(SE 0.238, p = .003),Pearson 离散度回落到 0.867,AIC 从 281.10 降到 246.67,模型不再给出任何警告。负二项下的结论为:车流量 IRR = 1.075, 95% CI [1.045, 1.107], p < .001;信号灯 IRR = 0.530, 95% CI [0.293, 0.962], p = .037;车道数 IRR = 1.067, 95% CI [0.807, 1.410], p = .651,未观察到统计学显著关联。

为什么这样解读?

这个案例最值得记住的一点是:过度离散改变的是标准误,不是系数。车流量的系数在 Poisson 与负二项下几乎完全一致(0.0725 vs 0.0727),但标准误从 0.0089 膨胀到 0.0147,涨了约 65%。这意味着如果无视离散度,你会用过于乐观的 p 值下结论——本例车流量效应足够强,两个模型都显著;但换个效应量小一点的变量,Poisson 可能给出 p = .03 而负二项给出 p = .12,结论完全反转。其次,信号灯的 IRR 从 0.649 变到 0.530,说明在 Poisson 下效应被低估了,这是过度离散并不总是「让结果更显著」的一个反例。第三,离散度回落到 0.867(略小于 1)说明负二项已经充分吸收了超额变异,不需要再换更复杂的模型。最后,车道数在两个模型下都不显著,不能因此说「车道数对事故没有影响」——只能说在这 60 个路口的数据里未观察到统计学显著关联,可能是真实效应很小,也可能是样本量不足。

如何在论文中报告

采用负二项回归(NB2,log 链接)分析 60 个交叉口的年事故次数。模型整体显著,LR χ²(3) = 30.45, p < .001,McFadden 伪 R² = 0.114,Pearson 离散度 = 0.867,离散参数 α = 0.71(SE = 0.24, p = .003)。日均车流量每增加 1 千辆,事故发生率比为 IRR = 1.08, 95% CI [1.04, 1.11], p < .001;有信号灯的路口相对无信号灯路口 IRR = 0.53, 95% CI [0.29, 0.96], p = .037;车道数 IRR = 1.07, 95% CI [0.81, 1.41], p = .651,未观察到统计学显著关联。作为对照,Poisson 回归的 Pearson 离散度为 2.46,过度离散检验 LR χ² = 36.43, p < .001,提示 Poisson 标准误偏小,故以负二项结果为准(AIC 246.67 vs 281.10)。

常见错误

把计数因变量当成连续变量做线性回归

线性回归会给出负的事故数预测值,且假设方差恒定,与计数数据「方差随均值增大」的特性冲突。计数因变量应使用 log 链接的广义线性模型(Poisson 或负二项)。

只报 Poisson 结果,不检查离散度

Pearson 离散度明显大于 1 时,Poisson 的标准误偏小、p 值偏乐观,假阳性率被抬高。必须报告离散度,并在过度离散时改用负二项或使用稳健标准误。

把 IRR 解读为「增加多少起事故」

IRR 是发生率比(乘法效应)。IRR = 1.075 表示事故率变为原来的 1.075 倍,而不是增加 0.075 起。要得到绝对增量,需把 IRR 乘以该路口的基线事故率。

把不显著的系数解读为「该变量没有影响」

p > 0.05 只说明在当前样本量下未观察到统计学显著关联,不等于证明了无效应。应同时报告效应量与置信区间(本例车道数 IRR = 1.07, 95% CI [0.81, 1.41]),说明区间同时覆盖了「下降 19%」到「上升 41%」,估计精度不足以下结论。

动手跑一遍

用本案例数据打开 计数回归 计算器,亲手复现统计量、p 值与置信区间,数据只在浏览器内处理。

打开 计数回归 →