U4.1
为什么薪酬要用回归,而不是简单平均
"我们公司硕士比本科高 15%"——这句话你可能刚在业务会上听到。
这一单元做一件反直觉的事:把它拆开。
左边一个演示器会告诉你,加入"职级"这一个控制变量之后,
那个 15% 会坍缩到什么程度;右边告诉你回归和职位评价
不是替代关系,而是双轨并行。
这一级最该记住的一句话。
回归不是"算平均工资",而是"控制住其他因素之后,看某个因素还剩多少影响"。
这也是它和职位评价最大的区别——职位评价问"这个岗位该值多少",
回归问"同样是这些特征的人,市场上实际拿多少"。
权威二手
《回归分析在薪酬中的应用》专题调研 · 写在最前面 §三句话之一
使用指南:左栏勾选你要控制住的变量(职级 / 绩效 / 地区),右侧的硕士溢价系数与
置信区间会在浏览器里现场重算,同时下方偏倚图上两组人的分布随控制变量重新着色;
看完四个控制层级再点"结论"。这里的 800 人教学数据集是刻意构造出混杂结构的虚构样本,
用来演示原理,不是任何真实企业的数据。
数据说明:本演示使用一个教学虚构的 800 人数据集(硕士占 33%)。
它的生成结构是刻意设计的:学历高的人职级也高——硕士组平均职级 3.62、本科组 2.61。
因此"不控制职级时看到学历溢价"是必然的,而这不是模型错了,是没控制住混杂变量。
教学构造数据
原理为统计学通行
| 维度 | 传统市场定价 / 职位评价 | 统计建模(回归) |
|---|
本表六行逐行对应调研底稿 A.1 节的两列原文,未做改写。
「控制混杂」与「可审计性」两行是两者最本质的差别:
前者是靠评估委员会心里同时想着五件事,后者是数学上同时固定其他变量。
权威二手
"我们有回归了,
不用做职位评价了。"
不用做职位评价了。"
回归不能替代职位评价,因为特征(学历、经验)并不等于岗位价值:
两个同样"本科 5 年经验"的人,一个做财务、一个做算法,模型无法区分——
除非你把岗位/序列本身作为变量放进去。
职位评价回答
这个岗位该值多少(内部公平、战略对齐)
回归回答
市场上同样是这些特征的人,实际拿多少(外部对标、校准)
使用指南:先在左栏点选你要建模的薪酬要素(基本工资 / 目标奖金 / 长期激励 / 津贴),
再在右栏点选要放进模型的特征(学历 / 经验 / 职级 / 绩效 / 地点 / 公司规模 / 任职时长),
右下角会实时生成你的建模公式与建议;注意标了"敏感"的两个特征——
它们在中文语境下进模型前必须先做法律与伦理审查,本演示会直接把它们标红。
要素与特征的划分取自调研底稿 A.2 节。底稿明确提示:婚姻 / 子女 / 户籍在中国场景下
常常是隐含的敏感变量,进模型前必须先做法律与伦理审查——本页把这一条做成了交互里的硬提示。
建模策略本身(先建 Base 模型、Bonus / LTI 另建)也是底稿口径。
权威二手
流程中的"三类输出"对应底稿 A.1 节:每个人一个预测值 + 每个特征的边际贡献 + 残差(异常)。
其中只有残差这一类是可以直接用于人的(作为人工复核清单),
另外两类在落到个体之前都必须加上人工判断与申诉渠道。
权威二手
四个问题与其解法逐条对应调研底稿 A.3 节。其中问题 3(pay equity 审计)那条
丹麦 VIVE 报告的官方措辞值得逐字借鉴:"不可解释部分是一个统计概念,
不是丹麦劳动力市场上存在歧视的度量"——未解释 ≠ 歧视,已解释 ≠ 公平。
权威二手
U4.2
模型选型:六种模型,六种失真方式
同一个数据集,六种模型,六张完全不同的拟合线。
这一单元给你一个模型对比实验台:切换模型,实时看拟合线、残差图、
系数表,以及这个模型正在违反哪条假设。
最后你会发现没有"最好的模型"——只有知道自己押了什么赌注的模型。
为什么薪酬模型几乎总是要先取对数。
薪酬数据天生右偏(少数人拿很多,多数人拿一般),所以你几乎总会看到
均值 > 中位数、均值回归 ≠ 中位数回归。
带宽定价通常靠分位数回归,不是均值回归。
本单元实验台右侧的模型解读里,每一条假设违反提示都对应这个道理的具体后果。
权威二手
《回归分析在薪酬中的应用》写在最前面 §三句话之二 + B.5
使用指南:左栏点六个模型按钮之一(OLS 线性 / 多项式 / 对数 / 分位数 / 树模型 / 混合效应),
右侧会同步切换拟合线、残差散点、系数表与假设违反提示四条内容;
再点"并排看六种拟合"可看到六条曲线叠在同一张图上。
实验台用的是一份教学虚构的 260 人数据集(含刻意构造的倒 U 曲线、异方差与部门效应),
所有拟合系数都由 Python 真实算出并预先内嵌,不是示意图。
实验台数据与拟合说明:260 人教学虚构样本,年薪由"倒 U 的经验曲线 + 部门效应 + 随经验增大的噪声"生成。
六个模型的系数、残差、曲线全部由 Python(statsmodels / scikit-learn)真实拟合后内嵌,
本页只做呈现,不在浏览器里做拟合计算。
多项式模型的拐点为 34.9 年,已贴着样本最大经验值(34 年)——
这正是底稿警告的"外推风险"的一个真实例子。
教学构造数据
拟合方法为统计学通行
| 假设 | 数学表述 | 在薪酬里意味着什么 | 违反后果 |
|---|
五条假设逐行对应调研底稿 B.1 节的表格原文。
重要澄清(底稿原文):正态性假设不影响 OLS 系数估计是无偏的,
它只影响 p 值与置信区间。所以别为了正态性去删数据,先看系数稳不稳。
权威二手
使用指南:四张图并排展示同一个真实模型(1,200 人、13 字段)的诊断结果;
点右上角的"换一组诊断"可在残差图 / Q-Q 图 / VIF 热力图 / Cook's D 影响图之间切换放大查看,
每张图下方都写明"看什么、合格线是多少"。
本页所有诊断图都来自真实运行结果:本机 Python 3.13 执行
hr_salary_regression_demo.py(exit=0,固定随机种子 42)后,
用 statsmodels 的 OLSInfluence、variance_inflation_factor、
het_breuschpagan、linear_reset 直接取出。
图中每个数字都能在 demo_output.txt 里逐行对上。
本机实测
选型口径来自调研底稿 B.5(分位数回归)、B.6(混合效应)、B.7(Cox 生存分析)、
B.9(机器学习可解释性 vs 精度)四节的对照结论。
其中最重要的一条:制度设计、薪酬政策、要向高管解释的场景,用
OLS / 分位数回归——因为系数就是"边际价值",能写进政策文档;
单人薪酬定档则避免黑箱直接定价。
权威二手
U4.3
动手:从数据到模型,8 步
这一单元是全站唯一一处让你照着敲的地方。
左边是 8 步向导:数据准备 → 探索性分析 → 建模 → 诊断 → 解释 → 落地 → 验证 → 业务解读。
每一步都能展开看可运行的代码与真实运行输出,
并且可以切换 Python / Excel / R 三条路径看同一件事怎么做。
这里的每个数字都是跑出来的,不是写出来的。
全部代码基于同目录的 hr_salary_regression_demo.py,
全部输出基于本机 Python 3.13 实跑的 demo_output.txt(exit=0,固定随机种子 42)。
合成 1,200 名员工、13 个字段,含故意注入的脏数据(12 条极端高薪 ×12、8 条经验逻辑异常、30 条绩效缺失)。
读一遍你会发现——连"清洗干净了没有"这件事,都需要用数字来证明。
本机实测
流程取自调研底稿 C.1 节的九段式流程,本页按"教学可跟做"合并为 8 步
(数据字典并入数据准备,年度复检并入业务解读)。
权威二手
使用指南:点左侧任一步骤展开,会看到这一步要做什么、对应哪一段真实输出;
展开后用 Python / Excel / R 三个按钮切换同一件事的三种实现——
Python 那条路径的"真实输出"是本机实跑结果,Excel 与 R 两条是等价写法,
页面会明确标注两者不是本机实跑输出,避免你误以为它们是同一份数字。
使用指南:四张图并排展示同一个真实模型的诊断结果(1,200 人、13 字段,本机实跑输出);
每张图下方写明"合格线在哪、异常长什么样",横向对照着看——单一图表合格不等于模型合格,
四张一起看才知道模型在哪里失真。
四张图全部取自本机 Python 3.13 实跑 hr_salary_regression_demo.py(exit=0,固定随机种子 42)的输出,
由 statsmodels 的 OLSInfluence / variance_inflation_factor /
het_breuschpagan / linear_reset 直接取出,图中每个数字都能在
demo_output.txt 里逐行对上。
本机实测
对角线是"预测=实际"。点落在对角线附近说明模型在这个样本上预测得准,
远离对角线的点就是残差大的人——正是"需要人工复核的清单"。
本机实测
这张表的价值在于两套指标必须一起给。统计指标(R² / RMSE / MAE / 交叉验证)
告诉你模型准不准,业务指标(落带内比例 / 偏差<5% 比例 / 分组误差)告诉你这个模型
能不能用来做薪酬决策。本例中 CV MAE 为 17,570 元、落 ±15% 带内仅 47.5%——
任何"模型算出精确薪酬"的演示都是误导。
本机实测
使用指南:点性别或职级按钮切换分组,看该组的 MAE 与人数;
重点观察"L2 误差最小、L4 误差最大,相差 42%"这件事——
总体 MAE 掩盖了组间巨大差异,这通常意味着模型缺了交互项。
底稿结论:模型上线前必须按职级/性别/地区分别报误差。
若某群体误差显著更高,说明模型对该群体失效。
在正式制度里这意味着:L4 的定价不能和 L2 用同一套模型输出。
本机实测
U4.4
因果、合规与红线:模型输出的是参考值,不是决定
前面三个单元教你把模型建起来。这一单元教你把它管住:
相关不等于因果、控制变量本身可能带偏见、
代理变量会把敏感属性偷偷重建回来,
而一旦你把模型用到个体的雇佣决定上——
纽约市和欧盟的合规义务就可能已经触发。
三条不可逾越的红线(底稿原文)。
红线 1 不可用于个体裁员、不晋升、不解雇决策 —— 个体决策需要人工判断 + 可申诉渠道 + 文档记录。
红线 2 不可把模型输出当作唯一事实来源 —— 模型是"参照系",不是"法官"。
红线 3 不可隐藏模型 —— 要能向员工解释"我的薪资是怎么定的"。 权威二手 《回归分析在薪酬中的应用》C.7 节
红线 1 不可用于个体裁员、不晋升、不解雇决策 —— 个体决策需要人工判断 + 可申诉渠道 + 文档记录。
红线 2 不可把模型输出当作唯一事实来源 —— 模型是"参照系",不是"法官"。
红线 3 不可隐藏模型 —— 要能向员工解释"我的薪资是怎么定的"。 权威二手 《回归分析在薪酬中的应用》C.7 节
使用指南:左栏选一个你公司里真实可能发生的场景,右栏会输出
触发了什么、依据是什么、风险等级、以及你必须先做什么;
底部还有一条"如果被质疑你该怎么回答"的模板。
本页只引用法规名称与文号,不引用条款号;具体适用口径请以法务意见为准。
法规依据:EU AI Act(Regulation (EU) 2024/1689)附件三第 4 条把招聘选拔、
影响劳动关系条款与晋升解雇的决定列为高风险用途;
NYC Local Law 144 of 2021(纽约市 DCWP 执行的《自动化就业决策工具》法);
中国法域仅引用《中华人民共和国个人信息保护法》名称。
本页不引用条款号,只引用法规名称与文号。
EU AI Act 附件三(官方译本)
·
NYC DCWP AEDT 官方 FAQ
官方
官方·第三方托管
使用指南:点任一层台阶,右侧会说明这一层能回答什么问题、不能回答什么问题、
薪酬场景里怎么用;第四层(DiD + 双重断点)配的是丹麦薪酬透明法案研究,
那是"什么时候我能真正回答因果问题"的最佳范例。
工具箱四层分别对应底稿 B.10 节:内生性与混杂变量、工具变量(IV)、
双重差分与断点回归(DiD / RDD)、Oaxaca-Blinder 分解。
丹麦案例结论:差距缩小约 2 个百分点(相对降幅 13%),主要是男性薪资增速放缓,
且企业盈利能力未受影响。
丹麦性别薪酬差距研究原文
权威二手
机制描述取自底稿 C.7 节:从模型中删掉种族/性别不能消除歧视——
邮编、公司规模、毕业院校、姓名、入职年份等与敏感属性高度相关,模型会自动重建它。
这意味着"公平通过无知"失效。
美国法下的核心是"80% 规则"(差别影响),雇主可用"与岗位相关且符合商业必要"抗辩。
差别影响与 AI 代理歧视分析
权威二手
时间点逐条对应底稿 C.7 节与各官方来源页。EU AI Act 的独立高风险系统义务
已被推迟至 2027-12-02;纽约州审计长已认定 DCWP 的 LL144 执法无效。
官方
官方·第三方托管
话术模板取自底稿 C.6 节的沟通模板与 C.7 节的汇报模板。
核心只有一句:模型输出的是"参照值",判断必须留给人。
这不仅是统计学原则,也是法律要求。
权威二手