【问题标题】:Fixed effect model with three indexes for out-of-sample predictions using plm in R在 R 中使用 plm 进行样本外预测的具有三个指标的固定效应模型
【发布时间】:2019-03-10 07:22:37
【问题描述】:

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

我有几年来关于从原籍国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 列来创建一个单独的索引变量,但我想将发送国家和接收国家的固定效果分开。

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

【问题讨论】:

  • 你为什么不把你的数据堆积起来(把你的国家合并成一个叫做国家的列)并创建一个新的列,其中包含目的地和出发地的级别来显示国家特征
  • @ShirinYavari 我怎样才能对从原籍国到目的地国的流量进行回归?

标签: r regression panel-data


【解决方案1】:

试试这个(就编码而言,你可以信任这个解决方案,但我不知道不同 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)

【讨论】:

  • 感谢您的建议,但我已经考虑过这样的事情。如果我使用这种方法,那么我只知道我拥有因变量的国家对的固定效应。我需要一个模型来计算所有来源国和目的地国(和年份)的单独固定效应,以便我可以使用这些模型来预测其他国家/地区之间的流量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 1970-01-01
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 2020-06-30
  • 2016-06-11
相关资源
最近更新 更多