¿Cómo puedo obtener el formulario BIC y AIC - probabilidad de registro para la red neuronal?Hola,
Yo uso el JMP pro 12.
Me gustaría saber, ¿cómo puedo obtener el AIC o el BIC de -likelihood, en el análisis de redes neuronales?
Saludos,
Angelo
Re: ¿Cómo puedo obtener el formulario BIC y AIC - probabilidad de registro para la red neuronal?Lo siento, estaba bastante seguro de que lo había hecho para redes neuronales, pero en realidad era para la plataforma no lineal. Aquí está el código:
dt = Open("$SAMPLE_DATA/Nonlinear Examples/Chemical Kinetics.jmp");
fit = dt << Nonlinear(
Y( :Name( "Velocity (y)" ) ),
X( :Name( "Model (x)" ) ),
Newton,
Finish
);
rep = fit << Report;
matRmse = rep[NumberColBox(5)] << Get As Matrix;
/***************************************************
/ calculate AICc /
***************************************************/
// AIC = N.ln(SS/N) + 2k
// where N = # data points
// k = # parameters + 1
// SS = sum of squares for the residuals
// AICc = AIC + [ 2k(k+1) / (N-k-1) ]
N = NRows(dt);
nParameters = 2;
k = nParameters + 1;
rmse = matRmse[1];
dfSS = N - nParameters;
MS = rmse^2;
SS = dfSS * MS; // this is correct compared to fit model
LL = N*Log(2*Pi()*e()*SS/N);
AIC = LL + 2*k;
AICc = AIC + ( (2*k*(k+1))/(N-k-1) );
/***************************************************
/ calculate BIC /
***************************************************/
BIC = LL + k*Log(N);
En este código tuve que determinar el valor de probabilidad logarítmica, mientras que la red neuronal te da esto, así que debería ser más fácil. Creo que solo necesitas pensar cuál es el valor de k. Supongo que sería 1 más el número de ponderaciones que se están estimando (para una red de una sola capa que sería #factores x #nodos);
Re: ¿Cómo puedo obtener el formulario BIC y AIC - probabilidad de registro para la red neuronal?Querido David,
Es bueno para mi. Voy a esperar el lunes
Muchas gracias,
Angelo
Re: ¿Cómo puedo obtener el formulario BIC y AIC - probabilidad de registro para la red neuronal?Tengo un código que puedo compartir con usted para hacer esto (desafortunadamente, estoy viajando en este momento) si no recibe una respuesta de otra persona, podré publicarlo el lunes.
Re: ¿Cómo puedo obtener el formulario BIC y AIC de probabilidad de registro para la red neuronal?¿Hay alguna manera de obtener k solo de una fórmula de columna rápida para un neural? ¿O tengo que saber cómo se creó el modelo? Por ejemplo
Names default to here(1);
dt = open("$SAMPLE_DATA/Boston Housing.jmp");
nn = dt << Neural(
Y( :mvalue ),
X(
:crim,
:zn,
:indus,
:chas,
:nox,
:rooms,
:age,
:distance,
:radial,
:tax,
:pt,
:b,
:lstat
),
Informative Missing( 0 ),
Validation Method( "Holdback", 0.3333 ),
Fit( NTanH( 3 ), NLinear( 2 ), NLinear2( 1 ), NGaussian2( 1 ) )
);
nn << (Fit[1] << Save Fast Formulas);
pred = Column(dt, ncols(dt));
pred << Get Formula();
Devoluciones:
T#1 = Matrix(
{{:crim, :zn, :indus, Design Nom( :chas, [0 1], <<ELSE missing=""></ELSE>
Gracias por adelantado.