实证研究常见误区(13):为什么数据结构会影响回归结果

统计

为什么数据结构会影响回归结果?

很多人做回归分析时,满脑子都是变量选择、显著性检验、R²够不够高——却忽略了一个更根本的问题:你的数据,是什么结构?

数据结构不对,回归结果就会出错。不是"误差大一点"的错误,而是系数方向都可能反过来的那种错误。

01先说一个真实的困惑

假设你在研究“班级规模对学生成绩的影响”。你收集了100所学校、每所学校若干个班级、每个班级若干名学生的数据,然后跑了一个普通线性回归。

结果出来了:班级规模越大,成绩反而越高?

你对结果一定是怀疑的,因为直觉告诉你应该是反的,文献也说是反的,但你的回归偏偏不这么说。

问题出在哪里?出在数据结构上。

02数据是有“层次”的

你的数据并不是一堆独立的学生观测值。这些学生嵌套在班级里,班级嵌套在学校里。同一个学校的学生,共享相同的校长、校风、资源;同一个班的学生,共享相同的老师和教学节奏。

他们之间是相关的,不是独立的。

但普通OLS回归有一个前提假设:残差之间相互独立。一旦数据存在嵌套结构,这个假设就被打破了。强行用OLS,后果是:

  • 标准误被低估:因为把相关观测当成了独立观测,样本量被"虚增"了;
  • 显著性虚高:本来不显著的结果,p值看起来很小;
  • 系数估计有偏:群体层面的效应和个体层面的效应混在一起,产生混淆。

这最后一条,正是"辛普森悖论"能在回归中出现的根源之一——汇总数据时看到的趋势,在分组之后完全反转。

03三种常见的"结构陷阱"

1. 嵌套结构(层次结构)

学生嵌套在班级里,员工嵌套在部门里,患者嵌套在医院里。这类数据需要用“多层线性模型(HLM / 混合效应模型)”来处理,明确区分组内效应和组间效应。

2. 面板结构(纵向重复测量)

同一个体在不同时间点被反复测量。比如追踪同一批患者三年的血压变化。这时个体内部的观测是相关的,需要用固定效应模型或随机效应模型,否则会把个体差异误认为处理效果。

3. 空间/网络结构

相邻地区的经济数据、社交网络中互相认识的个体——他们的残差存在空间自相关。忽略这一点,会让模型以为自己发现了规律,其实只是在拟合地理上的聚集性。

04“数据结构”是分析的起点

很多研究者的习惯是:先跑回归,结果不好看再回头找原因。这个顺序是反的。正确的顺序是:数据从哪里来,怎么来的,就决定了应该用什么模型。

  • 数据是横截面还是纵向的?
  • 有没有嵌套关系?
  • 抽样是不是分层的?
  • 个体之间有没有网络连接?

这些问题,在打开SPSS或Python之前就应该想清楚。数据结构是分析框架的地基,地基不对,楼盖得越高越危险。

05一个检查数据结构的清单(请收藏)

在跑回归之前,问自己这几个问题:

  1. 我的观测单位是什么?(个人、班级、机构、地区?)
  2. 这些观测单位之间有没有自然的分组或嵌套?
  3. 我有没有对同一对象进行多次测量?
  4. 数据的收集方式是简单随机抽样,还是分层/整群抽样?
  5. 我的结果变量是连续的、二分的,还是计数的?

把这五个问题回答清楚,你就已经避开了大多数初学者会踩的坑。

最后说一句

统计软件越来越强大,操作越来越简单,但这恰恰让"数据结构"这件事更容易被忽视——因为软件不会提醒你,它只会给你一个结果。