2

I am trying to take the data points from an array that currently range from 0 to 1 and remap them according to a few different distributions. For example, I am remapping the data to a decaying exponential (lambda * e^(-lambda * x)) with a standard deviation of .06 below.

# Import the packages I need
from pyDOE import lhs
from scipy.stats.distributions import norm
from scipy.stats.distributions import expon
import matplotlib.pyplot as plt

# CREATING THE LHC


n = 3                 # The number of parameters to generate. Columns
samples = 40          # The number of sample points for each parameter. Rows
criterion = 'maximin' # The spacing between pararameters. maximin for our purposes 

lhd = lhs(n, samples=samples, criterion=criterion) # Making the Latin-Hyper-Square

# print(lhd)            # Show the array
# plt.hist(lhd, bins=20)   # Plot the array

# Trying the transformation with exponentials
    
lhd1 = lhd  # Create an identical array so I can compare and contrast
mean = [0]
stdv = [.06]

for i in range(n):
    lhd1[:, i] = expon(loc=mean, scale=stdv).ppf(lhd1[:, i])


           
print(lhd1)           # Show the Transformed array   
plt.hist(lhd1,bins=20)  # Plot the array

I would like to do the same thing but for growing exponentials(lambda * e^(lambda * x)). Everything I can find online and in the documentation speaks about the decaying exponential probability distribution, but there is almost nothing about a positive exponential.

Can I just alter the "expon" distribution? Is there another distribution that I should be using instead? Any advice is welcome.

Cleb
  • 25,102
  • 20
  • 116
  • 151

0 Answers0