again / core /estimation /inference /likelihood.py
Beam2513's picture
Upload 127 files
798602c verified
# stats/inference/likelihood.py
import numpy as np
def relative_log_likelihood(
*,
data,
mu,
sigma,
sigma_hat,
):
"""
Relative log-likelihood for Normal model.
ℓ(μ,σ) − ℓ(μ̂,σ̂)
"""
n = len(data)
xbar = np.mean(data)
return n * (
np.log(sigma_hat / sigma)
+ 0.5 * (
1
- (np.mean(data**2) - 2 * mu * xbar + mu**2) / sigma**2
)
)
def relative_likelihood(
*,
data,
mu,
sigma,
sigma_hat,
):
return np.exp(
relative_log_likelihood(
data=data,
mu=mu,
sigma=sigma,
sigma_hat=sigma_hat,
)
)