def fit_mle(self, data, k_agg0=0.5):
        """%(super)s

        In addition to data, gives an optional keyword argument k_agg0 that
        specifies the initial value of k_agg used in the optimization.

        """

        mu = np.mean(data)

        def mle(k):

            return -np.sum(np.log(self.pmf(data, mu, k)))

        k = optim.fmin(mle, x0=k_agg0, disp=0)

        return mu, k[0]