You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stata中基于截面数据的用户名层面OLS回归正确性确认求助

用户层面OLS回归的实现疑问

我手头有一份Reddit帖子的截面数据集,每行对应一条帖子,id变量对应用户名,不同用户的发帖数量存在差异。我的目标是用OLS回归,基于用户层面的协变量预测用户的平均情感值avg_sentiment——比如collective_action_prop这类指标,统计的是某个用户所有帖子中相关内容的提及占比。

我目前运行的OLS代码是:

regress avg_sentiment avg_response economic_demand_prop

但不确定当前的数据结构下,这样的代码是否正确实现了用户层面的OLS回归。以下是用dataex生成的样本数据:

* Example generated by -dataex-. For more info, type help dataex
clear
input float id double avg_sentiment float avg_response double economic_demand_prop
 1                 -1         1                  0                 1
 2                 -1         0                  0                 1
 3                  0         0                  0                 0
 4                  0         .                  0                 0
 4                  0         .                  0                 0
 5                  1         6                  0                 0

问题分析与修正方案

当前你的代码是直接在帖子层面执行回归,但你的目标是用户层面的分析——avg_sentiment、avg_response、economic_demand_prop均为用户级汇总指标,同一用户的多条帖子观测值是重复的用户数据,这会导致:

  • 人为扩大样本量,低估标准误,影响统计推断的准确性
  • 模型本质是对重复的用户观测值做回归,并非真正的用户层面分析

方案1:聚合到用户层面(推荐)

先将数据集压缩为用户级唯一观测,再执行回归:

  1. 保留每个用户的第一条观测(因用户级协变量对同一用户所有帖子一致):
bysort id: keep if _n == 1
  1. 运行OLS回归:
regress avg_sentiment avg_response economic_demand_prop

若需重新计算用户级指标,可直接用collapse生成用户层面数据集:

collapse (mean) avg_sentiment avg_response economic_demand_prop, by(id)
regress avg_sentiment avg_response economic_demand_prop

方案2:聚类标准误修正(不改变原始数据)

若需保留原始帖子级数据结构,可通过聚类标准误修正重复观测的偏差:

regress avg_sentiment avg_response economic_demand_prop, robust cluster(id)

该方法将同一用户的所有观测视为聚类组,调整标准误以解决重复观测导致的统计推断问题。

内容的提问来源于stack exchange,提问作者nesta1990

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 14:24:30