The TransportMap support team will be happy to help you out with questions ranging from theory on transport maps, to the installation and usage of the software TransportMaps.

constructing transport map from given samples and use it to get/samples from standard normal

0 votes

Hello

I want to construct  a map from given samples ( from unknown distrubution) that has standard normal distribution as target distribution so that I can get standard normal samples when samples from unknown distribution are  plugged into the map.

I followed the tutorial example: Inverse transport from samples,  where samples from Gumbel distribution  are used to construct the map:Gumbel to Standard normal. However in the code, I could not understand  in the following block  ( where map is constructed):

####################################################

S = TM.Default_IsotropicIntegratedSquaredTriangularTransportMap(
    1, 3, 'total')
rho = DIST.StandardNormalDistribution(1)
push_L_pi = DIST.PushForwardTransportMapDistribution(L, pi)
push_SL_pi = DIST.PushForwardTransportMapDistribution(
    S, push_L_pi)
qtype = 0      # Monte-Carlo quadratures from pi
qparams = 500  # Number of MC points
reg = None     # No regularization
tol = 1e-3     # Optimization tolerance
ders = 2       # Use gradient and Hessian
log = push_SL_pi.minimize_kl_divergence(
    rho, qtype=qtype, qparams=qparams, regularization=reg,
    tol=tol, ders=ders)
#########################################################
specifically the line  
"push_L_pi = DIST.PushForwardTransportMapDistribution(L, pi)".
Here we are explicitly specifying the "Gumbel distribution" ,defined by pi, instead of the samples, arent we supposed to not know the distribution in the first place ( instead we only have samples, like the situation that I have i.e. only samples without having any knowledge about its distribution)

Could you kindly clear my misunderstanding,if possible with an example code.  I would be very grateful

thanks

saad 
asked Jul 23, 2019 in theory by saad (2 points)

1 Answer

0 votes

Hi Saad, your question got cut out for some reasons, but I imagine you are referring to the rescaling done by the map \(L\), which (practically) takes the original sample and scales it to get a mean 0 and variance 0 sample. This is done because the map \(S\) is going to use polynomials orthogonal with respect ot \(N(0,1)\), which implies that they are mostly "accurate" on the bulk of \(N(0,1)\).

This question is similar to the issue described here

I hope this helps,

 Daniele

answered Jul 23, 2019 by dabi (307 points)
...