集成回归
随机森林回归
在自助样本上长出许多回归树,把各树落到的叶均值再做算术平均,用来压低单次切分的抖动。
这篇能回答什么
随机森林回归关心的是:多棵不稳定的回归树平均之后,总价预测还抖不抖。每一棵树仍然在叶上报告均值;森林的输出是这些均值的算术平均,不是多数票。袋外(OOB)样本给出近似测试误差。本页占用表取代表树(教学上取第一棵,并合并到三片粗叶)的叶厚,用来判断单棵分区有没有塌成「一片巨大盆地 + 两片薄边」。
适合:表格型连续预测,特征有非线性与交互,你愿意牺牲单条规则,换更稳的 RMSE。教学口径完整个案 343。代表树三片粗叶:A 43(12.54%)、B 71(20.7%)、C 229(66.76%)。A 比单棵 CART 教学例更瘦,说明自助抽样加特征子集可以切出很薄的叶;平均多棵之后,单片薄叶不再单独决定预测。
如何选择方法
连续预测里,森林、提升、极端随机树都是「多棵回归树」,差别在随机化与聚合。森林:自助样本 + 特征子集,预测取平均。ExtraTrees:连阈值也随机抽。AdaBoost:按残差改权重再线性组合。GBDT:新树拟合负梯度。OLS:一条可加直线。分类森林不要用来预测总价。
随机森林回归:B 棵回归树平均叶均值;可看 OOB R² 与不纯度重要性。
决策树回归:单棵、可画路径;方差大。
GBDT / AdaBoost 回归:串行修残差,训练误差常更低,也更容易把噪声抬上去。
线性回归:要推断与单位斜率,不要用森林冒充系数表。
输入、输出与限制
输入
一个定量因变量,若干特征。默认在每棵树的节点上只考察约 √p 个特征(回归有时用 p/3;以工作台说明为准)。缺失按分析列成表删除。
因变量:1 个定量列,本例为总价(万元)。
特征:2–40 个;本例面积(平米)、楼层、总楼层、建筑年份。不要放房源 ID。
输出
占用表给出代表树合并后的三片粗叶人数与占比(A 43、B 71、C 229,N=343)。工作台另给训练/OOB(或测试)RMSE、MAE、R²,以及不纯度下降的特征重要性。预测列是各树叶均值的平均。
产品限制
有效行少于 30 拒绝;OOB 在 n 较小时代价高,教学上 n≥50 才强调 OOB。
默认 100 棵、节点特征子集随机;把棵数从 100 加到 500,方差通常继续降,偏差几乎不变。
重要性是分裂不纯度,没有「推高多少万元」的单位;要局部贡献用 SHAP。
代表树占用只是窗口,不是 100 棵树每棵都长这样。
案例
研究问题。 同一张房源评价表,业务要的是总价预测稳不稳、面积和楼龄谁更常被抽到分裂,而不是复述某一棵树的 if-then。中介可以接受黑盒,但不能接受只在 43 套房源上成立的「规律」。
完整个案 343(与单棵树教学例的 290 不同,因为进入列或缺失模式可以不一致)。代表树粗叶占用 A 43(12.54%)、B 71(20.7%)、C 229(66.76%)。C 占三分之二,单看这一棵仍像「大盆地」;森林的意义是:下一棵自助树会换切分,平均之后薄叶 A 的噪声被冲淡。下载综合评价表:Y=总价(万元),特征用面积、楼层、总楼层、建筑年份。
在 StatsX 中操作
步骤 1 · 读入房源评价表
导入后先看工作表是否仍叫 Sheet1。总价与单价不要双双当作因变量。
步骤 2 · 丢掉标识列
画像里勾掉房源 ID、小区名称。城市、区域基数高,本练习不进森林,以免重要性被高基数切分抬走。
步骤 3 · 选随机森林回归
目录里的随机森林分类用于定类标签。总价是连续的,必须点回归,否则输出会变成票数而不是万元均值。
步骤 4 · 放好 Y 与特征
因变量:总价(万元)。特征:面积(平米)、楼层、总楼层、建筑年份。棵数保持默认 100,先看 OOB 再决定是否加树。
步骤 5 · 对照占用与 OOB
代表树若仍显示叶 A 只有 43 条,不要惊慌——看的是森林平均误差。训练 R² 很高而 OOB 掉一截,才是过拟合信号。




如何阅读输出
占用表描述代表树合并后的三片粗叶,不是客户分群。N=343。叶 A 43(12.54%)已经偏瘦,叶 C 229(66.76%)仍是主盆地。这张表用来诊断「单棵树会不会一边倒」,不能代替 100 棵树的平均预测。
| 项目 | 类别 | 统计量 | 取值 |
|---|---|---|---|
| 随机森林回归 | 类别 A | 频数 | 43 |
| 随机森林回归 | 类别 B | 频数 | 71 |
| 随机森林回归 | 类别 C | 频数 | 229 |
| 随机森林回归 | 合计 | 有效样本 N | 343 |
| 随机森林回归 | 类别 A | 占比(%) | 12.54 |
| 随机森林回归 | 类别 B | 占比(%) | 20.7 |
| 随机森林回归 | 类别 C | 占比(%) | 66.76 |
左右滑动可查看完整表格
教学示例表在 StatsX 工作台中的计算结果口径。


阅读顺序:N=343 → 代表树最瘦叶(A=43)→ OOB 或测试 RMSE / R² → 训练指标是否明显更甜 → 不纯度重要性排序。重要性没有万元单位,不能写成 Beta。预测值是各树叶均值的平均,落在某套房源上时,不同树可能把它分进不同厚度的叶子。
过拟合信号:训练 R² 接近 1,OOB R² 低一截。森林对深度不如单棵树敏感,但把叶最小样本降到 1、又不限制深度,仍能记住噪声。棵数加到 500 很少会「突然过拟合」,更多是收益递减。C 占 66.76% 只说明这一棵代表树偏不平衡,不证明全森林都这么偏。
理论与公式
第 b 棵树在自助样本上按 MSE 生长,并在每个节点只看随机特征子集。新样本的预测是各树叶均值的平均:
袋外误差把未抽进第 b 个自助袋的样本拿来评估 T_b,再平均,近似测试 MSE:
分类森林把 T_b(x) 换成类别投票,损失是 0-1 或基尼,不是平方误差。本页 B 默认 100,n=343。代表树叶厚 43/71/229 只刻画一棵树的分区,OOB 才刻画森林。不纯度重要性累加各次分裂的 ΔMSE,相关特征会分摊或互抢。
注意事项
没有标准误与 VIF,不能把重要性当成回归系数。
代表树叶 A 仅 43 条,说明单棵分区可以很瘦;解释靠森林平均,不靠这一片。
面积几乎总会排在重要性前列,因为总价≈单价×面积。
训练指标甜、OOB 苦,优先信 OOB。
高基数定类会扭曲分裂;本练习不用小区名称。
换随机种子,单棵路径会变,OOB 数量级应稳定。
常见问题
参考文献
Breiman, L. Random forests[J]. Machine Learning, 2001, 45: 5–32.
Hastie, T., Tibshirani, R., & Friedman, J. The Elements of Statistical Learning. Springer.
周志华. 机器学习[M]. 清华大学出版社.