R^2 and adjusted R^2 for linear models; McFadden pseudo-R^2,
deviance and Pearson chi-squared for logistic / Poisson; AIC,
BIC, log-likelihood, and the omnibus F-test for linear models.
Usage
compute_goodness_of_fit(
y,
y_hat,
X,
model_type = "linear",
log_likelihood = NULL
)
Arguments
- y
Response vector.
- y_hat
Fitted values.
- X
Design matrix.
- model_type
"linear", "logistic", "poisson".
- log_likelihood
Optional precomputed log-likelihood.
Value
A morie_goodness_of_fit list.
Examples
set.seed(11)
X <- cbind(1, matrix(rnorm(100 * 2), 100, 2))
y <- drop(X %*% c(0.5, 1, -0.5) + rnorm(100, sd = 0.5))
y_hat <- drop(X %*% solve(crossprod(X), crossprod(X, y)))
g <- compute_goodness_of_fit(y, y_hat, X)
g$r_squared
#> [1] 0.8116527