Initial evaluation failed in OrderedLogisticRegression and model.debug() exceptions

I continued to dig in and did a bit more research, my thinking is that it has something to do with the fact that 81 partitions is producing near 0 values for some of the cutpoints and there’s some kind of rounding issues?

Even declaring cutpoints directly with
cutpoints = np.linspace(all_possible_points.min(), all_possible_points.max(), K - 1) seemed to be causing the same issues. Model debug ran this time however and indicates that eta receives these values:
0: [1.38879439e-11 2.43382550e-11 6.69904046e-11 1.84389320e-10
5.07526737e-10 1.39695394e-09 3.84507884e-09 1.05834779e-08
2.91307423e-08 8.01815905e-08 2.20697645e-07 6.07463939e-07
1.67202465e-06 4.60217483e-06 1.26671460e-05 3.48643278e-05
9.59505883e-05 2.64006391e-04 7.25951142e-04 1.99272674e-03
5.44409078e-03 1.46821817e-02 3.82545146e-02 9.13255537e-02
1.78972492e-01 2.45683137e-01 2.12517008e-01 1.21923146e-01
5.41693168e-02 2.13091105e-02 7.97648150e-03 2.92994100e-03
1.06875182e-03 3.88854688e-04 1.41349579e-04 5.13635535e-05
1.86621774e-05 6.78032013e-06 2.46337796e-06 8.94971791e-07
3.25152213e-07 1.18130963e-07 4.29181162e-08 1.55925632e-08
5.66492753e-09 2.05812234e-09 7.47735429e-10 2.71659584e-10
9.86966064e-11 3.58573171e-11 1.30273570e-11 4.73288075e-12
1.71951342e-12 6.24833518e-13 2.26929586e-13 8.23785484e-14
2.99760217e-14 1.08801856e-14 3.99680289e-15 1.33226763e-15
6.66133815e-16 2.22044605e-16 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00],

Simplifying the model even further for debugging:

import numpy as np
import pymc as pm
from scipy.stats import randint

points = randint.rvs(0, 82, size=100)
hfa = randint.rvs(0, 2, size=100)

all_possible_points = np.arange(0,82)

K = len(all_possible_points)

with pm.Model() as model:
  cutpoints = np.linspace(all_possible_points.min(), all_possible_points.max(), K - 1)

  alpha = pm.Normal('alpha', mu=50, sigma=20)

  mu = alpha

  points_lik = pm.OrderedLogistic('points', cutpoints=cutpoints, eta=mu, observed=points)
    
  trace = pm.sample()

Ensuring that cutpoints after alpha are centered in the ranges and the model finally sampled, albeit with divergences. I don’t know where this leaves me though. When I iterate and make the model more appropriate again do I just have to be aware of the fact that I have to structure my priors to capture more of the values possible in points?