¿Qué es el criterio de información Akaike AIC?

Autor: | Última modificación: 26 de abril de 2023 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

El criterio de información de Akaike (AIC) o aic bic es un estimador de la calidad relativa del modelo que tiene en cuenta su complejidad.

A medida que se va aumentando el número de parámetros de entrada o de grados de un polinomio, el valor de R va a ser mejor, porque el error cuadrático medio disminuye. El criterio de información Akaike (aic metric) penaliza los modelos complejos en favor del los sencillos para evitar el sobreajuste.

¿Cómo se calcula el criterio de información Akaike?

Se calcula a partir del log-likelihood, el logaritmo del estimador de máxima verosimilitud:

criterio de información akaike

En el caso de una regresión lineal:

regresión lineal

Una vez que el modelo está entrenado, resulta que:

modelo entrenado lm

Si sustituimos en la ecuación de criterio de información akaike:

sustitución modelo

Como el valor del criterio de información Akaike realmente solo se utiliza para comparar un modelo con otro, el termino constante C se puede ignorar, porque no cambia entre los modelos.

criterio de akaike AIC

El valor P es el número de coeficientes del modelo más 1. El criterio de información Akaike suele multiplicar P por 2, pero otros valores son posibles en función de la importancia que queramos darle a los parámetros extra.

Tanto la primera como la última de las fórmulas que aparecen en las imágenes funcionan del mismo modo, es decir, el resultado de una operación hecha con una u otra no va a variar.

Cuanto más bajo sea el criterio de información Akaike, mejor.

Veamos:

In [13] : k_val = 2
AIC (model, k = k_val)

440.181501249111

In [14] : rss <- sum ((model$residuals) ^ 2)
n <- nrow (df)

In [17] : loglik <- -n / 2 * log (2 * pi * rss / n) -n / 2

In [18] : -2 * loglik + k_val * (length (model$coefficients) + 1)

440.181501249111

Vemos que ambos resultados de distintas fórmulas terminan siendo los mismos.

In [19] : model$coefficients

(Intercept): 3.6456315740211 x: 5.06324797293581

In [20] : model_lin <- lm (data = df, formula = y ~ 1)
summary (model_lin)

Call:

lm (formula = y ~ 1, data = df)

Residuals:

Min: -64.14

1Q: -27.69

Median: 4.38

3Q: 24.76

Max: 65.66

Coefficients:

EstimateStd. Errort valuePr (> ltl)
(Intercept)4.4904.4531.0080.318

Residual standard error: 34.5 on 59 degrees of freedom.

En anteriores ejercicios habíamos estado usando el lm. En este caso, usamos el glm, que significa «modelo lineal generalizado», y family = gaussian. Esta fórmula es igual a:

model <- lm (data = df, formula = y ~ x)

Si se van a hacer regresiones lineales, lo mejor es usar este modelo, ya que las respuestas van a ser más rápidas y consume menos memoria, entre otros muchos beneficios.

Si usamos en la fórmula y ~ 1 en vez de y ~ 0, el intercept cambiará y, por tanto, la gráfica quedaría distinta. De modo que, si no le damos un valor a ese intercept, vamos a obtener una gráfica sin pendientes y el valor que se obtenga será la media.

In [21] : AIC (model_lin)

598.166654240199

Esto también tiene un modelo más alto, por lo que vemos que la calidad es malísima.

In [22] : rss <- sum ((model_lin$residuals) ^ 2)
n <-  nrow(df)
loglik <- - n / 2 * log (2 * pi * rss /  n) - n / 2
- 2 loglik + 2 * (length (model_lin$coefficients) + 1)

598.166654240199

In [23] : length (model_lin$coefficients)

1

¿Qué sigue?

Hemos aprendido qué es el criterio de información Akaike o AIC y cómo funciona en modelos que son lineales y que no lo son. En ambos casos se aplica la fórmula de manera distinta, dependiendo de las necesidades de información.

Si quieres seguir aprendiendo sobre este tema, puedes inscribirte en nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, con el que en muy poco tiempo podrás convertirte en un gran data scientist y conseguir el trabajo de tus sueños. ¡Anímate a solicitar más información!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

La IA no te quitará el trabajo, lo hará quien sepa usarla

Conviértete en Data Scientist con el único Bootcamp que además te formará en Inteligencia Artificial Generativa para potenciar tu perfil.