Suppose you have a sample of $n$ outcomes and for subject $i$ you observe $Y_{i1}$ and $Y_{i2}$, which are 'before' and 'after' measurements on subject $i$. You have a single continuous independent variable, $X_i$, observed for subject $i$ and would like to explain the before/after difference $D_{i} = Y_{i2}-Y_{i1}$ in terms of $X_i$ in something like a simple linear regression:

$$ D_i = \beta_{0} + \beta_{1} X_i + \varepsilon_i$$

The problem is that both $Y_{i1}$ and $Y_{i2}$ are left and right censored. In particular, both are such that if $Y_{i1} \leq a$, then $Y_{i1}$ is recorded as $a$. Similarly, if $Y_{i1} \geq b$, then $Y_{i1}$ is recorded as $b$. The same is true (with the same $a,b$) for $Y_{i2}$.

So far I've considered imputing the censored values of $Y_{i1},Y_{i2}$ by making a parametric assumption and replacing the censored values with $E(Y_{i1}|Y_{i1} \leq a)$ and $E(Y_{i1}|Y_{i1} \geq b)$ (and similarly for $Y_{i2}$) but this doesn't really help because you're just replacing one constant with another. I've also considered making a parametric assumption and simulating data, conditional on being outside of $(a,b)$, to impute the data. I'm not crazy about either of these ideas because neither takes into account the fact that the mean of $Y_{i1},Y_{i2}$ potentially depends on $X_i$.

If I can't find a good reference I'm probably going to just end up binning the data into ordinal categories and simply modeling the probabilities of switching categories after treatment (although I'm not crazy about this idea either).

Is there some relatively simple way for me to get estimates of $\beta_{0}, \beta_{1}$? Also, any references on this or a related problem would be appreciated.

  • $\begingroup$ (+1) For a well-posed and interesting question. (Did you mean to call $X_i$ a dependent or independent variable?) $\endgroup$
    – cardinal
    Feb 14, 2012 at 19:29

1 Answer 1


I would build a bivariate response model simultaneously for $Y_{i1}$ and $Y_{i2}$, introducing an underlying propensity $Y^*_{i1}$, $Y^*_{i2}$ such that $$Y_{i1}=\min(a,Y^*_{i1}), Y_{i2} = \max(b,Y^*_{i2}).$$ If $X_i$ is a treatment variable, then a version of your model is $$Y^*_{i2} = Y^*_{i1} + \beta_0 + \beta_1 X_i + \epsilon_i.$$

I think you use Stata, so you would want to look at cmp package that fits models of this kind. There might be some caveats, as Roodman talks about "fully observed" models there, in the sense that nothing depends on the latent variables $Y^*_1, Y^*_2$. You might have to change somewhat the model to make sure it is estimable.

  • $\begingroup$ $X_i$ is not the treatment variable, it is thought to be modify the treatment effect. The treatment takes place between observation of $Y_{i1}$ and $Y_{i2}$. How does that change your answer? $\endgroup$
    – Macro
    Feb 14, 2012 at 19:59
  • $\begingroup$ I guess the biggest question here, in terms of model specification, is whether $X_i$ enters the equation for $Y_{i2}$ only, or both $Y_{i1}$ and $Y_{i2}$. The former is of course easier to handle, and it looks like this is the case if $X_i$ is somehow associated with the treatment. $\endgroup$
    – StasK
    Feb 15, 2012 at 5:04
  • $\begingroup$ I think in the application it may be reasonable to say $X_i$ only affects $Y_{i2}$ which, of course, depends on $Y_{i1}$. I like the idea of thinking of it in terms of a latent variable data generating mechanism but I'm still not sure exactly how you specify this model. Also, are the $\min$ and $\max$ reversed in your first equation? Otherwise, I don't get why you specify it that way. $\endgroup$
    – Macro
    Feb 15, 2012 at 5:24
  • $\begingroup$ Right, I mixed the min and max up. Check out Roodman's paper, it explains the concept and implementation details. $\endgroup$
    – StasK
    Feb 15, 2012 at 15:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.