*! version 1.2 2dec2025

Title

pzms_sim -- conducts Monte Carlo simulations to evaluate the placebo zone model selection algorithm proposed in Kettlewell & Siminski (forthcoming).

Syntax

pzms_sim
depvar runvar
[if] [in]
, maxbw(numlist) [options]

Required
maxbw(numlist) the set of maximum bandwidths considered for estimation

Optional
c(#) the cut-off threshold for the treatment

sims(#) the number of Monte Carlo simulations to perform

pzms_opts(string) specify any other options available for pzms

cct_opts(string) specify any other options available for rdrobust

Description

pzms_sim is a companion program for pzms, which implements the placebo zone model selection algorithm for regression discontinuity (RDD)
and kink (RKD) designs proposed in Kettlewell & Siminski (forthcoming). The performance of the pzms algorithm is compared to the performance of AMSE minimizing bandwidth estimator, estimated using the user-written command rdrobust (the code in pzms_sim.ado can easily be modified to compare the outcomes of alternate model selection approaches). Each approach is compared according to the root mean squared error across simulated datasets that are designed to be similar to the true dataset. pzms_sim creates simulated versions of your dataset according to the approach outlined in Section 3.2 of Kettlewell & Siminski (forthcoming).

The program first fits a 5th order global polynomial through the support of the data, allowing a discontinuity and a kink at the threshold. Second, it
fits a beta distribution to the same data to summarize the distribution of the running variable. Then for each iteration of the simulation, the sample
size is set equal to the original sample. Randomly drawn values of the running variable are taken from the beta distribution. Finally, a simulated dependent
variable is set such that y = f(x) + e, where e is normally distributed with zero mean and variance equal to the variance of the residuals from the
regression in the first step.

Options

maxbw(numlist) the maximum bandwidths considered when comparing specifications throughout the placebo zone. You can select multiple maximum bandwidths to trial by specifying maxbw(# # # etc). pzms_sim wil assess the performance of each of the maximum bandwidths you input. This may be helpful for selecting an appropriate maximum bandwith for your application (e.g., by adopting a maximum bandwidth where the RMSE is low). There is no default.

c(#) the cut-off threshold for the treatment. The default is zero.

sims(#) the number of Monte Carlo simulations to perform. The default is 50.

pzms_opts(string) any options that are available in pzms can be speficied here.

pzms_opts(string) any options that are available in rdrobust can be speficied here.

Remarks

If you find any bugs, have questions, or want to provide feedback, please get in touch with us at Nathan.Kettlewell@uts.edu and Peter.Siminski@uts.edu.au.

Please read the pzms help file before using pzms_sim so that you understand the default options. If computation is slow, the collapse option might help.

Examples

Load example dataset.

. use pzms_example_data.dta, clear

Perform model comparison using default settings.

. pzms_sim y x, maxbw(0.99)

Now consider polynomials up to order 2 for pzms and increase the number of simulations.

. pzms_sim y x, maxbw(0.99) sims(100) pzms_opts(p(2))

Now also consider a few different maximum bandwidths.

. pzms_sim y x, maxbw(0.33 0.66 0.99 1.32) sims(100) pzms_opts(p(2))

Stored results

Scalars

e(cct_rmse) the RMSE (across simulations) of the treatment effect estimates generated by the rdrobust command

e(cct_bw) the mean (across simulations) bandwidth of the estimator selected by the rdrobust command

Matrices

e(pzms_rmse) stores the RMSE (across simulations) of the treatment effect estimates, and the mean (across simulations) bandwidth of the estimator, selected using the cmd:pzms} command, for each maximum bandwidth in maxbw(numlist)

References

Kettlewell N. & Siminski P (forthcoming). Placebo Zones in Discontinuity-Based Designs: Estimation, Inference, and Implementation, Economic Inquiry

Authors

Nathan Kettlewell, Economics Discipline Group, University of Technology Sydney: email: Nathan.Kettlewell@uts.edu.au

Peter Siminski, Economics Discipline Group, University of Technology Sydney: email: Peter.Siminski@uts.edu.au