Tengo curiosidad acerca de procedimientos repetibles que se pueden utilizar para descubrir la forma funcional de la función y = f(A, B, C) + error_term
donde mi única entrada es un conjunto de observaciones ( y
, A
, B
y C
). Tenga en cuenta que la forma funcional de f
es desconocida.
Considere el siguiente conjunto de datos:
AA BB CC DD EE FF == == == == == == 98 11 66 84 67 10500 71 44 48 12 47 7250 54 28 90 73 95 5463 34 95 15 45 75 2581 56 37 0 79 43 3221 68 79 1 65 9 4721 53 2 90 10 18 3095 38 75 41 97 40 4558 29 99 46 28 96 5336 22 63 27 43 4 2196 4 5 89 78 39 492 10 28 39 59 64 1178 11 59 56 25 5 3418 10 4 79 98 24 431 86 36 84 14 67 10526 80 46 29 96 7 7793 67 71 12 43 3 5411 14 63 2 9 52 368 99 62 56 81 26 13334 56 4 72 65 33 3495 51 40 62 11 52 5178 29 77 80 2 54 7001 42 32 4 17 72 1926 44 45 30 25 5 3360 6 3 65 16 87 288
En este ejemplo, suponga que lo sabemos FF = f(AA, BB, CC, DD, EE) + error term
, pero no estamos seguros de la forma funcional de f(...)
.
¿Qué procedimiento / qué métodos utilizarías para llegar a encontrar la forma funcional de f(...)
?
(Punto de bonificación: ¿Cuál es su mejor suposición sobre la definición de f
los datos anteriores? :-) Y sí, hay una respuesta "correcta" que arrojará un R^2
exceso de 0.99.)
FF
fue "rendimiento de combustión" yAA
fue la cantidad de combustible, yBB
fue la cantidad de oxígeno, buscaría un término de interacción deAA
yBB
R^2 >= 0.99
una, le gustaría encontrar la que tenga la mejor relación rendimiento / complejidad (y, por supuesto, fuera del ajuste de la muestra). Perdón por no escribir esaRespuestas:
Para encontrar la forma funcional que mejor se ajuste (llamada forma libre o regresión simbólica) para los datos, pruebe esta herramienta: que yo sepa, esta es la mejor disponible (al menos estoy muy entusiasmado con eso) ... y su gratis :-)
http://creativemachines.cornell.edu/eureqa
EDITAR : Le di una oportunidad con Eureqa y elegiría:
R 2 = 0.99988
Yo lo llamaría un ajuste perfecto (Eureqa ofrece otras soluciones que se adaptan mejor, pero también son un poco más complicadas. Eureqa favorece esta, así que elegí esta), y Eureqa hizo todo por mí en unos pocos segundos una laptop normal ;-)
fuente
Con ese fin, tenga en cuenta que las técnicas estándar de análisis de datos exploratorios (EDA) y regresión (pero no procedimientos escalonados u otros procedimientos automatizados) sugieren utilizar un modelo lineal en la forma
más un pequeño error de SD normalmente distribuido aproximadamente igual a 50
Editar
De todos modos, un ajuste mejorado viene dado por
Por cierto, usando una regresión robusta puedo ajustar el modelo
con SD residual de 27.4 y todos los residuales entre -51 y +47: esencialmente tan bueno como el ajuste anterior pero con una variable menos. Es más parsimonioso en ese sentido, pero menos parsimonioso en el sentido de que no he redondeado los coeficientes a valores "agradables". Sin embargo, esta es la forma que generalmente preferiría en un análisis de regresión en ausencia de teorías rigurosas sobre qué tipos de valores deberían tener los coeficientes y qué variables deberían incluirse.
fuente
Su pregunta necesita un refinamiento porque
f
casi con certeza la función no está definida únicamente por los datos de la muestra. Hay muchas funciones diferentes que podrían generar los mismos datos.Dicho esto, el Análisis de varianza (ANOVA) o un "estudio de sensibilidad" puede decirle mucho sobre cómo sus entradas (AA..EE) afectan su salida (FF).
Acabo de hacer una rápida ANOVA y encontré un razonable buen modelo
FF = 101*A + 47*B + 49*C - 4484
. La función no parece depender de DD o EE linealmente. Por supuesto, podríamos ir más allá con el modelo y agregar términos cuadráticos y mixtos. Con el tiempo, tendrá un modelo perfecto que sobrepasa los datos y no tiene valor predictivo. :)fuente
En términos generales, no hay almuerzo gratis en el aprendizaje automático:
/ edit: también, un SVM radial con C = 4 y sigma = 0.206 produce fácilmente un R2 de .99. Extraer la ecuación real utilizada para derivar este conjunto de datos se deja como un ejercicio para la clase. El código está en R.
fuente
Todos los modelos están equivocados pero algunos son útiles: GEPBox
Y (T) = - 4709.7
+ 102.60 * AA (T) - 17.0707 * AA (T-1)
+ 62.4994 * BB (T) + 41.7453 * CC (T) + 965.70 * ZZ (T)
donde ZZ (T) = 0 PARA T = 1,10 = 1 DE OTRA MANERA
Parece haber una "relación rezagada" entre Y y AA Y un cambio explicado en la media para las observaciones 11-25.
Resultados curiosos si no se trata de datos cronológicos o espaciales.
fuente
ORDER BY
). Las filas no tienen un orden especial inherente. Por lo tanto, puede reorganizarlos sin perder ninguna información. Lo siento si te confundí :-)AA(T-1)
término en su ecuación no tiene sentido en este contexto.AA(T-1)
r cuadrado de 97.2
Estimación / Verificación de diagnóstico para variable YY
X1 AAS
X2 BB
X3 BBS
X4 CC
Número de residuos (R) = n 25
Número de grados de libertad = nm 20
Media residual = Suma R / n -.141873E-05
Suma de cuadrados = Suma R 2 .775723E + 07
Varianza = SOS / (n) 310289.
Ajustado Variación = SOS / (nm) 387861.
Desviación estándar RMSE = SQRT (Adj Var) 622.785
Error estándar de la media = Dev estándar / (nm) 139.259
Media / su error estándar = Media / SEM -.101877E-07
Media Desviación absoluta = Suma (ABS (R)) / n 455.684
Valor AIC (usa var) = nln + 2m 326.131
Valor SBC (usa var) = nln + m * lnn 332.226
Valor BIC (usa var) = vea Wei p153 340.388
R Cuadrado = .972211
Estadística de Durbin-Watson = [- A (T -1)] ** 2 / A 2 1.76580
**
MODELO COMPONENTE LAG COEFF ESTÁNDAR PT
# (BOP) VALOR DE ERROR VALOR
ENTRADA SERIE X1 AAS AA CUADRADO
ENTRADA SERIE X2 BB BB COMO DADA
ENTRADA SERIE X3 BBS BB CUADRADO
ENTRADA SERIE X4 CC CC COMO DADA
fuente