Truncated probit regression I have a particular situation. I would like to build a probit model to predict a given outcome $Y=\{0,1\}$ based on a set of predictors $X$.
A probit model has the form:
$$\text{Pr}(Y=1\,|\,X)=\Phi(X^T\beta)$$
where $\beta$ is a vector of coefficients estimated in the model. It can also be written as a latent variable model with an auxiliary variable
$$Y^{*}=X^T\beta+\epsilon$$
where $\epsilon\sim N(0,1)$. $Y$ is then viewed as an indicator for whether the latent variable is positive
$$Y=\begin{cases}
1,\quad\quad Y^{*}>0\\
0,\quad\quad \text{otherwise}
\end{cases}$$
Now, this is all fine. However, in my circumstances I have the assumption that there is some level of right truncation in the data I have. Thus, I was wondering if the following is a valid approach.
Let's say we fit our latent variable regression above using a simple linear model. From this, we would have estimates $\hat{\beta}$ and $\hat{\sigma}$ i.e. the coefficients and variance term of the fitted model.
Essentially, this gives us the mean and variance parameters of a Normal distribution. We can adjust these parameters for truncation as follows:
$$\begin{align}
\mathbb{E}[X \,|\,X < b] &= \mu_{a} - \sigma_{a} \frac{\phi(\alpha)}{\Phi(\alpha)}\notag\\
\text{Var}(X \,|\, X < b) &= \sigma_{a}^2\left( 1 - \alpha\frac{\phi(\alpha)}{\Phi(\alpha)} - \left(\frac{\phi(\alpha)}{\Phi(\alpha)}\right)^2 \right)
\end{align}$$
i.e. this gives us the true $(\mu_{a},\sigma_{a})$ of our Normal distribution after adjusting for truncation. The truncation level is $\alpha$. Note that in the case of right-truncation $\mu_{a}>X^{T}\beta$.
From here we can convert the probit as follows:
$$\begin{align}\text{Pr}(Y=1\,|\,X)&=\text{Pr}(Y^{*}>0)\notag\\
&=\text{Pr}(N(\mu_{a},\sigma_{a}^2)>0)\notag\\
&=\Phi\bigg(\frac{\mu_{a}}{\sigma_{a}}\bigg)\notag\\
&=\Phi\bigg(\frac{X^{T}\beta+c}{\sigma_{a}}\bigg)\notag
\end{align}$$
for some $c>0$.
Is the above reasoning correct?
Alternatively, the likelihood function for a probit model is:
$$\begin{align}
\ln\mathcal{L}(\beta)&=\sum_{i=1}^{n}\bigg(y_{i}\ln\Phi(x_{i}'\beta)+(1-y_{i})\ln\big(1-\Phi(x_{i}'\beta)\big)\bigg)
\end{align}$$
Where the right-truncated version would be:
$$\begin{align}
\ln\mathcal{L}(\beta)&=\sum_{i=1}^{n}\bigg(y_{i}\ln F_{\text{TN}}(x_{i}'\beta;\alpha)+(1-y_{i})\ln\big(1-F_{\text{TN}}(x_{i}'\beta;\alpha)\big)\bigg)
\end{align}$$
where $F_{\text{TN}}(x;\alpha)$ is the cumulative distribution function of the standard right-truncated Normal distribution. Maximizing (3) provides the estimates of the coefficients, $\hat{\beta}$.
Is this also correct?
 A: Here's my attempt to this problem. I hope this can answer your question.
It is easier to think of the the truncation problem for probit model as a latent variable model, i.e. 
$$Y_i=\begin{cases}
1, \quad Y_i^*>0\\
0, \quad Y_i \leq 0
\end{cases}$$
And the latent linear model:
$$ Y_i^*=X\beta+\epsilon_i,\quad \epsilon_i \sim i.i.d. \mathcal{N}(0,\sigma^2) $$
My thinking of the truncation is that, it is the latent variable that is being truncated, which obviously implies the truncation of the outcome variable. So the following pairs of data are not observable: $(Y_i, X_i)$ s.t. $Y^*_i>b$ with $b$ the truncation level. With this truncation, the original probit model becomes:
 $$Y_i=\begin{cases}
1, \quad 0<Y_i^*<b\\
0, \quad Y_i \leq 0
\end{cases}$$
Which implies that:
 $$Y_i=\begin{cases}
1, \quad -X_i'\beta<\epsilon_i<b-X_i'\beta\\
0, \quad \epsilon_i \leq -X_i'\beta
\end{cases}$$
Conditioning on $\epsilon_i<b-X_i\beta$, the distribution of $\epsilon_i$ is independent truncated normal with a heterogeneous truncation level that depends on the $X_i$s.
The log-likelihood function is relatively easy: 
$$ \ln \mathcal{L}(\beta, \sigma;Y_i)=\sum_{i=1}^N\Big( Y_i\ln P(-X_i'\beta<\epsilon_i<b-X_i'\beta)+(1-Y_i)\ln P(\epsilon_i\leq -X_i'\beta) \Big)$$
And note that for arbitrary $x$ an $y$ with $x<y<b-X_i'\beta$:
$$\ln P(x<\epsilon_i<y)=\ln(F(y)-F(x))= \ln( \Phi(y/\sigma)-\Phi(x/\sigma))-\ln(\Phi((b-X_i'\beta)/\sigma)) $$
Clearly it can be generalized to allow for truncation of $Y_i^*$ from both above and below. 
The problem with this approach though, is that you don't know the truncation level $b$ for the latent data, and you have to treat it as a parameter and estimate it. Unfortunately it is not identified as your data is not continuous. Some grid-search algorithms are needed to maximize this likelihood function, but conditioning on $b$, there shouldn't be a problem to maximize the likelihood at all.
