[SciPy-user] Iterative proportional fitting

Robert Kern robert.kern at gmail.com
Thu Jan 8 22:32:37 EST 2009


On Thu, Jan 8, 2009 at 21:04, Dorian <wizzard028wise at gmail.com> wrote:
>
> Hi  Kern ,  James
>
> I look at closely the "Maximum entropy method " and "NORTA method" , they correspond exactly
> to what I'm looking for to start thinking deeply about the problem of approaching likely the density
> function which will  correspond to a given marginal densities functions.

I think NORTA may be adapted to your problem. NORTA is a method for
generating N-D random variates from a distribution characterized by N
marginal distributions and a correlation matrix. You sample from an
N-D normal distribution using a correlation matrix derived from the
target correlation matrix, then apply the inverse CDFs of the marginal
distributions. The magic is all in finding the right transformation of
the correlation matrix.

Instead of transforming randomly sampled points, you could instead
transform a grid. On that grid, you can find the values of the N-D CDF
of the corresponding NORTA normal distribution. Transforming the grid
locations back to your original space, the warped grid should now
correspond to the N-D CDF of the target joint distribution. Apply your
favorite interpolation scheme to evaluate the N-D CDF numerically on a
regular grid in the original space, and you should be able to evaluate
the PDF from that.

This will probably work okay for 2 dimensions, but it would be quite
challenging to do this for many more.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
 -- Umberto Eco



More information about the SciPy-User mailing list