moderndid.compute_identified_set_rm#
- moderndid.compute_identified_set_rm(m_bar, true_beta, l_vec, num_pre_periods, num_post_periods)[source]#
Compute identified set for \(\Delta^{RM}(\bar{M})\).
Computes the identified set by taking the union over all choices of reference period s and sign restrictions (+)/(-).
The identified set is computed based on the characterization in Lemma 2.1 of [2], and the decomposition of \(\Delta^{RM}(\bar{M})\) into a union of polyhedra as described in Section 2.4.1 and footnote 9 of [2]. The identified set for \(\Delta^{RM}(\bar{M})\) is the union of the identified sets for each component polyhedron, as stated in (7) of [2]
\[\mathcal{S}(\beta, \Delta^{RM}(\bar{M})) = \bigcup_{s<0, \text{sign} \in \{+,-\}} \mathcal{S}(\beta, \Delta^{RM}_{s, \text{sign}}(\bar{M})).\]For each fixed \((s, \text{sign})\), the bounds of the identified set \(\mathcal{S}(\beta, \Delta^{RM}_{s, \text{sign}}(\bar{M}))\) are obtained by solving the linear programs from Lemma 2.1
\[ \begin{align}\begin{aligned}\theta^{ub}(\beta, \Delta) = l'\beta_{post} - \min_{\delta} \{l'\delta_{post} \text{ s.t. } \delta \in \Delta, \delta_{pre} = \beta_{pre}\}\\\theta^{lb}(\beta, \Delta) = l'\beta_{post} - \max_{\delta} \{l'\delta_{post} \text{ s.t. } \delta \in \Delta, \delta_{pre} = \beta_{pre}\}\end{aligned}\end{align} \]The final identified set is the interval from the minimum lower bound to the maximum upper bound across all component polyhedra.
- Parameters:
- m_bar
float Relative magnitude parameter \(\bar{M}\). Controls how much larger post-treatment violations can be relative to pre-treatment violations.
- true_beta
numpy.ndarray True coefficient values \(\beta = (\beta_{pre}', \beta_{post}')'\).
- l_vec
numpy.ndarray Vector defining parameter of interest \(\theta = l'\tau_{post}\).
- num_pre_periods
int Number of pre-treatment periods \(\underline{T}\).
- num_post_periods
int Number of post-treatment periods \(\bar{T}\).
- m_bar
- Returns:
DeltaRMResultLower and upper bounds of the identified set.
References