/*---------------------------------------------------------------------------- The FORECASTING TENSOR yxf: Example Calculation for AR(3) - move back the diagonal and up after reaching column 0. yxf | h=0 h=1 h=2 ----------------------- t=0 | [1.0] 0.0 0.0 | \ \ t=1 | [2.0] 1.1 0.0 | \ \ t=2 | 3.0 [1.9] 0.9 | \ \ t=3 | 4.0 3.1 [2.1] | \ \ t=4 | 5.0 3.9 2.9 | \ \ t=4 | 6.0 5.1 2.9 yf(3, 2, 0) = a + rdot = a + b(0) * yxf(2, 1, 0) + b(1) * yxf(1, 0, 0) + b(2) * yxf(0, 0, 0) Each sheet represents a variable (n1 endogenous (y) and n2 exogenous (x)), e.g., endogenous: new_deaths, new_deaths^2 exogenous: icu_patients, hosp_patients, new_tests, people_vaccinated, people_vaccinated^2 TensorD: time x horizon x variable 170 4 7 Model: max lags per variable; selected lags per variable Note: 'a' is the constant term and rdot multiplies the parameter vector 'b' times elements in a diagonal in reverse. Also, the upper right triangle is unknowable unless back-casting is used. Column h = 0: zeroth horizon forecasts are the actual (e.g., today's known) values in the time series Column h = 1: horizon one forecasts are the one-step ahead (e.g., tomorrow's) forecasts Column h = 2: horizon two forecasts are the two-steps ahead (e.g., day after tomorrow's) forecasts Row time t = 3: yxf(3, 0, 0) = 4.0 = the actual value for day 3, yxf(3, 1, 0) = 3.1 = the one-step ahead forecast for day 3, made yesterday yxf(3, 2, 0) = 2.1 = the two-steps ahead forecast for day 3, made two days ago ----------------------------------------------------------------------------*/