我想使用OLS和加权数据运行固定效果模型。
由于可能存在一些混淆,我的意思是说我使用过"固定效果"在这里,经济学家通常暗示,即在模型中的一个",或者换句话说,个人特定的影响。我实际拥有的是"多层次"数据,即个人观察,我想控制他们的原始地区(并有相应的聚类标准错误)。
示例数据:
library(multilevel)
data(bhr2000)
weight <- runif(length(bhr2000$GRP),min=1,max=10)
bhr2000 <- data.frame(bhr2000,weight)
head(bhr2000)
GRP AF06 AF07 AP12 AP17 AP33 AP34 AS14 AS15 AS16 AS17 AS28 HRS RELIG weight
1 1 2 2 2 4 3 3 3 3 5 5 3 12 2 6.647987
2 1 3 3 3 1 4 3 3 4 3 3 3 11 1 6.851675
3 1 4 4 4 4 3 4 4 4 2 3 4 12 3 8.202567
4 1 3 4 4 4 3 3 3 3 3 3 4 9 3 1.872407
5 1 3 4 4 4 4 4 3 4 2 4 4 9 3 4.526455
6 1 3 3 3 3 4 4 3 3 3 3 4 8 1 8.236978
我想估计的模型是:
AF06_ij = beta_0 + beta_1 AP34_ij + alpha_1 * (GRP == 1) + alpha_2 * (GRP==2) +... + e_ij
其中我指的是具体的个人,j指的是他们所属的群体。
此外,我希望通过weight
(抽样权重)加权观察。
但是,我希望得到&#34;聚类标准错误&#34;,以反映可能的GRP特异性异方差性。换句话说,E(e_ij)=0
但是Var(e_ij)=sigma_j^2
,其中sigma_j对于每个GRP
j可以是不同的。
如果我理解正确,nlme
和lme4
只能估计随机效应模型(或所谓的混合模型),而不是内在意义上的固定效应模型。
我尝试了包plm
,它看起来非常适合我想做的事情,但它不允许使用权重。还有其他想法吗?
答案 0 :(得分:2)
我认为这更像是一个堆栈交换问题,但除了模型权重的固定效果之外;你不应该使用OLS作为有序的分类响应变量。这是一种有序的逻辑建模分析类型。所以下面我使用你提供的数据来适应其中一个。
为了清楚起见,我们有一个有序的分类回复&#34; AF06&#34;和两个预测因子。第一个&#34; AP34&#34;也是一个有序的分类变量;第二个&#34; GRP&#34;是你的固定效果。因此,通常你可以通过将相关变量强制转换为RHS上的因子来创建一组固定效果...(我真的试图远离统计理论,因为这不是它的地方。因此,在我所说的一些事情中,我可能不准确。
以下代码使用polr(比例赔率逻辑回归)函数拟合有序逻辑模型。我试图在模型规范方面解释你的目标,但在一天结束时,OLS并不是正确的前进方向。对coefplot的调用将有一个非常拥挤的y轴我只是想提出一个非常基本的开始,你可能会如何解释这一点。我确实试图以更精确的方式将其可视化。回到解释......你将需要努力,但我认为这通常是正确的方法。我能想到的最好的资源是&#34;使用回归和多级/分层模型的数据分析&#34;的第5和第6章;由格尔曼和希尔。这是一个非常好的资源,所以我真的建议你阅读整篇文章并尝试掌握它,如果你对此类分析感兴趣的话。
library(multilevel) # To get the data
library(MASS) # To get the polr modeling function
library(arm) # To get the tools, insight and expertise of Andrew Gelman and his team
# The data
weight <- runif(length(bhr2000$GRP),min=1,max=10)
bhr2000 <- data.frame(bhr2000,weight)
head(bhr2000)
# The model
m <- polr(factor(AF06) ~ AP34 + factor(GRP),weights = weight, data = bhr2000, Hess=TRUE, method = "logistic")
summary(m)
coefplot(m,cex.var=.6) # from the arm package
答案 1 :(得分:0)
查看lfe包---它会执行经济风格的固定效果,您可以指定群集。