OK. I got it !
Doing the tranformations to the original dataset CANTIDAD and DIA as:
y_simple = mx_en[‘tipo_movimiento’]
x_n1 = ‘CANTIDAD’
x_0 = mx_ex[x_n1].values
x_c = (x_0 - x_0.mean()) / (2 * x_0.std())x_n2 = ‘DIA’
x_1 = mx_ex[x_n2].values
x_d = (x_1 - x_1.mean()) / (2 * x_1.std())
I have no divergences with this model:
with pm.Model() as model_simple:
Intercept = pm.Flat('Intercept') b1 = pm.Normal('β1', mu=0, sd=10) b2 = pm.Normal('β2', mu=0, sd=10) theta = pm.math.sigmoid( Intercept + b1 * x_d + b2 * x_c) y_1 = pm.Bernoulli('y_1', p=theta, observed=y_simple) trace_simple = pm.sample(500, chains=2, tune=500, init='adapt_diag', cores=1, target_accept=0.9)
The only thing that makes me be not 100% happy is because I get some hight weights…:
