import numpy as np
from pprint import pprint
from crabbymetrics import Poisson
np.set_printoptions(precision=4, suppress=True)Poisson Example
This page mirrors examples/poisson_example.py.
1 Fit A Poisson Model
rng = np.random.default_rng(4)
n = 700
k = 2
beta = np.array([0.4, -0.6])
intercept = 0.2
x = rng.normal(size=(n, k))
logits = intercept + x @ beta
mu = np.exp(logits)
y = rng.poisson(mu).astype(float)
model = Poisson(alpha=0.0, max_iterations=200)
model.fit(x, y)
print("true intercept:", intercept)
print("true coef:", beta)
pprint(model.summary())2 Prediction surfaces
For Poisson, predict_lin() returns the log-mean index and predict() exponentiates back to the conditional mean.
check = x[:8]
out = {
"log_mu": model.predict_lin(check),
"mu": model.predict(check),
}
pprint(out)