Skip to contents

Linear regression model of R_v on R_{v-1},...,R_{v-p}. (p=nrevs)

Usage

orthogonallyModel1(revisions.view, nrevs = 1, na.zero = FALSE)

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).

See also

`revision_analysis()`, `render_report()`

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