Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.


I am trying to deconvolute the distribution $T(x)$ of a population's $x$ parameter into sub-distributions ($P(x)$, $Q(x)$, $R(x)$ ...), of which I don't know the form (only that they have different means). Even though my main goal is just to obtain the combination factors, this is clearly an underdetermined problem. However, I am taking an approach by which I obtain a second distribution $T'(x)$ with the same combination of a new set of underlying distributions (now $P'(x)$, $Q'(x)$, $R'(x)$ ...) which are related to the original ones through a transformation ($P'(x) = f(P)$); with this I hope to have enough information in the system for a successful deconvolution.

This transformation $f$, however, depends nonlinearly on all the values of $P(x)$, making it complex to attempt a straightforward deconvolution. A detailed description of the data and transformation follows.

Actual data

Fig. 1, linked below, shows $T(x)$ as a probability distribution function. $T(x)$ is obtained as the distribution of a time-dependent parameter $x$, for discrete timesteps ($nsteps=3000$), for all elements of the system ($n=624$). $x$ is defined only in the $[0,1]$ range. Knowledge of the system lets me assume there are only two underlying sub-populations ($P(x)$ and $Q(x)$), but further applications might involve three or more.

Fig. 1 - T(x) and T'(x) (Sorry, not enough reputation for images yet.)

Superimposed in Fig. 1 is $T'(x)$. I obtained $T'(x)$ by scanning my time dependent data and averaging $x$ for each element every two consecutive time steps. The rationale behind this is that such an averaging will narrow each sub-distribution towards its mean, and from that there would be enough information in the system to infer $P(x)$ and $Q(x)$ ― as well as $P'(x)$ and $Q'(x)$ and the respective combination proportions. Noise is not important as it looks from Fig. 1 as I can easily measure thousands more time points.

I could conceptually average over many more consecutive steps for every element, thereby narrowing each distribution enough for easy discrimination. However, the elements in my sample switch back-and-forth between sub-populations with time, and a too wide averaging would tend to the mean of $T(x)$ instead of each subpopulations'.


The calculation of $P'(x)$ from $P(x)$ is not straightforward (or at least not as much as I expected from a simple averaging). Basically, $P'(x)$ is the combined probability of all the $(x_1,x_2)$ pairs that satisfy $\frac{x_1+x_2}{2}=x$.

$x$ is continuous, but if I have it binned, my (obviously Python-based) pseudo-code for this transformation is:

P'[domain_start:domain_end] = 0
for x1 from domain_start to domain_end:
    for x2 from x1 to domain_end:
        if not (x1+x2) % 2:   # Check for integer resulting bin
            if x1 != x2:
                P'[(x1+x2)/2] += P[x1]*P[x2]*2
                P'[x1] += P[x1]*P[x2]
        else:                   # Halfway between two bins. Assign half the probability to each.
            P'[(x1+x2+1)/2] += P[x1]*P[x2]
            P'[(x1+x2-1)/2] += P[x1]*P[x2]

This assumes uniform densities within each bin. I have checked the procedure with random data from a test distribution $Z(x)$ and it seems to be working fine (Fig. 2 - Test distribution Z(x), Z'(x) by sample averaging, and Z'(x) by algorithm).

Actual question

So my question is whether this is a feasible way to infer sub-population proportion and distribution. I would appreciate if you could point me to relevant deconvolution algorithms into which I could program the dependence of $P'(x)$ on $P(x)$. Or perhaps you could point me towards similar implementations of deconvolution (I don't exactly know how this approach is called, or even if it exists, and couldn't find relevant documentation).

And finally, this being my first post here, I ask for your patience regarding any sub-optimal aspects of my question.

share|improve this question
Since there was no response at all in a week, you may want to move this question to stats.stackexchange.com –  user53153 Jan 23 '13 at 14:12

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.