'Estimate loc and scale parameters from data using 1st and 2nd moments.
Parameters
data : array_like
Data to fit.
arg1, arg2, arg3,... : array_like
The shape parameter(s) for the distribution (see docstring of the
instance object for more information).
Returns
Lhat : float
Estimated location parameter for the data.
Shat : float
Estimated scale parameter for the data.'

def fit_loc_scale(self, data, *args):

    (mu, mu2) = self.stats(*args, **{'moments': 'mv'})
    tmp = asarray(data)
    muhat = tmp.mean()
    mu2hat = tmp.var()
    Shat = sqrt((mu2hat / mu2))
    Lhat = (muhat - (Shat * mu))
    if (not np.isfinite(Lhat)):
        Lhat = 0
    if (not (np.isfinite(Shat) and (0 < Shat))):
        Shat = 1
    return (Lhat, Shat)
