为了进行计量经济分析,我试图对巴西央行和一家政府研究机构提供的一些教育、健康和收入数据进行回归分析。Python、熊猫、状态模型和matplotlib是我在这个项目中使用最多的外部库。
数据的格式是多个表,行的年份和列的城市/州(有些文件有城市数据,有些文件有状态数据)。
按城市和年份分列的熊猫收入数据示例:
1200302 1200328 ... 1720937 1720978 1721000 1721109 1721208 \
1970 0.31 NaN ... NaN NaN NaN 0.20 0.28
1980 0.39 NaN ... NaN NaN NaN 0.45 0.57
1991 0.44 NaN ... NaN NaN 1.45 0.65 0.46 (顶部的每个数字都是一个城市代码-许多城市都有相同的名字。
对于州数据,每个州都有20-30年的测量年,而对于城市,在进行全国人口普查时,这些数据只能在3-4年内得到。
我想比较一下教育、卫生和收入方面的指标。所有指标都已选定,数据集被输入到熊猫的数据中,并被极小程度地清理。
如何在所有城市/州为多个自变量找到OLS或FE回归的R值?
现在,我的程序被配置为对两个州或两个城市运行线性OLS回归,每次运行一个自变量:
one = df1[col]
two = df2[[col,'const']].join(df3[col])
est = sm.OLS(one, two, missing='drop').fit()发布于 2017-06-19 00:50:03
这种不平衡面板数据的标准方法是将每个横截面单元的时间序列叠加起来,并为固定的效果创建虚拟变量。
为横截面单元创建固定的效果(即单位特定的拦截),需要一个带有州和城市的标签或ID的分类变量。然后,公式接口和patsy可以使用C(id)创建所需的虚拟变量。
然后利用最小二乘法对有限元模型进行估计。fit方法有一个cov_type选项,可以使用面板或集群健壮的标准错误来纠正横截面或相关性内的标准错误。
https://stackoverflow.com/questions/44620617
复制相似问题