如何估计自回归模型 AR(2) 的残差,其中缺少 R 中数据帧的数据
How to estimate Residuals of Autoregressive Model AR(2)with missing data for dataframe in R
我想要estimate/acquire AR(2) 模型的残差。由于残差 = 实际值 - 拟合 value.I 有一个巨大的数据框,其中包含 4000 列(每列公司),时间序列。现在我想 运行 一个 AR(2) 模型并从 it.These 列中获取残差是每个公司的流动性度量。现在我需要转换为每家公司计算的流动性度量,以通过具有 2 个滞后的自回归模型进行转换,因此,第一个自相关是 removed.To 使用 AR(2) 转换每家公司的流动性度量以下等式中概述的过程,并使用残差进行后续分析。
其中,Ct i 是股票 i 在 t 月的流动性度量,x 是自回归过程中包含的滞后数,而 ut i 是股票 i 在 t 月的流动性残差。
我提供了一小部分数据如下。
DATE A B C D E F
31/12/1999 79.5 NA NA 6 NA NA
03/01/2000 79.5 NA NA 6 NA NA
04/01/2000 79.5 NA 325 6 961 3081.9
05/01/2000 79.5 NA 322.5 6 945 2524.7
06/01/2000 79.5 NA 327.5 6 952 3272.3
07/01/2000 79.5 NA 327.5 6 941 2102.9
10/01/2000 79.5 7 327.5 6 946 2901.5
11/01/2000 79.5 7 327.5 6 888 9442.5
12/01/2000 79.5 7 331.5 6 870 7865.8
13/01/2000 79.5 7 334 6 853 7742.1
我从统计数据包中找到了如下代码。你能帮忙指定这个代码吗,所以,它为每一列(日期除外)设置 运行s,并在延迟为 2 的情况下处理缺失值。
ar(x, aic = TRUE, order.max = NULL,
method = c("yule-walker", "burg", "ols", "mle", "yw"),
na.action, series, ...)
假设您的数据被称为 df
您可以为每一列添加 AR(2) 模型的残差,如下所示:
df <- data.frame(df, apply(df[-1], 2, function(x) arima(x, order = c(2,0,0))$res))
df
Date Company1 Company2 Company1.1 Company2.1
1 Jan-2000 0.05365700 0.01821019 -0.036876374 0.0006985845
2 Feb-2000 0.07201239 0.01680506 -0.001093970 -0.0005063298
3 Mar-2000 0.08740745 0.01924687 -0.003796628 0.0017217050
4 Apr-2000 0.10866274 0.01792439 0.010745400 0.0007815183
5 May-2000 0.14189171 0.01848372 0.032286719 0.0014418422
6 Jun-2000 0.15228030 0.01472494 0.023719800 -0.0024127538
7 Jul-2000 0.10231285 0.01634404 -0.025709302 -0.0016760248
8 Aug-2000 0.10838209 0.01919361 0.019162611 0.0009089139
9 Sep-2000 0.08358543 0.01624093 -0.022191184 -0.0010003877
10 Oct-2000 0.10907866 0.01768522 0.022780332 0.0001924767
编辑代码:
df <- data.frame(df, apply(df[-1], 2, function(x) arima(x[!is.na(x)], order = c(2,0,0), method = "ML")$res))
我想要estimate/acquire AR(2) 模型的残差。由于残差 = 实际值 - 拟合 value.I 有一个巨大的数据框,其中包含 4000 列(每列公司),时间序列。现在我想 运行 一个 AR(2) 模型并从 it.These 列中获取残差是每个公司的流动性度量。现在我需要转换为每家公司计算的流动性度量,以通过具有 2 个滞后的自回归模型进行转换,因此,第一个自相关是 removed.To 使用 AR(2) 转换每家公司的流动性度量以下等式中概述的过程,并使用残差进行后续分析。
其中,Ct i 是股票 i 在 t 月的流动性度量,x 是自回归过程中包含的滞后数,而 ut i 是股票 i 在 t 月的流动性残差。 我提供了一小部分数据如下。
DATE A B C D E F
31/12/1999 79.5 NA NA 6 NA NA
03/01/2000 79.5 NA NA 6 NA NA
04/01/2000 79.5 NA 325 6 961 3081.9
05/01/2000 79.5 NA 322.5 6 945 2524.7
06/01/2000 79.5 NA 327.5 6 952 3272.3
07/01/2000 79.5 NA 327.5 6 941 2102.9
10/01/2000 79.5 7 327.5 6 946 2901.5
11/01/2000 79.5 7 327.5 6 888 9442.5
12/01/2000 79.5 7 331.5 6 870 7865.8
13/01/2000 79.5 7 334 6 853 7742.1
我从统计数据包中找到了如下代码。你能帮忙指定这个代码吗,所以,它为每一列(日期除外)设置 运行s,并在延迟为 2 的情况下处理缺失值。
ar(x, aic = TRUE, order.max = NULL,
method = c("yule-walker", "burg", "ols", "mle", "yw"),
na.action, series, ...)
假设您的数据被称为 df
您可以为每一列添加 AR(2) 模型的残差,如下所示:
df <- data.frame(df, apply(df[-1], 2, function(x) arima(x, order = c(2,0,0))$res))
df
Date Company1 Company2 Company1.1 Company2.1
1 Jan-2000 0.05365700 0.01821019 -0.036876374 0.0006985845
2 Feb-2000 0.07201239 0.01680506 -0.001093970 -0.0005063298
3 Mar-2000 0.08740745 0.01924687 -0.003796628 0.0017217050
4 Apr-2000 0.10866274 0.01792439 0.010745400 0.0007815183
5 May-2000 0.14189171 0.01848372 0.032286719 0.0014418422
6 Jun-2000 0.15228030 0.01472494 0.023719800 -0.0024127538
7 Jul-2000 0.10231285 0.01634404 -0.025709302 -0.0016760248
8 Aug-2000 0.10838209 0.01919361 0.019162611 0.0009089139
9 Sep-2000 0.08358543 0.01624093 -0.022191184 -0.0010003877
10 Oct-2000 0.10907866 0.01768522 0.022780332 0.0001924767
编辑代码:
df <- data.frame(df, apply(df[-1], 2, function(x) arima(x[!is.na(x)], order = c(2,0,0), method = "ML")$res))