第 2 关:探险者 — 发现变量之间的关系


📐 数学补给站

本关涉及数学模块:线性代数(矩阵运算) + 概率统计(相关性与回归的统计基础)

| 数学概念 | 本关用途 | 深入参考 | |---------|---------|---------| | 向量/矩阵运算 | 相关性热力图 = 矩阵点积,回归 = 矩阵乘法 X·β | 数学-① 线性代数 | | 余弦相似度 | Pearson 相关系数的几何解释 = 两个向量的夹角 | 数学-① 线性代数 | | 最小二乘法 | OLS 回归的本质 = 求投影,使残差向量垂直于列空间 | 数学-① 线性代数 | | 正态分布 & 中心极限定理 | 回归假设检验的前提 | 数学-③ 概率统计 | | p 值 & 置信区间 | 回归系数的显著性判断 | 同上 |

快速自测

  1. Pearson 相关系数在几何上是什么?(提示:向量的夹角)
  2. OLS 回归的"最小二乘"在几何上意味着什么?
  3. 回归系数的 p 值 = 0.01 是什么意思?

答不上来的去对应数学模块补课。


🎯 本关目标

  • 从"描述单个变量"进化到"发现变量之间的关系"
  • 对应工程能力:能判断两个变量是否相关、能用回归模型做预测、能检查模型假设是否成立

Step 1:本关资料(海量输入)

48h 内完成浏览,建立知识全景。不需要精读,标记"在哪、解决什么"即可。

| 资料类型 | 具体资料 | 用途 | |---------|---------|------| | 视频 | StatQuest: Linear Regression(YouTube) | 回归的直觉和数学 | | 视频 | StatQuest: Multiple Regression(YouTube) | 多元回归和 R² | | 视频 | StatQuest: P-values(YouTube) | p 值的直觉理解 | | 书籍 | 《Python for Data Analysis》第 12 章 | statsmodels 回归代码实现和结果解读 | | 交互课程 | Kaggle Learn: Regression(kaggle.com/learn/regression) | 回归实战 | | 书籍 | 《The Elements of Statistical Learning》Ch.3 | 正则化回归(Ridge、LASSO、Elastic Net) | | 书籍 | Causality — Judea Pearl | 因果图、do-calculus,理解"相关≠因果"的深层原因 | | 书籍 | Mostly Harmless Econometrics — Angrist & Pischke | 工具变量、双重差分等因果推断实战方法 | | 论文 | A Unified Approach to Interpreting Model Predictions(SHAP) | 模型解释方法,理解"为什么模型这么预测" | | 论文 | Feature Selection: A Data Perspective(ACM CS 2017) | 特征选择系统认知(Filter/Wrapper/Embedded) |


Step 2:本关心智模型

理解这三个模型,你就有了分析变量关系的"思维工具箱"。

模型 1:相关性模型

  • 核心思想:两个变量一起变化的程度,但相关 ≠ 因果。相关只是"一起变",因果是"A 导致 B"。相关性是因果推断的第一步——你先得知道"有没有关系",才能进一步问"是什么关系"。
  • 关键变量
    • Pearson r(-1 到 1)→ 衡量线性相关强度,对异常值敏感
    • Spearman ρ → 衡量单调相关强度(不要求线性),基于排名
    • p 值 → 相关性是否显著(是否可能是随机波动),但不告诉你效应大小
  • 应用场景:快速探索数据中的变量关系(EDA),为回归建模做特征筛选
  • 局限性
    • 只能捕捉线性/单调关系,对复杂的非线性关系(如 U 型)无能为力
    • 无法区分因果方向(X→Y 还是 Y→X?)
    • 无法排除混杂因素(冰激凌销量和溺水率都受温度影响)
  • 相关资料:StatQuest P-values 视频;Pearl《Causality》第 1-2 章;Orben & Lakens (2020) "Correlation Does Not Imply Causation"

模型 2:回归模型

  • 核心思想:用一个或多个变量预测另一个变量。回归系数的含义是"其他条件不变时,X 每变化 1 个单位,Y 平均变化多少"。回归是"可量化的相关性"——不仅告诉你"有关系",还告诉你"关系有多强、方向如何"。
  • 关键变量
    • R² → 模型解释了多少变异(0~1),但不是唯一标准
    • 回归系数 → 变量的影响方向和大小,注意"其他条件不变"的前提
    • 残差 → 模型没解释的部分,残差的模式暴露模型的问题(非线性、异方差等)
  • 应用场景:预测(LTV 预测、销售预测)、归因分析(哪个因素贡献最大)、假设检验(这个因素真的显著吗)
  • 局限性
    • 线性回归假设线性关系,现实常非线性
    • 多重共线性导致系数不稳定、方向反直觉
    • OLS 对异常值敏感,高维数据容易过拟合
  • 相关资料:StatQuest Multiple Regression;《Elements of Statistical Learning》Ch.3;《Python for Data Analysis》第 12 章

模型 3:特征工程模型

  • 核心思想:模型的预测能力不只取决于算法,更取决于你喂给它的特征。特征工程是"把领域知识编码进数据"的过程——交互项、多项式、对数变换等都是"让模型看到原本看不到的模式"。
  • 关键变量
    • 交互项(X₁×X₂)→ 捕捉两个变量联合的效应(如酒精×硫酸盐对葡萄酒质量的影响)
    • 多项式(X²)→ 捕捉非线性关系(U 型、倒 U 型)
    • 对数变换(log X)→ 压缩右偏分布,让关系更线性
  • 应用场景:提升模型 R²、处理非线性关系、降低多重共线性(对数变换有时能缓解)
  • 局限性
    • 增加特征数量 → 过拟合风险增加,需要正则化或交叉验证
    • 交互项太多导致可解释性下降("酒精×硫酸盐×pH"很难向业务方解释)
    • 领域知识驱动的特征工程难以自动化
  • 相关资料:Auto-Sklearn 论文(Feurer et al., NeurIPS 2015);Boruta 特征选择论文;Kaggle Learn: Regression

Step 3:本关分歧点

数据分析没有唯一正确答案,但有值得争论的好问题。

分歧 1:特征选择——先删还是用正则化?

  • A 方:手动删除 VIF 高的特征。理由:简单直接,系数可解释,业务方听得懂。
  • B 方:用 Ridge/LASSO 正则化。理由:自动处理多重共线性,LASSO 还能做特征选择,避免人工判断偏差。
  • 实践倾向:先用 VIF 排除明显共线性(VIF > 10),再用 LASSO 做精细特征选择。纯手动删除太依赖经验,纯正则化又牺牲可解释性。
  • 为什么重要:直接影响模型系数的可靠性和业务解读。选错了,你给业务方的"建议"可能是错的。

分歧 2:p < 0.05 就算"显著"吗?

  • A 方:严格遵循 p < 0.05,不显著就不纳入模型。理由:统计显著是科学结论的门槛。
  • B 方:p 值只是参考,更要看效应大小(回归系数的实际意义)和置信区间。理由:大样本下任何微小的效应都会"显著",但业务上毫无意义。
  • 实践倾向:两者都要看。p 值过滤噪音,效应大小判断业务价值。推荐同时报告 p 值 + 系数 + 置信区间。
  • 为什么重要:只看 p 值会导致"统计显著但业务无用"的结论,只看效应大小又可能放过噪音。

分歧 3:相关性能否暗示因果?

  • A 方:永远不能。相关 ≠ 因果是铁律,需要 RCT(随机对照实验)或准实验设计才能断言因果。
  • B 方:在特定条件下可以。如果满足时序性(原因在前)、强相关性、排除了混杂因素、有理论机制支撑,相关性可以作为因果的初步证据。
  • 实践倾向:日常分析中用"相关性发现 + 因果推断方法验证"的两步走策略。Pearl 的 do-calculus、工具变量、双重差分是因果推断的正式工具。
  • 为什么重要:业务决策需要因果判断("我们做了 X,所以 Y 改善了"),而非相关性判断("X 和 Y 一起变了")。混淆两者会做出错误决策。

Step 4:闯关任务(动手验证)

用代码验证你的理解。每个子任务都要有可运行的输出。

子任务 1:看见关系

  • 下载 Kaggle Wine Quality 数据集
  • 画散点图矩阵(pd.plotting.scatter_matrix)+ 相关性热力图(seaborn.heatmap
  • 找出与 quality 相关性最高的 3 个特征,用散点图展示
  • 输出:热力图 + Top 3 相关特征的散点图 + 50 字解读

子任务 2:建回归模型

  • statsmodels(不是 sklearn)做多元线性回归
  • 解读每个特征的回归系数:正/负?显著吗(p < 0.05)?
  • 计算 R²,评估模型整体解释力
  • 输出:回归结果表 + 系数解读(每个特征一句话)

子任务 3:检查假设

  • 检查 4 个回归假设:
    1. 残差正态性 → Q-Q 图 + Shapiro 检验
    2. 同方差性 → 残差 vs 拟合值散点图
    3. 多重共线性 → VIF(方差膨胀因子),VIF > 10 需要处理
    4. 线性关系 → 残差 vs 各特征散点图
  • 哪些假设不满足?记录下来
  • 输出:4 张诊断图 + 假设检验结果

子任务 4:特征工程

  • 尝试提升 R²:
    • 交互项:alcohol * sulphates
    • 多项式:alcohol²
    • 对数变换:log(volatile acidity)
  • 目标:R² > 0.4(wine quality 数据的合理上限约 0.4-0.5)
  • 输出:特征工程前后的 R² 对比 + 最佳特征组合

Step 4.5:💬 AI 教练对话

在做任务的过程中,用这 4 个 Prompt 和 AI 深度对话。每个 Prompt 标注了使用时机。

🕐 时机:子任务 1 之后——发现散点图"不够线性"

我发现 wine quality 数据中,alcohol 和 quality 的 Pearson 相关系数是 0.48,
但散点图看起来关系不是很"线性"。

请引导我思考:
1. Pearson 相关系数衡量的是什么类型的关系?如果关系是非线性的,它还能准确反映吗?
2. 我应该用什么方法来检测非线性关系?
3. Spearman 相关系数和 Pearson 有什么区别?这个场景用哪个更合适?

不要直接告诉我答案,让我先推理。

🕐 时机:子任务 3 之后——VIF 爆了,系数反直觉

我的多元线性回归结果中,R² = 0.36,但有两个特征的 VIF 值超过了 15。
回归系数的符号和直觉相反(比如 pH 系数为正,但理论上 pH 高葡萄酒质量应该差)。

请帮我排查:
1. VIF 高说明什么问题?它会如何影响回归系数的解读?
2. 系数符号反直觉,可能的原因有哪些?(提示我至少想 3 个方向)
3. 给我排查步骤的优先级,不要直接说结论。

🕐 时机:子任务 4 之后——归纳模型规律

我刚完成了回归分析,发现:
- alcohol 是最强的正预测因子(系数 0.28,p < 0.001)
- 添加 alcohol² 后 R² 从 0.36 提升到 0.38
- 但残差图显示存在异方差性(低质量酒残差更大)

请帮我:
1. 把这些发现归纳成"相关性模型"和"回归模型"的一般规律
2. 引导我思考:这些规律在用户增长分析中会如何体现?
3. 让我先尝试归纳,你再补充和纠正。

🕐 时机:全部任务完成后——工程映射

假设你负责一个电商平台的用户 LTV(生命周期价值)预测:
- 你有用户的注册天数、首单金额、浏览次数、加入购物车次数等特征
- 业务方想知道"哪个行为最影响用户价值"

请引导我思考:
1. 如果"浏览次数"和"加入购物车次数"高度相关(VIF > 10),你应该怎么处理?
2. 回归系数的解读:"其他条件不变时,首单金额每增加 1 元,LTV 增加 X 元"——这个说法在什么情况下不成立?
3. R² = 0.25 是不是说明模型很差?在什么场景下这个 R² 是可接受的?

让我先思考,你再验证和补充。

Step 5:关 AI 自测

⚠️ 关闭 AI 前提:完成所有任务后,合上 AI,独立回答以下 4 题。限时 30 分钟。每题都要给出判断 + 理由,不是回忆知识点,而是做判断。

📋 题 1:扫地机器人"高频用户故障多"——因果还是混杂?

改编自费曼检验场景 1

面试官给你看数据:"扫地机器人用户中,清扫频率高的用户,故障报修率也高。r = 0.62,p < 0.001。所以频繁使用会导致机器故障,对吗?"

面试官追问:"如果这两个指标都是用户活跃度的结果呢?"

请回答

  1. 这是什么类型的关系?(因果关系 / 混杂因素 / 反向因果 / 其他)
  2. 画出可能的关系图(用文字描述节点和箭头方向)
  3. 要判断因果,你需要什么额外数据或实验?

📋 题 2:15 个埋点特征,模型只能放 8 个——怎么选?

改编自费曼检验场景 2

你负责扫地机器人 App 的用户 30 天留存预测。手头有 15 个埋点特征:注册天数、首周清扫次数、地图创建数、房间数、清扫面积均值、避障触发次数、App 打开天数、设置项修改次数、客服咨询次数、固件升级次数……

模型最多能放 8 个特征。

请回答

  1. 你用什么标准筛选特征?(列出至少 3 个标准)
  2. 哪些类型的特征"看起来有用"但可能帮倒忙?为什么?
  3. 筛选后如何验证你的选择没有丢失关键信息?

📋 题 3:R² = 0.88,但同事说有问题——问题在哪?

改编自费曼检验场景 3

你建了一个模型预测"用户是否会购买扫地机器人耗材",R² = 0.88。但同事指出:(1) 你把"过去是否购买过耗材"作为特征;(2) "App 打开天数"和"清扫次数"的 VIF 分别是 18 和 15。

请回答

  1. R² = 0.88 的问题出在哪里?这个 R² 可信吗?
  2. VIF 高的两个特征会导致什么具体问题?
  3. 如果重新建模,你会怎么处理?

📋 题 4:VIF 爆了——删特征、PCA、Ridge 还是特征组合?

改编自费曼检验场景 4

"清扫覆盖率"影响因素分析,6 个特征中有两组共线性:(1) "房屋面积"和"房间数量" VIF = 12;(2) "单次清扫时长"和"清扫路径长度" VIF = 9。产品经理想要每个因素的影响大小排名。

请回答

  1. 四种方案(删特征 / PCA / Ridge / 特征组合)各有什么 trade-off?
  2. 产品经理要"影响大小排名",这个需求在多重共线性存在时为什么有问题?
  3. 你会怎么选?给出你的理由。

🤖 自测后追问 Prompt

我刚完成了数据分析第 2 关的自测,以下是我的回答:

题 1:[你的回答]
题 2:[你的回答]
题 3:[你的回答]
题 4:[你的回答]

请扮演一个持怀疑态度的高级数据分析师,对我的回答进行追问:
1. 每题至少追问 1 轮
2. 如果我的回答有漏洞,不要直接指出,而是用提问让我自己发现
3. 如果我的回答到位了,说"这个回答到位了"然后进入下一题
4. 追问要有递进性:第一轮问"为什么",第二轮问"如果条件变了呢",第三轮问"你确定吗?有没有反例?"
5. 不要直接给答案,永远用提问引导

Step 6:费曼输出 + 信心校准

一句话版本

用一句话解释本关核心。如果说不清,说明还没真懂。

(你的回答:___)

三分钟版本

假设你的同事是产品经理,不懂统计。用 3 分钟讲清楚"相关性、回归、特征工程"三者的关系。

(你的回答:___)

场景判断表格

| 场景 | 你用什么模型/方法?为什么? | |------|--------------------------| | "广告费和销售额一起涨,所以广告有效"——对吗? | | | 回归模型 R² = 0.15,但业务方说"完全没用"——你怎么回应? | | | VIF > 10 但业务方坚持要保留这个特征——怎么办? | | | 一个特征 p = 0.08,但效应很大——你纳入还是排除? | | | 发现 alcohol 和 quality 的关系是 U 型的——线性回归还合适吗? | |

信心自评

| 维度 | 1-5 分 | 说明 | |------|--------|------| | 相关性(Pearson vs Spearman 选用) | /5 | | | 回归系数解读 | /5 | | | 假设检验(4 项检查) | /5 | | | 特征工程策略 | /5 | | | 相关 ≠ 因果的深层理解 | /5 | | | 总分 | /25 | 20+ 通关 |


📘 精准阅读

| 资源 | 精确位置 | 解决什么问题 | |------|---------|-------------| | StatQuest: Linear Regression | YouTube 搜索 "StatQuest Linear Regression" | 回归的直觉和数学 | | StatQuest: Multiple Regression | YouTube 搜索 "StatQuest Multiple Regression" | 多元回归和 R² | | 《Python for Data Analysis》第 12 章 | statsmodels 回归 | 代码实现和结果解读 | | Kaggle Learn: Regression | kaggle.com/learn/regression | 回归实战 | | StatQuest: P-values | YouTube 搜索 "StatQuest p-values" | p 值的直觉理解 |


⚠️ 常见误区

  1. 误区:相关系数高就说明因果关系 冰淇淋销量和溺水率高度相关,但它们都是温度的共因。相关性只告诉你"一起变",不告诉你"谁导致谁"。要判断因果,需要实验设计或更高级的方法(因果推断)。

  2. 误区:R² 高就说明模型好 过拟合的模型在训练集上 R² 很高,但对新数据预测能力差。更可靠的做法是用交叉验证的 R² 或在测试集上评估。

  3. 误区:忽略回归假设 线性回归要求线性关系、同方差、正态残差、无多重共线性。不满足时,回归系数的标准误不可靠 → p 值不可靠 → 结论不可靠。跑回归前必须检查假设。

  4. 误区:直接用所有变量做回归 变量太多会导致过拟合,尤其当样本量不够大时。应该先做特征选择(相关分析、VIF 检查、逐步回归、LASSO 等),只保留真正有价值的特征。


🔗 工程映射

| 数据分析概念 | 真实工程场景 | 为什么会发生 | |-------------|-------------|-------------| | 回归分析 | 用户 LTV 预测 | 用注册行为(首单金额、活跃天数)预测未来消费,回归系数告诉业务方"优化哪个行为最有效" | | 特征工程 | 推荐系统 | 用户-物品交互特征(交互项:用户偏好 × 物品热度)能显著提升推荐准确率 | | 多重共线性 | A/B 测试指标选择 | 同时看"页面停留时间"和"滚动深度"两个指标,它们高度相关,会导致你同时看到两个"显著"结果,实际上只有一个效应 |


✅ 通关标准

  • [ ] 画出相关性热力图,识别 Top 3 相关特征
  • [ ] 用 statsmodels 建立多元线性回归,解读所有系数
  • [ ] 完成 4 项回归假设检查,记录不满足的假设
  • [ ] 通过特征工程提升 R²,记录最佳组合
  • [ ] 能解释"相关 ≠ 因果"并用具体例子说明
  • [ ] 自测 4 题总分 ≥ 20/25
  • [ ] 费曼输出能让非技术人员理解

📚 论文阅读清单

阅读策略

泛读(30-40 篇):读摘要 + 图表 + 结论,3-5 分钟/篇,记一句话笔记 精读(8-10 篇):逐段读,复现核心方法,记详细笔记 研读(2-3 篇):跟着做实验/改参数,作为通关论文的参考

搜索渠道:Google Scholar、arXiv、Semantic Scholar、Papers With Code

🔴 必读(精读 8-10 篇)

| # | 论文 | 来源/年份 | 核心方法 | 一句话总结 | 状态 | |---|------|----------|---------|-----------|------| | 1 | Causality: Models, Reasoning, and Inference — Judea Pearl | Cambridge University Press, 2009(第 2 版) | do-calculus、因果图、结构因果模型 | 因果推断的"圣经",读完你就知道为什么"相关≠因果"不只是口头禅 | ⬜ | | 2 | Mostly Harmless Econometrics — Angrist, Pischke | Princeton University Press, 2009 | 工具变量、双重差分、回归断点 | 经济学家的因果推断实战手册,比 Pearl 更接地气 | ⬜ | | 3 | A Unified Approach to Interpreting Model Predictions — Lundberg, Lee | NeurIPS, 2017 | SHAP 值:统一的模型解释方法 | 你想知道"为什么模型预测这个值",SHAP 给你答案 | ⬜ | | 4 | Feature Selection: A Data Perspective — Li et al. | ACM Computing Surveys, 2017 | 特征选择方法全面综述(Filter/Wrapper/Embedded) | 特征选择不只是"去掉不重要的",这篇文章帮你建立系统认知 | ⬜ | | 5 | Correlation Does Not Imply Causation: A Brief Update — Orben, Lakens | Perspectives on Psychological Science, 2020 | 批判性地审视相关性谬误 | 别再只会说"相关≠因果"了,这篇文章告诉你真正的问题是"什么时候相关暗示因果" | ⬜ | | 6 | Boruta: A System for Feature Selection — Kursa, Rudnicki | Journal of Statistical Software, 2010 | 基于 Random Forest 的特征选择 | 不用设阈值,让算法自己告诉你哪些特征重要 | ⬜ | | 7 | The Elements of Statistical Learning — Hastie, Tibshirani, Friedman | Springer, 2009(第 2 版) | 正则化回归(Ridge、LASSO、Elastic Net) | 回归不只是 OLS,正则化是处理多重共线和过拟合的核心工具 | ⬜ | | 8 | Auto-Sklearn: Efficient and Robust Automated Machine Learning — Feurer et al. | NeurIPS, 2015 | AutoML 中的自动特征工程和模型选择 | 特征工程可以被自动化吗?AutoML 给出了初步答案 | ⬜ |

自行补充

搜索关键词:instrumental variable causal inferencedifference-in-differences econometricsregression discontinuity designLASSO feature selectionpermutation feature importancepearson vs spearman vs kendall correlationmulticollinearity variance inflation factorinteraction effects regression analysisconfounding variable controlcausal discovery algorithms

🟡 推荐阅读(泛读 30-40 篇)

搜索关键词

  • instrumental variable causal inference(工具变量因果推断)
  • difference-in-differences econometrics(双重差分法)
  • regression discontinuity design(回归断点设计)
  • LASSO feature selection(LASSO 特征选择)
  • permutation feature importance(置换特征重要性)
  • pearson vs spearman vs kendall correlation(三种相关系数的对比)
  • multicollinearity variance inflation factor(多重共线性和 VIF)
  • interaction effects regression analysis(交互效应分析)
  • confounding variable control(混杂变量控制)
  • causal discovery algorithms(因果发现算法)

泛读笔记

| # | 论文 | 来源 | 跟我什么关系(一句话) | 状态 | |---|------|------|---------------------|------| | 1 | Spurious Correlations — Vigen | 网站/书籍, 2015 | 直观展示"相关≠因果"的荒谬案例 | ⬜ | | 2 | DoWhy: End-to-End Library for Causal Inference — Sharma, Kiciman | arXiv, 2018 | 微软开源的因果推断库,可以跑代码复现 | ⬜ |

自行补充

目标积累 30-40 篇一行笔记,用上面的搜索关键词在 Google Scholar 搜索。

🟢 研读候选(选 2-3 篇)

| # | 论文 | 为什么选这篇 | 状态 | |---|------|------------|------| | 1 | | | ⬜ | | 2 | | | ⬜ | | 3 | | | ⬜ |

自行补充

从精读中选出最有价值的 2-3 篇,作为通关论文写作的主要参考。