A Medium N Approach
November 27, 2024
\[ \begin{bmatrix} \bullet \\ \bullet \\ \bullet \end{bmatrix} \]
\[ \begin{bmatrix} \bullet & \bullet & \bullet \\ \bullet & \bullet & \bullet \\ \bullet & \bullet & \bullet \end{bmatrix} \]
Examples of matrix-valued data:
A standard Vector Autoregression (VAR) for vector-valued time series is \[ \mathbf{y}_t = \sum_{i=1}^p \mathbf{A}_i \mathbf{y}_{t-i} + \mathbf{e}_t, \] with \(\mathbf{A}_i \in \mathbb{R}^{N \times N}\) and \(\mathbf{y}_t \in \mathbb{R}^{N}\)
We assume \(\mathbf{A}_i\) has a reduced rank structure
\(\mathbf{A}_i\) is the product of two lower dimensional matrices, either \(\mathbf{B} \mathbf{C}_i'\) (SCCF) or \(\mathbf{B}_i \mathbf{C}'\) (Factor model), where \(\mathbf{B}, \mathbf{C} \in \mathbb{R}^{N \times r}\)
The short-run dynamics, or reactions to economic cycles, share a common driver
\[ y_{t, usa} - 2 y_{t, gbr} = e_{t, 1}^* \quad \text{and} \quad y_{t, can} - y_{t, gbr} = e_{t, 2}^* \]
\[ \mathbf{y}_t = \sum_{i=1}^p \mathbf{B}_i \textcolor{red}{\mathbf{C}'}\mathbf{y}_{t-i} + \mathbf{e}_t, \quad \mathbf{A}_i = \mathbf{B}_i \textcolor{red}{\mathbf{C}'} \]
For matrix-valued time series, we have the MAR(p) model \[ \mathbf{Y}_t = \sum_{i=1}^p \mathcal{A}_i \bar{\times}_2 \mathbf{Y}_{t-i} + \mathbf{E}_t, \] where \(\mathbf{Y}_t \in \mathbb{R}^{N_1 \times N_2}\), \(\mathcal{A}_i \in \mathbb{R}^{N_1 \times N_2 \times N_1 \times N_2}\), and \(\bar{\times}_2\) is the contraction along the second dimension
\[ \mathbf{Y}_t = \sum_{i=1}^p \mathcal{A}_i \bar{\times}_2 \mathbf{Y}_{t-i} + \mathbf{E}_t \]
We assume \(\mathcal{A}_i\) has a Tucker decomposition (Tucker 1966): \[ \mathcal{A}_i = \mathcal{G}_i \times_1 \mathbf{U}_{1} \times_2 \mathbf{U}_{2} \times_3 \mathbf{U}_{3} \times_4 \mathbf{U}_{4} \in \mathbb{R}^{N_1 \times N_2 \times N_1 \times N_2}, \] \[ \mathbf{U}_{1} \in \mathbb{R}^{N_1 \times r_1}, \quad \mathbf{U}_{2} \in \mathbb{R}^{N_2 \times r_2}, \] \[ \mathbf{U}_{3} \in \mathbb{R}^{N_1 \times r_3}, \quad \mathbf{U}_{4} \in \mathbb{R}^{N_2 \times r_4}, \] \[ \mathcal{G}_i \in \mathbb{R}^{r_1 \times r_2 \times r_3 \times r_4} \]
The Reduced Rank MAR(p) has an equivalent vectorized form, where \(\text{vec}(\mathbf{Y}_t) = \mathbf{y}_t \in \mathbb{R}^{N_1 N_2}\) and \(\text{mat}(\mathcal{A}_i) = \mathbf{A}_i \in \mathbb{R}^{N_1 N_2 \times N_1 N_2}\) \[ \mathbf{y}_t = \sum_{i=1}^p \underbrace{(\mathbf{U}_{2} \otimes \mathbf{U}_{1}) \mathbf{G}_{i} (\mathbf{U}_{4} \otimes \mathbf{U}_{3})'}_{\mathbf{A}_i} \mathbf{y}_{t-i} + \mathbf{e}_t \]
\(\text{rank}(\mathbf{A}_i) = \min (r_1 r_2, r_3 r_4)\)
Allows us to explore both SCCF and index model restrictions
\[ \mathbf{y}_t = \sum_{i=1}^p (\mathbf{U}_{2} \otimes \mathbf{U}_{1}) \mathbf{G}_{i} \textcolor{red}{(\mathbf{U}_{4} \otimes \mathbf{U}_{3})'} \mathbf{y}_{t-i} + \mathbf{e}_t \]
Can be rearranged as
\[ \mathbf{f}_t^{resp} = \sum_{i=1}^p \mathbf{G}_{i} \mathbf{f}_{t-i}^{pred} + \mathbf{e}_t^*, \] \[ \mathbf{f}_t^{resp} = (\mathbf{U}_{2} \otimes \mathbf{U}_1)' \mathbf{y}_t \in \mathbb{R}^{r_1 r_2}, \quad \mathbf{f}_{t-i}^{pred} = (\mathbf{U}_{4} \otimes \mathbf{U}_3)' \mathbf{y}_{t-i} \in \mathbb{R}^{r_3 r_4} \]
\[ \small \text{AIC}(r_1, r_2, r_3, r_4, p) = \ln(|\widehat{\Sigma}_{\mathbf{E}}|) + \frac{2}{T} \phi(r_1, r_2, r_3, r_4, p), \] \[ \small \text{BIC}(r_1, r_2, r_3, r_4, p) = \ln(|\widehat{\Sigma}_{\mathbf{E}}|) + \frac{\ln(T)}{T} \phi(r_1, r_2, r_3, r_4, p), \] where \[ \small \phi(r_1, r_2, r_3, r_4, p) = \prod_{i=1}^{4} r_i p + \sum_{i=1}^2 (r_i (N_i - r_i) + r_{2+i} (N_i - r_{2+i})), \] is the number of parameters in the model
Setting | \(N_1 \times N_2 = 3 \times 4\) |
---|---|
Fully Reduced | \(\mathbf{r} = (1,1,1,1)\) |
Partially Reduced (1st Dimension) | \(\mathbf{r} = (3,1,3,1)\) |
Partially Reduced (2nd Dimension) | \(\mathbf{r} = (1,4,1,4)\) |
No Rank Reduction | \(\mathbf{r} = (3,4,3,4)\) |
Method1 | Average Rank | Standard Deviation | Freq. Correct |
---|---|---|---|
AIC (100) | (1.42, 1.43, 1.54, 1.60) | (0.71, 0.81, 0.78, 1.01) | (0.71, 0.72, 0.64, 0.69) |
BIC (100) | (1.01, 1.00, 1.01, 1.00) | (0.12, 0.00, 0.11, 0.00) | (0.99, 1.00, 0.99, 1.00) |
AIC (500) | (1.35, 1.31, 1.42, 1.41) | (0.67, 0.72, 0.71, 0.87) | (0.76, 0.80, 0.71, 0.78) |
BIC (500) | (1.00, 1.00, 1.00, 1.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
Method | Average Rank | Standard Deviation | Freq. Correct |
---|---|---|---|
AIC (100) | (3.00, 1.04, 3.00, 1.11) | (0.00, 0.22, 0.00, 0.40) | (1.00, 0.96, 1.00, 0.91) |
BIC (100) | (3.00, 1.00, 3.00, 1.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
AIC (500) | (3.00, 1.01, 3.00, 1.04) | (0.00, 0.10, 0.00, 0.23) | (1.00, 0.99, 1.00, 0.96) |
BIC (500) | (3.00, 1.00, 3.00, 1.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
Method | Average Rank | Standard Deviation | Freq. Correct |
---|---|---|---|
AIC (100) | (1.01, 4.00, 1.05, 4.00) | (0.10, 0.00, 0.25, 0.00) | (0.99, 1.00, 0.96, 1.00) |
BIC (100) | (1.00, 4.00, 1.00, 4.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
AIC (500) | (1.00, 4.00, 1.02, 4.00) | (0.04, 0.00, 0.15, 0.00) | (0.99, 1.00, 0.98, 1.00) |
BIC (500) | (1.00, 4.00, 1.00, 4.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
Method | Average Rank | Standard Deviation | Freq. Correct |
---|---|---|---|
AIC (100) | (3.00, 4.00, 3.00, 4.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
BIC (100) | (3.00, 4.00, 3.00, 4.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
AIC (500) | (3.00, 4.00, 3.00, 4.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
BIC (500) | (3.00, 4.00, 3.00, 4.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
Indicator | |
---|---|
IR | 0.0001 |
GDP | 1 |
PROD | -0.3331 |
CPI | 0.1194 |
Country | |||||
---|---|---|---|---|---|
USA | -0.85 | -0.74 | -0.79 | -0.77 | |
CAN | 1.00 | 0.00 | 0.00 | 0.00 | |
DEU | 0.00 | 1.00 | 0.00 | 0.00 | |
FRA | 0.00 | 0.00 | 1.00 | 0.00 | |
GBR | 0.00 | 0.00 | 0.00 | 1.00 |
For any \(K\)-dimensional tensor \(\mathcal{Y} \in \mathbb{R}^{N_1 \times \dots \times N_K}\), denote its mode-\(k\) unfolding \(\mathbf{Y}_{(k)} \in \mathbb{R}^{N_k \times N_{-k}}\), with \(N_{-k}:= \prod_{i = 1, i \neq k}^K N_i\), as the matrix obtained by setting the \(k\)-th tensor mode as its rows and collapsing all the other dimensions into the columns. Specifically, the \((n_1, \dots, n_K)\)-th element of \(\mathcal{Y}\) is mapped to the \((n_k, j)\)-element of \(\mathbf{Y}_{(k)}\), where
\[ j = 1 + \sum_{\substack{l = 1,\\l \neq k}}^K (n_l - 1) J_l \quad \text{with} \quad J_l = \prod_{\substack{m = 1,\\m \neq k}}^{l - 1} N_m. \]
Let the frontal slices of a tensor \(\mathcal{X} \in \mathbb{R}^{3 \times 4 \times 2}\) be as follows \[ \scriptsize \begin{align*} \mathcal{X} = \left[ \begin{bmatrix} 1 & 4 & 7 & 10 \\ 2 & 5 & 8 & 11 \\ 3 & 6 & 9 & 12 \end{bmatrix}, \begin{bmatrix} 13 & 16 & 19 & 22 \\ 14 & 17 & 20 & 23 \\ 15 & 18 & 21 & 24 \end{bmatrix}\right] \end{align*} \] The three mode-\(n\) unfoldings are: \[ \scriptsize \begin{gather*} \mathbf{X}_{(1)} = \begin{bmatrix} 1 & 4 & 7 & 10 & 13 & 16 & 19 & 22 \\ 2 & 5 & 8 & 11 & 14 & 17 & 20 & 23 \\ 3 & 6 & 9 & 12 & 15 & 18 & 21 & 24 \end{bmatrix} \quad \mathbf{X}_{(2)} = \begin{bmatrix} 1 & 2 & 3 & 13 & 14 & 15 \\ 4 & 5 & 6 & 16 & 17 & 18 \\ 7 & 8 & 9 & 19 & 20 & 21 \\ 10 & 11 & 12 & 22 & 23 & 24 \end{bmatrix} \\ \mathbf{X}_{(3)} = \begin{bmatrix} 1 & 2 & 3 & 4 & 5 & \dots & 9 & 10 & 11 & 12 \\ 13 & 14 & 15 & 16 & 17 & \dots & 21 & 22 & 23 & 24 \end{bmatrix} \end{gather*} \] Back to main
The mode-n product between a tensor \(\mathcal{X} \in \mathbb{R}^{I_1 \times I_2 \times \dots \times I_N}\) and a matrix \(\mathbf{U} \in \mathbb{R}^{J \times I_n}\) is then denoted \[ \small \begin{align*} (\mathcal{X} \times_{n} \mathbf{U})_{i_1, \dots, i_{n-1}, j, i_{n+1}, \dots, i_N} = \sum_{i_n = 1}^{I_n} x_{i_1, i_2, \dots, i_N} u_{j, i_n} \in \mathbb{R}^{I_1 \times \dots \times I_{n-1} \times J \times I_{n+1} \times \dots \times I_N} \end{align*} \]
This can also be expressed in terms of unfolded tensors as \[ \begin{equation*} \small \mathcal{Y} = \mathcal{X} \times_{n} \mathbf{U} \quad \Leftrightarrow \quad \mathbf{Y}_{(n)} = \mathbf{U} \mathbf{X}_{(n)} \end{equation*} \]
Suppose we have \(\mathcal{X} \in \mathbb{R}^{I_1 \times \dots \times I_M}\) and \(\mathcal{Y} \in \mathbb{R}^{J_1 \times \dots \times J_N}\) with \(I_m = J_1\). The sequence of contracted products is denoted by \(\mathcal{X} \bar{\times}_{M} \mathcal{Y}\) and yields a \((M+N-2)\) order tensor \(\mathcal{Z} \in \mathbb{R}^{I_1 \times \dots \times I_{M-1} \times J_1 \times \dots \times J_{N-1}}\) with entries \[ \small \begin{align*} \mathcal{Z}_{i_1, \dots, I_{M-1}, j_2, \dots, j_N} = (\mathcal{X} \times_{M} \mathcal{Y})_{i_1, \dots, i_{M-1}, j_2, \dots, j_N} = \sum_{i_M = 1}^{I_M} \mathcal{X}_{i_1, \dots, i_{M-1}, i_M} \mathcal{Y}_{i_M, j_2, \dots, j_N} \end{align*} \] If we have a \(5 \times 4 \times 3 \times 2\) tensor \(\mathcal{A}\) and a \(3 \times 2\) matrix \(\mathbf{B}\), the sequence of contractions yields the matrix \[ \small \mathcal{A} \bar{\times}_2 \mathbf{B} = \mathbf{C} \in \mathbb{R}^{5 \times 4} \]
Method | Average Rank | Standard Deviation | Freq. Correct |
---|---|---|---|
AIC (100) | (1.25, 1.08, 1.25, 1.16) | (0.43, 0.38, 0.43, 0.85) | (0.75, 0.94, 0.75, 0.94) |
BIC (100) | (1.06, 1.00, 1.06, 1.00) | (0.24, 0.00, 0.24, 0.00) | (0.94, 1.00, 0.94, 1.00) |
AIC (500) | (1.18, 1.07, 1.19, 1.06) | (0.39, 0.30, 0.39, 0.29) | (0.82, 0.94, 0.81, 0.95) |
BIC (500) | (1.01, 1.00, 1.01, 1.00) | (0.09, 0.00, 0.09, 0.00) | (0.99, 1.00, 0.99, 1.00) |
Method | Average Rank | Standard Deviation | Freq. Correct |
---|---|---|---|
AIC (100) | (1.00, 8.97, 1.00, 8.97) | (0.00, 0.19, 0.04, 0.19) | (1.00, 0.97, 1.00, 0.98) |
BIC (100) | (1.00, 8.71, 1.00, 8.71) | (0.00, 0.65, 0.00, 0.65) | (1.00, 0.82, 1.00, 0.82) |
AIC (500) | (1.00, 9.00, 1.00, 9.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
BIC (500) | (1.00, 8.99, 1.00, 8.99) | (0.00, 0.09, 0.00, 0.09) | (1.00, 0.99, 1.00, 0.99) |
Method | Average Rank | Standard Deviation | Freq. Correct |
---|---|---|---|
AIC (100) | (2.00, 1.11, 2.00, 1.18) | (0.00, 0.43, 0.00, 0.81) | (1.00, 0.93, 1.00, 0.92) |
BIC (100) | (2.00, 1.00, 2.00, 1.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
AIC (500) | (2.00, 1.06, 2.00, 1.08) | (0.00, 0.31, 0.00, 0.36) | (1.00, 0.95, 1.00, 0.94) |
BIC (500) | (2.00, 1.00, 2.00, 1.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
Method | Average Rank | Standard Deviation | Freq. Correct |
---|---|---|---|
AIC (100) | (2.00, 9.00, 2.00, 9.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
BIC (100) | (2.00, 8.83, 2.00, 8.58) | (0.00, 0.38, 0.00, 0.65) | (1.00, 0.83, 1.00, 0.67) |
AIC (500) | (2.00, 9.00, 2.00, 9.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
BIC (500) | (2.00, 9.00, 2.00, 9.00) | (0.00, 0.00, 0.00, 0.00) | (1.00, 1.00, 1.00, 1.00) |
\[ \small \begin{flalign*} \widehat{\mathcal{A}} &= [[\widehat{\mathcal{G}}; \widehat{\mathbf{U}}_1, \widehat{\mathbf{U}}_2, \widehat{\mathbf{U}}_3, \widehat{\mathbf{U}}_4]] = && \end{flalign*} \] \[ \small \underset{\substack{\mathcal{G} \in \mathbb{R}^{r_1 \times r_2 \times r_3 \times r_4},\\ \mathbf{U}_{i} \in \mathbb{R}^{N_j \times r_i}}}{\arg\min} \left\{ \frac{1}{2T}\sum_{t=1}^T \|\text{vec}(\mathbf{Y}_t) - \left(\mathbf{U}_2 \otimes \mathbf{U}_1\right) \mathbf{G}_{[2]} \left( \mathbf{I}_p \otimes \mathbf{U}_4 \otimes \mathbf{U}_3\right)^\top \text{vec}(\mathcal{X}_{t})\|_F^2\right\}, \]