Skip to content

hujinghaoabcd/linearmodels-tutorial

Repository files navigation

LinearModels 面板数据和工具变量回归教程

欢迎来到 LinearModels 教程!这是一个专注于面板数据分析和工具变量回归的中文教程。

📚 教程简介

LinearModels 是 Python 中专门处理面板数据(Panel Data)和工具变量回归(IV Regression)的强大库。它填补了 statsmodels 在这些领域的空白,特别适合经济学、金融学和社会科学研究。

为什么学 LinearModels?

场景1:分析政策效果

  • 你想研究"最低工资法"对就业的影响
  • 有多个城市、多年的数据(面板数据)
  • LinearModels 帮你控制城市固定效应,分离政策真实效果
  • 就像做对照实验,但用观察数据

场景2:因果推断

  • 你想知道"教育年限"对"收入"的因果影响
  • 但教育和收入可能都受"家庭背景"影响(内生性问题)
  • LinearModels 的工具变量方法帮你找到真实的因果关系
  • 就像找到一个"自然实验"

场景3:资产定价研究

  • 你想检验 Fama-French 三因子模型
  • 需要同时分析多只股票的收益率
  • LinearModels 提供专门的资产定价模型
  • 就像给股票收益率做"体检"

📖 教程目录

基础篇

  • 第00章:简介和安装

    • 什么是面板数据?
    • 什么是工具变量?
    • LinearModels vs Statsmodels
    • 安装和环境配置
    • 第一个例子:工资面板数据分析
  • 第01章:面板数据基础

    • 面板数据结构:长格式 vs 宽格式
    • 个体效应和时间效应
    • 混合OLS(Pooled OLS)
    • 面板数据的优势和挑战
    • 实战:多城市房价分析

核心方法

  • 第02章:固定效应和随机效应

    • 固定效应模型(FE):个体和时间固定效应
    • 随机效应模型(RE):GLS估计
    • Hausman检验:FE vs RE 如何选择
    • 聚类标准误(Clustered SE)
    • 实战:企业生产率分析(200企业×10年)
  • 第03章:工具变量回归

    • 内生性问题:遗漏变量、测量误差、反向因果
    • 工具变量(IV):定义和性质
    • 两阶段最小二乘法(2SLS)
    • 弱工具变量检验:F统计量
    • 过度识别检验:Sargan/Hansen J检验
    • 实战:教育收益率(500人×5年)

高级应用

  • 第04章:资产定价模型

    • 资产定价基础:CAPM、Fama-French
    • 线性因子模型
    • 时间序列回归 vs 横截面回归
    • GMM估计
    • 实战:Fama-French三因子模型(100只股票×60月)
  • 第05章:系统回归和高级主题

    • 似不相关回归(SUR)
    • 三阶段最小二乘(3SLS)
    • 动态面板模型(Dynamic Panel)
    • Fama-MacBeth回归
    • 实战:多方程系统估计

🎯 学习路线

🔰 初学者路线(面板数据入门)

  1. 第00章:了解 LinearModels 和面板数据
  2. 第01章:掌握面板数据结构
  3. 第02章:学会固定效应和随机效应
  4. 跳过第03章(工具变量暂时不学)
  5. 选学第04-05章

学完可以做什么:分析多时期数据、控制个体固定效应、政策评估

📊 因果推断路线

  1. 第00章:基础准备
  2. 第01章:面板数据结构
  3. 第02章:固定效应模型(核心)
  4. 第03章:工具变量回归(核心重点)
    • 理解内生性问题
    • 掌握2SLS方法
    • 学会工具变量选择和检验
  5. 选学第05章的3SLS

学完可以做什么:因果推断、政策评估、解决内生性问题

💰 金融研究路线

  1. 第00章:基础准备
  2. 第01章:面板数据基础
  3. 第04章:资产定价模型(核心重点)
    • CAPM、Fama-French
    • 因子模型估计
  4. 第05章:Fama-MacBeth回归
  5. 回头学第02-03章(如需要)

学完可以做什么:资产定价研究、因子模型检验、投资组合分析

🎓 经济学研究路线(全面掌握)

  1. 第00-01章:基础准备
  2. 第02章:固定效应和随机效应
  3. 第03章:工具变量回归
  4. 第04章:资产定价模型
  5. 第05章:系统回归和高级主题

学完可以做什么:学术研究、经济计量分析、政策评估、发表论文

💡 教程特色

1. 通俗易懂

# ❌ 技术文档的写法(难懂)
# "Fixed effects model controls for unobserved heterogeneity"

# ✅ 本教程的解释(生活化)
# 固定效应模型 = 给每个个体一个"专属基准线"
#   比如:分析学生成绩时
#   - 有的学生天生聪明(个体效应)
#   - 固定效应帮你"去除"这个影响
#   - 专注分析"学习时间"对成绩的影响
#   就像给每个学生一个"起跑线修正"

2. 聚焦核心

  • 专注面板数据和工具变量(LinearModels的核心优势)
  • 不重复 statsmodels 已有的内容
  • 每章2-4个精选案例
  • 强调实际应用场景

3. 因果推断导向

  • 重视内生性问题的识别和解决
  • 强调固定效应在因果推断中的作用
  • 工具变量的选择和检验
  • 政策评估的实战应用

4. 完整代码示例

from linearmodels import PanelOLS
import pandas as pd

# 数据:多个个体、多个时期
# entity: 个体标识(如企业ID)
# time: 时间标识(如年份)

model = PanelOLS.from_formula('y ~ x1 + x2 + EntityEffects + TimeEffects', data)
result = model.fit(cov_type='clustered', cluster_entity=True)
print(result)

🔧 环境准备

安装依赖

pip install linearmodels numpy pandas matplotlib seaborn statsmodels

版本要求

  • Python 3.9+
  • LinearModels 5.0+
  • NumPy 1.20+
  • Pandas 1.3+
  • Statsmodels 0.14.0+

推荐额外安装

# 数据处理
pip install openpyxl xlrd

# 可视化增强
pip install plotly

# Jupyter支持
pip install jupyter notebook

📝 使用建议

如何学习本教程?

1. 顺序学习(推荐新手)

  • 从第00章开始,按顺序学习
  • 每章的练习都要动手做
  • 重点理解固定效应和工具变量

2. 按需学习(有经验者)

  • 直接跳到需要的章节
  • 快速查阅代码示例
  • 参考实战项目

3. 问题驱动学习(推荐)

  • 遇到面板数据 → 第01-02章
  • 遇到内生性问题 → 第03章
  • 做资产定价研究 → 第04章
  • 边学边用,效果最好

🤝 LinearModels vs Statsmodels

特性 LinearModels Statsmodels
面板数据 ✅ 专门优化,易用 ⚠️ 支持但复杂
固定效应 ✅ 一行代码搞定 ⚠️ 需要手动处理
工具变量 ✅ IV/2SLS/GMM完整支持 ⚠️ 基础支持
聚类标准误 ✅ 内置多种类型 ⚠️ 需要额外设置
资产定价 ✅ 专门模块 ❌ 不支持
线性回归 ⚠️ 基础功能 ✅ 功能全面
时间序列 ❌ 不支持 ✅ 完整支持
适用场景 面板数据、因果推断 通用统计建模

简单来说

  • 有面板数据或需要工具变量 → 用 LinearModels
  • 做时间序列或常规统计 → 用 Statsmodels
  • 两者可以配合使用!

📚 配套资源

🤝 贡献和反馈

这是一个开放的学习资源,欢迎:

  • 报告错误和改进建议
  • 贡献新的示例和案例
  • 分享你的学习心得

📊 面板数据的魅力

面板数据就像是:

  • 纪录片:跟踪同一批人/企业的变化(vs 横截面是"快照")
  • 对照实验:每个个体都是自己的对照组
  • 时间机器:既能看横向比较,又能看纵向变化
  • 显微镜:更精确地识别因果关系

掌握了 LinearModels,你就拥有了:

  • 🔍 洞察力:识别真实的因果关系
  • 🎯 准确性:控制不可观测的异质性
  • 💡 科学性:严谨的政策评估方法
  • 🚀 前沿性:掌握经济学研究的主流工具

让我们开始这段面板数据和因果推断的学习之旅吧!


开始学习第00章:简介和安装

数据来源


与 Statsmodels 教程配合学习

  • 先学 Statsmodels教程 的第00-02章(基础回归)
  • 再学本教程的面板数据和工具变量
  • 两个教程互补,掌握完整的统计建模工具链

About

LinearModels 面板数据和工具变量回归教程

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published