DFMResult.common_component#

property DFMResult.common_component: NDArray[float64][source]#

The factors’ reconstruction of the panel, in original units.

\(\hat y_t = s \odot (\Lambda F_t) + \bar y\), shape (nobs, n_series); invariant to the rotation of the factor basis. Together with the de-standardized idiosyncratic it reproduces the panel exactly.

Example

>>> import numpy as np
>>> rng = np.random.default_rng(0)
>>> f = rng.standard_normal((150, 1))
>>> panel = f @ rng.standard_normal((1, 8)) + 0.5 * rng.standard_normal((150, 8))
>>> res = DFM(panel, order=1, n_factors=1).fit()
>>> common = res.common_component
>>> common.shape
(150, 8)
>>> rebuilt = common + res.idiosyncratic * res.scales
>>> bool(np.allclose(rebuilt, panel))
True