Skip to content

ALM Class

Augmented Linear Model with 24+ distributions.

Basic Usage

from polars_statistics import ALM

# Factory methods (recommended)
model = ALM.normal()
model = ALM.laplace()
model = ALM.student_t(df=5.0)
model = ALM.gamma()
model = ALM.poisson()

# Or direct construction
model = ALM(
    distribution="inverse_gaussian",
    link="inverse",
    with_intercept=True,
    compute_inference=True,
)

model.fit(X, y)

Factory Methods

ALM.normal()              # Normal distribution
ALM.laplace()             # Laplace (robust to outliers)
ALM.student_t(df=5.0)     # Student's t (heavy tails)
ALM.logistic()            # Logistic distribution
ALM.gamma()               # Gamma (positive continuous)
ALM.poisson()             # Poisson (count data)
ALM.negative_binomial()   # Negative binomial (overdispersed counts)
ALM.lognormal()           # Log-normal (positive continuous)
ALM.beta()                # Beta (bounded 0-1)
ALM.exponential()         # Exponential (positive continuous)
ALM.inverse_gaussian()    # Inverse Gaussian

Properties

model.coefficients      # np.ndarray
model.intercept         # float or None
model.log_likelihood    # float
model.aic               # float
model.bic               # float
model.std_errors        # np.ndarray (if compute_inference=True)
model.p_values          # np.ndarray (if compute_inference=True)

Example

import numpy as np
from polars_statistics import ALM

# Generate data
np.random.seed(42)
X = np.random.randn(100, 2)
y = 1 + 0.5 * X[:, 0] - 0.3 * X[:, 1] + np.random.laplace(0, 0.5, 100)

# Fit with Laplace distribution (robust to outliers)
model = ALM.laplace()
model.fit(X, y)

print(f"Intercept: {model.intercept:.3f}")
print(f"Coefficients: {model.coefficients}")
print(f"AIC: {model.aic:.2f}")
print(f"Log-likelihood: {model.log_likelihood:.2f}")

Supported Distributions

Category Distributions
Continuous normal, laplace, student_t, logistic
Positive lognormal, loglaplace, gamma, inverse_gaussian, exponential
Bounded (0,1) beta
Count poisson, negative_binomial, binomial, geometric

See Also