From 0481c0ca00c15cef21609ee064875ce981d7eda6 Mon Sep 17 00:00:00 2001 From: Yuval Rishu Sanders Date: Mon, 17 Mar 2014 14:23:34 -0400 Subject: [PATCH 1/3] Added LogNormalDistribution. --- src/qinfer/distributions.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/qinfer/distributions.py b/src/qinfer/distributions.py index 815b1da..50af73b 100644 --- a/src/qinfer/distributions.py +++ b/src/qinfer/distributions.py @@ -262,6 +262,20 @@ def sample(self, n=1): z = np.random.randn(n,self._n_rvs) return self._ranges[:, 0] +self._weight*z+np.random.rand(n)*self._ranges[:, 1]; +class LogNormalDistribution(Distribution): + def __init__(self, mu, sigma): + self.mu = mu + self.sigma = sigma + + self.dist = st.lognorm(sigma,0,mu) + + @property + def n_rvs(self): + return 1 + + def sample(self, n=1): + return self.dist.rvs(size=n)[:,np.newaxis] + class MVUniformDistribution(object): def __init__(self, dim = 6): From a38043352018daf20d387f36f65c21ad15a078a5 Mon Sep 17 00:00:00 2001 From: Yuval Rishu Sanders Date: Wed, 19 Mar 2014 11:35:59 -0400 Subject: [PATCH 2/3] Added docstring to LogNormalDistribution, and included default parameters of mu=0, sigma=1. --- src/qinfer/distributions.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/qinfer/distributions.py b/src/qinfer/distributions.py index 50af73b..fbd0e94 100644 --- a/src/qinfer/distributions.py +++ b/src/qinfer/distributions.py @@ -263,11 +263,19 @@ def sample(self, n=1): return self._ranges[:, 0] +self._weight*z+np.random.rand(n)*self._ranges[:, 1]; class LogNormalDistribution(Distribution): - def __init__(self, mu, sigma): - self.mu = mu - self.sigma = sigma + """ + Log-normal distribution. + + :param numeric mu: Location parameter, set to 0 by default. + :param numeric sigma: Scale parameter, set to 1 by default. + Must be strictly greater than zero. + """ + + def __init__(self, mu=0, sigma=1): + self.mu = mu # lognormal location parameter + self.sigma = sigma # lognormal scale parameter - self.dist = st.lognorm(sigma,0,mu) + self.dist = st.lognorm(sigma,0,mu) # scipy distribution location = 0 @property def n_rvs(self): From ffceb07136c73700f187ce399cae784a2166a0bf Mon Sep 17 00:00:00 2001 From: Yuval Rishu Sanders Date: Wed, 19 Mar 2014 12:11:11 -0400 Subject: [PATCH 3/3] Fixed docstring on LogNormalDistribution. --- src/qinfer/distributions.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qinfer/distributions.py b/src/qinfer/distributions.py index fbd0e94..dadf7fb 100644 --- a/src/qinfer/distributions.py +++ b/src/qinfer/distributions.py @@ -266,9 +266,9 @@ class LogNormalDistribution(Distribution): """ Log-normal distribution. - :param numeric mu: Location parameter, set to 0 by default. - :param numeric sigma: Scale parameter, set to 1 by default. - Must be strictly greater than zero. + :param mu: Location parameter (numeric), set to 0 by default. + :param sigma: Scale parameter (numeric), set to 1 by default. + Must be strictly greater than zero. """ def __init__(self, mu=0, sigma=1):