I would like to fit a 3-parameter logistic function of the following form to my (pi, xi) data:

Example of data:

xi = np.array([-0.5 , -0.12, -0.06, 0., 0.06, 0.12, 0.5])

pi = np.array([0. , 0.05556, 0.27778, 0.5 , 0.77778, 0.91667, 0.97222])

As a starting point, I would like to fit this function using maximum likelihood. I understand I need to put flat priors on each parameter, but I am sure of the likelihood function and how to implement it within pymc3. I would grateful if somebody could help me.