Вы можете нормализовать значения pk, чтобы избежать ошибки.Это «заставит» сумму вероятностей быть равной 1.
До:
from scipy import stats
xk = np.arange(7)
pk = (0.1, 0.2, 0.3, 0.1, 0.1, 0.0, 0.19)
custm = stats.rv_discrete(name='custm', values=(xk, pk))
Ошибка: ValueError: Сумма предоставленного pk не равна 1.
После:
from scipy import stats
xk = np.arange(7)
pk = (0.1, 0.2, 0.3, 0.1, 0.1, 0.0, 0.19)
pk_norm = tuple(p/sum(pk) for p in pk)
custm = stats.rv_discrete(name='custm', values=(xk, pk_norm))
Результат: ОК