具有三个索引的固定效应模型,用于在 R 中使用 plm 进行样本外预测



我不完全确定这属于这里还是统计,但我认为这更像是一个编程问题而不是统计问题。无论哪种方式,我都觉得我超出了我的头,所以它就在这里。

我有关于从原产国iso_o到目的地国的一些流动的面板数据,iso_d了好几年。作为自变量,我有具有原产国特征的变量,目的地国和有关原产国和目的地国之间关系的变量。我的数据如下所示:

set.seed(0)
iso_o <- LETTERS[rep(1:3, each = 3, times = 2)]
iso_d <- LETTERS[rep(1:3, times = 6)]
year <- rep(1990:1991, each = 9, times = 1)
relation <- runif(18, 0, 10)
x1_o <- runif(18, 0, 10)
x2_o <- runif(18, 0, 10)
x1_d <- runif(18, 0, 10)
x2_d <- runif(18, 0, 10)
flow <- rnorm(18, 10, 3)
df <- data.frame(iso_o, iso_d, year, relation, x1_o, x2_o, x1_d, x2_d, flow)
df <- df %>%
mutate(x1_o = if_else(iso_d == iso_o, x1_d, x1_o),
x2_o = if_else(iso_d == iso_o, x2_d, x1_o),
relation = if_else(iso_d == iso_o, 0, relation))

请忽略上面数据中的不一致之处,这只是一个例子。

实际上,我有更多的国家的自变量,我想根据我的样本使用它们来预测这些国家之间的流量。我期望预测中的年份与我的样本中的年份相同。对于他,我想使用带有plm函数的固定效应模型。问题是这个函数只允许一个"单个"索引变量,其中我有两个。当然,我可以组合iso_oiso_d列来创建单个索引变量,但我想将发送国和接收国的固定效果分开。

如何运行此固定效应回归?是否有可能进行我想要的样本外预测,或者我错过了什么?谢谢。

试试这个(就编码而言,你可以信任这个解决方案,但我不知道不同PLM模型之间的差异,所以你的问题最好在corssvalidated上解决(:

df <- transform(df, id=match(paste(df$iso_o,df$iso_d,sep="_"), unique(paste(df$iso_o,df$iso_d,sep="_")))) #create a column called id which assigns a unique id to the unique combinations of origin and destination countries
library(plm)
model <- plm(flow ~ retention+x1_o+x2_o+x1_d+x2_d,
data = df, index = c("id","year")) #set up your plm model 
summary(model)

最新更新