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