Linear regression model of R_v on R_{v-1},...,R_{v-p}. (p=nrevs)
Arguments
- revisions.view
mts object. Vertical or diagonal view of the `get_revisions()` output
- nrevs
Integer. Number of lags to consider.
- na.zero
Boolean whether missing values should be considered as 0 or rather as data not (yet) available (the default).
Examples
## Simulated data
period_range <- seq(as.Date('2011-01-01'),as.Date('2020-10-01'),by='quarter')
qtr <- (as.numeric(substr(period_range,6,7))+2)/3
time_period <- rep(paste0(format(period_range, "%Y"), "Q", qtr),5)
np <- length(period_range)
rev_date <- c(rep("2021-06-30",np), rep("2021-12-31",np), rep("2022-06-30",np),
rep("2022-12-31",np), rep("2023-06-30",np))
set.seed(1)
xt <- cumsum(sample(rnorm(1000,0,1), np, TRUE))
rev <- rnorm(np*4,0,.1)
obs_values <- xt
for(i in 1:4) {
xt <- xt+rev[(1+(i-1)*np):(i*np)]
obs_values <- c(obs_values,xt)
}
df <- data.frame(rev_date, time_period, obs_values)
## Create vintage and test
vintages <- create_vintages(df, periodicity = 4)
revisions <- get_revisions(vintages, gap = 1)
orthogonallyModel1(revisions$diagonal_view)
#> N R2 F intercept.estimate intercept.stderr
#> [1,] 40 0.03414641 1.3434373 -0.01502902 0.01769005
#> [2,] 40 0.01248758 0.4805288 -0.02512668 0.01476059
#> [3,] 40 0.03583727 1.4124340 -0.02279074 0.01557162
#> intercept.pvalue x(1).estimate x(1).stderr x(1).pvalue skewness
#> [1,] 0.40088255 0.22683721 0.1957067 0.2536606 -0.2663346
#> [2,] 0.09687119 -0.09476903 0.1367120 0.4923983 0.1428890
#> [3,] 0.15152475 -0.19619317 0.1650820 0.2420273 -0.3799207
#> kurtosis JarqueBera.value JarqueBera.pvalue BreuschPagan.R2
#> [1,] -0.70594162 1.2708964 0.5296980 0.0008479461
#> [2,] 0.05980705 0.1385246 0.9330819 0.0127461791
#> [3,] 0.48908872 1.3269210 0.5150659 0.0759441218
#> BreuschPagan.value BreuschPagan.pvalue White.R2 White.value White.pvalue
#> [1,] 0.0322493 0.85843578 0.06507212 2.6028850 0.2721390
#> [2,] 0.4906082 0.48792282 0.01724923 0.6899692 0.7082313
#> [3,] 3.1230542 0.08522265 0.09138218 3.6552873 0.1607920
#> arch.R2 arch.value arch.pvalue
#> [1,] 1.675820e-03 0.06535699 0.79822100
#> [2,] 7.696581e-02 3.00166646 0.08317892
#> [3,] 8.745591e-05 0.00341078 0.95342851