Estimating mean and st dev of a truncated gaussian curve without spike Suppose I have a black box that generates data following a normal distribution with mean m and standard deviation s. Suppose, however, that whenever it outputs a value < 0 it does not record anything (can't even tell that it's outputted such a value). We have a truncated gaussian distribution without a spike.
How can I estimate these parameters?
 A: The model for your data would be:
$y_i \sim N(\mu,\sigma^2) I(y_i > 0)$
Thus, the density function is:
$$f(y_i|-) = \frac{exp(-\frac{(y_i-\mu)^2}{2 \sigma^2})}{\sqrt{2 \pi \sigma}\ (1 - \phi(-\frac{\mu}{\sigma}))}$$
where,
$\phi(.)$ is the standard normal cdf.
You can then estimate the parameters $\mu$ and $\sigma$ using either maximum likelihood or bayesian methods.
A: As Srikant Vadali has suggested, Cohen and Hald solved this problem using ML (with a Newton-Raphson root finder) around 1950.  Another paper is Max Halperin's "Estimation in the Truncated Normal Distribution" available on JSTOR (for those with access).  Googling "truncated gaussian estimation" produces lots of useful-looking hits.

Details are provided in a thread that generalizes this question (to truncated distributions generally).  See Maximum likelihood estimators for a truncated distribution.  It might also be of interest to compare the Maximum Likelihood estimators to the Maximum Entropy solution given (with code) at Max Entropy Solver in R.
A: With having a technical border TB for $a=0$ a simplified approach by H. Schneider is very usefull to calculate the mean $\mu_t$ and standard deviation $\sigma_t$ of the truncated normal distribution:


*

*calculate the mean $\mu$ and the standard deviation $\sigma$ (entire population!) for the data set:
$\mu = \bar{x}= \frac{1}{n} \sum_{i=1}^{n}x_i$
$\sigma = s = \sqrt{\frac{1}{n} \sum_{i=1}^{n}(x_i-\bar{x})^2}$

*check if the technical border $TB=a=0$ has a valid distance to the average $\bar{x}$:
consideration of $TB = a$ is not necessary when $\bar{x} \le 3s$

*calculate $\omega, P_3(\omega), P_4(\omega)$ and $Q(\omega)$:
$\omega = \frac{s^2}{(a-\bar{x})^2}$
$P_3(\omega) = 1+5,74050101\omega - 13,53427037\omega^2 + 6,88665552\omega^3$
$P_4(\omega) = -0,00374615 + 0,17462558\omega - 2,87168509\omega^2 + 17,48932655\omega^3 - 11,91716546\omega^4$
$Q(\omega) = \frac{P_4(\omega)}{P_3(\omega)}$

*check if $\omega \le 0,57081$, otherwise the mean $\mu_t$ is $<0$ which is not useful technically

*calculate $\mu_t$ and $\sigma_t$ for the truncated normal distribution:
$\mu_t = \bar{x} + Q(\omega) \cdot (a-\bar{x})$
$\sigma_{t}^{2} = s^2 + Q(\omega) \cdot (a-\bar{x})^2$
That's all...
