0

我想以因变量列表为列运行时间序列回归。我想对一组自变量的每一列进行回归。我知道你可以使用

lm(dataframe~independent variables)

因为如果因变量是矩阵,那么它们只会遍历每一列。

但是,我的因变量是关于股票的信息,有时信息并非在每个时间点都适用于每只股票,所以我有一些 NA 值。我遇到的问题是,如果我使用lm,我必须省略 NA 值,即lm函数在运行回归时删除整行。如果我只想对一个因变量进行回归,这很好,但我有一个我想对其进行回归的因变量列表(1000+)。因为我的数据集只有 15 年以上,所以单个时间点的值缺失,所以当我运行 lm 回归时,我收到一个错误,因为 lm 函数在运行回归时删除了每一行。我能想到的解决这个问题的唯一方法是运行一个 for 循环并为每只股票运行一个单独的回归,我认为这需要很长时间来计算。例如,以下是我的数据示例:

              135081(P)   135084(P)    135090(P)   
1994-12-30           NA          NA           NA         
1995-01-02           NA          NA           NA          
1995-01-03     06864935          NA           NA        
1995-01-04           NA          NA  -0.05474644         
1995-01-05           NA          NA   0.20894900          
1995-01-06           NA -0.45672832  -0.02378632          

所以如果我对此进行时间序列回归,我会得到一个错误,因为 lm 函数会跳过每一行。

所以我的问题是,是否有另一种方法可以在具有不同因变量的数据帧中运行时间序列回归,其中回归仅针对一个特定的因变量“跳过”NA,而不是为每个其他因变量跳过它?

我不认为使用 na.omit 是正确的,因为它删除了我的数据集的时间序列属性,并且使用 na.action=NULL 不起作用,因为我的数据集中有 NA。非常感谢您的帮助。

4

1 回答 1

0

您可能希望使用多重插补方法,使用诸如 CRAN 上的 Amelia 2 包之类的东西,以便正确解释由于缺失而导致的估计不确定性增加,并帮助最大限度地减少因案例删除而导致的偏差。参见例如:

Honaker, J. 和 King, G. (2010)。如何处理时间序列横截面数据中的缺失值。美国政治学杂志,54(2):561-581。

于 2014-01-17T17:04:58.663 回答