我正在尝试对我的数据集使用实体固定面板回归。我有美国每个县 1971 年至 2020 年(每年)的横截面数据。我有两个索引:
STCTID
(县 ID)和 Date
。下面是我的数据集的样子:
除了日期索引之外,我还有
Year
列作为解释变量。下面是我使用 linearmodels
拟合面板回归的代码,我保留实体固定效果但没有时间效果:
from linearmodels import PanelOLS
formula1 = "Yld ~ Year + Prec + GDD + KDD + VPD + Irg +Irg*Prec
+ Irg*GDD + Irg*KDD + Irg*VPD + EntityEffects"
mod = PanelOLS.from_formula(formula1, data=df_all_semw)
panelOLS_res = mod.fit(cov_type="clustered", cluster_entity=True)
打印
panelOLS_res
给出有关回归系数和信息的详细信息。我发现奇怪的是,该模型在 Year
变量中给出了每年的回归系数。见下图:
Parameter Std. Err. T-stat P-value Lower CI Upper CI
GDD 0.0560 0.0028 20.148 0.0000 0.0505 0.0614
Irg 0.0008 0.0002 4.2808 0.0000 0.0005 0.0012
KDD -0.1646 0.0058 -28.269 0.0000 -0.1760 -0.1532
Prec -0.0006 0.0016 -0.3816 0.7028 -0.0037 0.0025
VPD -5.4312 1.4328 -3.7907 0.0002 -8.2395 -2.6228
Year[T.1971] 14.009 4.7535 2.9471 0.0032 4.6917 23.326
Year[T.1972] 20.115 4.9404 4.0715 0.0000 10.432 29.799
Year[T.1973] 20.867 5.0448 4.1364 0.0000 10.979 30.756
Year[T.1974] 6.5041 4.7447 1.3708 0.1704 -2.7959 15.804
Year[T.1975] 8.6791 5.0379 1.7228 0.0849 -1.1955 18.554
Year[T.1976] 14.602 4.8642 3.0020 0.0027 5.0683 24.136
Year[T.1977] 15.879 5.1194 3.1018 0.0019 5.8451 25.914
Year[T.1978] 28.605 4.9551 5.7728 0.0000 18.893 38.317
... and so on
我发现这是因为
Year
的数据类型是object
,当我将其更改为int
时,我没有得到每年的这些系数,但是R平方下降了。有人可以向我解释这背后的原因吗?目前的模型(每年都有系数)有问题吗?如果没有,我该如何向其他人解释?
如果您希望年份作为数值包含在方程中,即作为影响方程的数字,那么您应该将其设置为 int。