maximum likelihood estimation python from scratch