<p>You typically use the Kronecker product in multivariate models to write the system of equations in a more compact form and exploit the symmetry (if any) across equations to simplify the derivation of estimators of the parameters of interest.</p>
<p>For example in the VAR model you have:</p>
<p><span class="math-container">$ y_t = \Pi_0 + \Pi_1y_{t-1} +  \ldots + \Pi_py_{t-p} + u_t $</span></p>
<p>where <span class="math-container">$y_t$</span> and <span class="math-container">$\epsilon_t$</span> are <span class="math-container">$ n \times 1$</span> vectors and <span class="math-container">$u_t \sim \mathcal{N}(0,\Sigma)$</span> . You can write the system in compact form as:</p>
<p><span class="math-container">$Y = X\Pi + U $</span></p>
<p>where <span class="math-container">$Y$</span> and <span class="math-container">$U$</span> are <span class="math-container">$T \times n$</span> matrices, <span class="math-container">$\Pi$</span>  is <span class="math-container">$(np+1) \times n$</span> and <span class="math-container">$X$</span> is <span class="math-container">$T \times (np+1)$</span>.</p>
<p>If you vectorize the system you get:</p>
<p><span class="math-container">$vec(Y) = (I_n \otimes X) vec(\Pi) +  vec(U)$</span></p>
<p>This is basically a univariate linear regression model where <span class="math-container">$ vec(U) \sim \mathcal{N}(0,\Sigma \otimes I_T) $</span>.</p>
<p>You can exploit this expression to write the likelihood of the system derive the OLS (GLS) estimator for <span class="math-container">$vec(\Pi)$</span>, combine the likelihood with a prior for <span class="math-container">$vec(\Pi)$</span> that has variance with a Kronecker structure to obtain a posterior distribution that preserves a Kronecker structure for the variance, etc etc...</p>

CC BY-SA 4.0
2021-09-03T09:38:30.827Z
Thank you @Giorgetto. Very helpful :)
EB3112
CC BY-SA 4.0
2021-09-03T09:31:53.327Z
2021-09-03T09:31:53.327Z
Giorgetto
<p>The use of the Kronecker product is meaningful whenever its application simplifies notation and makes clearer what's going on. (Sorry for that tautology, but your question implied it, too.)</p>
<p>It's especially useful whenever there is a need to replicate a matrix structure as substructure of a bigger matrix, such as in partitions (as mentioned in the comment by Br.M).</p>
<p>One of the simplest examples might be
<span class="math-container">$$
\begin{pmatrix} 1  &amp; 0 \end{pmatrix} \otimes
\begin{pmatrix}
1 &amp; 0 &amp; 0\\
0 &amp; 1 &amp; 0 \\
0 &amp; 0 &amp; 1
\end{pmatrix} = \begin{pmatrix}
1 &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
0 &amp; 1 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
0 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 0
\end{pmatrix}
$$</span>
and
<span class="math-container">$$
\begin{pmatrix} 1  &amp; 1 \\ 1 &amp; 0 \end{pmatrix} \otimes
\begin{pmatrix}
1 &amp; 0 &amp; 0\\
0 &amp; 1 &amp; 0 \\
0 &amp; 0 &amp; 1
\end{pmatrix} = \begin{pmatrix}
1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; 0\\
0 &amp; 1 &amp; 0 &amp; 0 &amp; 1 &amp; 0\\
0 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 1\\
1 &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
0 &amp; 1 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
0 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 0
\end{pmatrix}
$$</span></p>
<p>An application example comes from <em>stacking</em> a VAR</p>
<p><span class="math-container">$$
y_t = A_1 y_{t-1} + \cdots + A_p y_{t-p} + u_t
$$</span></p>
<p>as
<span class="math-container">$$
Y = AZ + U
$$</span>
where <span class="math-container">$Y=[y_1, \cdots, y_T]$</span>, <span class="math-container">$U=[u_1, \cdots, u_T]$</span>, <span class="math-container">$Z = [Z_0, \cdots, Z_{T-1}]$</span>, with
<span class="math-container">$$Z_{t-1} = \begin{bmatrix} y_{t-1} \\ \vdots \\ y_{t-p}\end{bmatrix}$$</span></p>
<p>The coefficient matrix A is stacked horizontally: <span class="math-container">$A = [A_1:\cdots :A_p]$</span>.</p>
<p>The OLS estimator is
<span class="math-container">$$
\hat{A} = YZ'(ZZ')^{-1}
$$</span>
and distributed as
<span class="math-container">$$
\textrm{vec}(\hat{A}) \approx N(\textrm{vec}(A), (ZZ')^{-1}\otimes \Sigma_u) 
$$</span>
where <span class="math-container">$\Sigma_u$</span> is the variance-covariance matrix of <span class="math-container">$u$</span>. Note how the use of the Kronecker product both simplifies the notation and makes it clear how, exactly,  the covariance matrix <span class="math-container">$\Sigma_u$</span> comes into play.</p>

CC BY-SA 4.0
2021-09-03T07:09:51.050Z
Thanks @BrsG - really appreciate your feedback
EB3112
CC BY-SA 4.0
2021-09-03T09:22:18.910Z
Hi @BrsG. I guess my point was, in what setting would we expect it to find the larger matrix on the RHS, such that we can use the simplified LHS notation?
EB3112
CC BY-SA 4.0
2021-09-03T10:48:41.117Z
@EB3112: fair point. Example added.
BrsG
CC BY-SA 4.0
2021-09-03T11:37:22.420Z
Thank you again - really appreciate your help
EB3112
CC BY-SA 4.0
2021-09-02T17:10:16.780Z
2021-09-03T10:44:48.850Z
2021-09-03T10:44:48.850Z
BrsG
<p>I wondered if someone could explain the motivation for using a Kronecker product in econometrics.</p>
<p>I understand that if we had two matrices, A + B, then the Kronecker would take each element from A and multiply it by the matrix B (inclusive of all its elements).</p>
<p>Yet, I would appreciate if someone could help me identify instances in which it is meaningful to do so. And the motivation for doing so.</p>
<p>Would be appreciated.</p>

CC BY-SA 4.0
2021-09-02T16:44:00.270Z
The Kronecker produc is just a notation used to communicate a certain kind of operation in a compact way. From the back of my head, i know it's used to write the formulas for the sample and population covariance matrixes in Three Stages Least Squares. I suggest you check Hayashi's Econometrics for more examples, as the books dedicates an entire appendix to partitioned matrixes and the Kronecker product.
Br.M
CC BY-SA 4.0
2021-09-02T17:55:44.167Z
A classic example from econometrics is the two-way error component model ... see for example this brilliant post: https://stats.stackexchange.com/questions/458051/kronecker-product-for-two-way-error-component-model ... this post also includes an article with a lot of nice Kronecker product rules.
Jesper Hybel
CC BY-SA 4.0
2021-09-03T07:08:26.070Z
Thanks both - appreciate the feedback :)
EB3112
<econometrics><mathematical-economics>
Kronecker Product in Econometrics
EB3112
# Kronecker Product in Econometrics

(Asked by: username_0 on 2021-09-02)

I wondered if someone could explain the motivation for using a Kronecker product in econometrics.

I understand that if we had two matrices, A + B, then the Kronecker would take each element from A and multiply it by the matrix B (inclusive of all its elements).

Yet, I would appreciate if someone could help me identify instances in which it is meaningful to do so. And the motivation for doing so.

Would be appreciated.

**Tags:** econometrics, mathematical-economics

> **Comments:**
> **username_1**: The Kronecker produc is just a notation used to communicate a certain kind of operation in a compact way. From the back of my head, i know it's used to write the formulas for the sample and population covariance matrixes in Three Stages Least Squares. I suggest you check Hayashi's Econometrics for more examples, as the books dedicates an entire appendix to partitioned matrixes and the Kronecker product.  
> **username_2**: A classic example from econometrics is the two-way error component model ... see for example this brilliant post: https://stats.stackexchange.com/questions/458051/kronecker-product-for-two-way-error-component-model ... this post also includes an article with a lot of nice Kronecker product rules.  
> **username_0**: Thanks both - appreciate the feedback :)  

---

## 2 answers

### Answer by username_3 on 2021-09-03. Score: 1

You typically use the Kronecker product in multivariate models to write the system of equations in a more compact form and exploit the symmetry (if any) across equations to simplify the derivation of estimators of the parameters of interest.

For example in the VAR model you have:

$ y\_t = \Pi\_0 + \Pi\_1y\_{t-1} + \ldots + \Pi\_py\_{t-p} + u\_t $

where $y\_t$ and $\epsilon\_t$ are $ n \times 1$ vectors and $u\_t \sim \mathcal{N}(0,\Sigma)$ . You can write the system in compact form as:

$Y = X\Pi + U $

where $Y$ and $U$ are $T \times n$ matrices, $\Pi$ is $(np+1) \times n$ and $X$ is $T \times (np+1)$.

If you vectorize the system you get:

$vec(Y) = (I\_n \otimes X) vec(\Pi) + vec(U)$

This is basically a univariate linear regression model where $ vec(U) \sim \mathcal{N}(0,\Sigma \otimes I\_T) $.

You can exploit this expression to write the likelihood of the system derive the OLS (GLS) estimator for $vec(\Pi)$, combine the likelihood with a prior for $vec(\Pi)$ that has variance with a Kronecker structure to obtain a posterior distribution that preserves a Kronecker structure for the variance, etc etc...

> **Comments:**
> **username_0**: Thank you @username_3. Very helpful :)  

---

### Answer by username_4 on 2021-09-02. Score: 1

The use of the Kronecker product is meaningful whenever its application simplifies notation and makes clearer what's going on. (Sorry for that tautology, but your question implied it, too.)

It's especially useful whenever there is a need to replicate a matrix structure as substructure of a bigger matrix, such as in partitions (as mentioned in the comment by username_1).

One of the simplest examples might be
$$
\begin{pmatrix} 1 & 0 \end{pmatrix} \otimes
\begin{pmatrix}
1 & 0 & 0\\
0 & 1 & 0 \\
0 & 0 & 1
\end{pmatrix} = \begin{pmatrix}
1 & 0 & 0 & 0 & 0 & 0\\
0 & 1 & 0 & 0 & 0 & 0\\
0 & 0 & 1 & 0 & 0 & 0
\end{pmatrix}
$$
and
$$
\begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix} \otimes
\begin{pmatrix}
1 & 0 & 0\\
0 & 1 & 0 \\
0 & 0 & 1
\end{pmatrix} = \begin{pmatrix}
1 & 0 & 0 & 1 & 0 & 0\\
0 & 1 & 0 & 0 & 1 & 0\\
0 & 0 & 1 & 0 & 0 & 1\\
1 & 0 & 0 & 0 & 0 & 0\\
0 & 1 & 0 & 0 & 0 & 0\\
0 & 0 & 1 & 0 & 0 & 0
\end{pmatrix}
$$

An application example comes from *stacking* a VAR

$$
y\_t = A\_1 y\_{t-1} + \cdots + A\_p y\_{t-p} + u\_t
$$

as
$$
Y = AZ + U
$$
where $Y=[y\_1, \cdots, y\_T]$, $U=[u\_1, \cdots, u\_T]$, $Z = [Z\_0, \cdots, Z\_{T-1}]$, with
$$Z\_{t-1} = \begin{bmatrix} y\_{t-1} \\ \vdots \\ y\_{t-p}\end{bmatrix}$$

The coefficient matrix A is stacked horizontally: $A = [A\_1:\cdots :A\_p]$.

The OLS estimator is
$$
\hat{A} = YZ'(ZZ')^{-1}
$$
and distributed as
$$
\textrm{vec}(\hat{A}) \approx N(\textrm{vec}(A), (ZZ')^{-1}\otimes \Sigma\_u)
$$
where $\Sigma\_u$ is the variance-covariance matrix of $u$. Note how the use of the Kronecker product both simplifies the notation and makes it clear how, exactly, the covariance matrix $\Sigma\_u$ comes into play.

> **Comments:**
> **username_0**: Thanks @username_4 - really appreciate your feedback  
> **username_0**: Hi @username_4. I guess my point was, in what setting would we expect it to find the larger matrix on the RHS, such that we can use the simplified LHS notation?  
> **username_4**: @username_0: fair point. Example added.  
> **username_0**: Thank you again - really appreciate your help  

---

