No es un paquete con el que esté muy familiarizado, así que describiré mi proceso de pensamiento en general.
Para calcular el AIC, es necesario especificar una función de verosimilitud; las funciones de verosimilitud que utilizan la suma de cuadrados son bastante comunes, y la suma de cuadrados de los residuos se incluye en la salida como out$Ed
(según ?brnn
). También incluyen el "número efectivo de parámetros" como out$gamma
. Si ha utilizado pesas u otras características, debe tenerlas en cuenta.
En R, si se implementa un logLik
método para brnn
, AIC
lo utilizará automáticamente:
logLik.brnn <- function(object) structure(
-(object$n / 2) * log(object$Ed),
nobs = object$n,
df = object$gamma,
class = 'logLik'
)
A continuación, puede comparar dos modelos mediante el AIC, etc:
model_brnn2 = brnn(lnWeight ~ lnLength, data = alligator, neurons=2)
model_brnn4 = brnn(lnWeight ~ lnLength, data = alligator, neurons=4)
AIC(model_brnn2)
AIC(model_brnn4)
Esto es probablemente lo suficientemente bueno para una revisión y reenvío al azar, pero probablemente podría utilizar un poco de pensamiento más profundo - usted podría incorporar los coeficientes en la probabilidad, etc.
También asegúrese de configurar la semilla RNG, de lo contrario obtengo resultados ligeramente diferentes en cada ejecución.