# Correcting for noise in gene expression data

I have a training set of RT-qPCR gene expression data (not run in triplicate) for a batch of samples with two phenotypes $A$ and $B$ on which I've trained a logistic regression classifier.

I also have another smaller set of samples which have been run twice as technical replicates on the qPCR machine in order to study the effect of qPCR noise on my classifier.

I have a particular cut-off probability $P$ for my logistic regression model, such that we must be at least $P$ confident to classify a test sample as $A$ (similarly for $B$), otherwise no classification is returned.

I would like to incorporate the effect of qPCR noise into my logistic classifier in order to return a more accurate classification probability for a particular test sample.

My model for the qPCR noise for a particular sample $i$ is given by

$$X_i\sim N(\mu_i, \sigma^2I).$$

The logit is then given by

$$t_i = \beta_0 + \beta^TX_i,$$

with distribution

$$t_i\sim N(\beta_0+\beta^T\mu_i, \sigma_t^2),$$

where $\sigma_t^2=\|\beta\|_2^2\sigma^2$.

Since $\mu_i$ is a nuisance parameter, we eliminate it by taking the difference of the two replicates for a particular sample

$$Z_i=t_i^{(1)} - t_i^{(2)}\sim N(0, 2\sigma_t^2).$$

We can then form the MLE of $\sigma_t^2$ by computing

$$\hat{\sigma}_t^2=\frac{1}{2N}\sum_{i=1}^NZ_i^2.$$

Therefore, for a particular test sample $x_i$, we compute the expected value of the logit-normal distribution with location $t_i$ and squared scale $\hat{\sigma}_t^2$

$$p_i=\int_0^1x\frac{1}{\sqrt{2\pi\hat{\sigma}_t^2}}\frac{1}{x(1-x)}e^{-\frac{(\text{logit}(x)-t_i)^2}{2\hat{\sigma}_t^2}}dx.$$

The resulting $p_i$ is then our corrected probability of phenotype $A$.

Is this a sensible way to achieve my stated goal?

Here is an example plot of the necessary correction with a squared scale of $2$,

The black line corresponds to a qPCR assay with no noise.

The violet line indicates the corrected probability.

For example, if the regression model says that a sample has a 75% chance of being phenotype $A$, then in the corrected model, this actually corresponds to only having about a 65% chance of being phenotype $A$.