R:具有NA和多个因变量的时间序列回归

时间:2013-08-12 15:02:47

标签: r

我想运行时间序列回归,并将一系列因变量作为列。我想在一组自变量上回归每一列。我知道你可以使用

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函数会跳过每一行。

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

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

1 个答案:

答案 0 :(得分:0)

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

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