doubleml.datasets.make_plr_CCDDHNR2018(n_obs=500, dim_x=20, alpha=0.5, return_type='DoubleMLData', **kwargs)

Generates data from a partially linear regression model used in Chernozhukov et al. (2018) for Figure 1. The data generating process is defined as

\[ \begin{align}\begin{aligned}d_i &= m_0(x_i) + s_1 v_i, & &v_i \sim \mathcal{N}(0,1),\\y_i &= \alpha d_i + g_0(x_i) + s_2 \zeta_i, & &\zeta_i \sim \mathcal{N}(0,1),\end{aligned}\end{align} \]

with covariates \(x_i \sim \mathcal{N}(0, \Sigma)\), where \(\Sigma\) is a matrix with entries \(\Sigma_{kj} = 0.7^{|j-k|}\). The nuisance functions are given by

\[ \begin{align}\begin{aligned}m_0(x_i) &= a_0 x_{i,1} + a_1 \frac{\exp(x_{i,3})}{1+\exp(x_{i,3})},\\g_0(x_i) &= b_0 \frac{\exp(x_{i,1})}{1+\exp(x_{i,1})} + b_1 x_{i,3}.\end{aligned}\end{align} \]
  • n_obs – The number of observations to simulate.

  • dim_x – The number of covariates.

  • alpha – The value of the causal parameter.

  • return_type

    If 'DoubleMLData' or DoubleMLData, returns a DoubleMLData object.

    If 'DataFrame', 'pd.DataFrame' or pd.DataFrame, returns a pd.DataFrame.

    If 'array', 'np.ndarray', 'np.array' or np.ndarray, returns np.ndarray’s (x, y, d).

  • **kwargs – Additional keyword arguments to set non-default values for the parameters \(a_0=1\), \(a_1=0.25\), \(s_1=1\), \(b_0=1\), \(b_1=0.25\) or \(s_2=1\).


Chernozhukov, V., Chetverikov, D., Demirer, M., Duflo, E., Hansen, C., Newey, W. and Robins, J. (2018), Double/debiased machine learning for treatment and structural parameters. The Econometrics Journal, 21: C1-C68. doi:10.1111/ectj.12097.