Soy un programador informático que intenta resolver un problema particular de juguete, ¡y mis conocimientos de álgebra lineal son demasiado escasos para resolverlo!
Tengo un conjunto de datos que puede ser modelado utilizando esta función:
f1(w,x,y,z)=(Aw+Bx+C)(Dy+Ez+F)
(Para algunas constantes A
, B
, C
, D
, E
y F
.)
He ampliado la función de la siguiente manera:
f2(w,x,y,z)=ADwy+AEwz+AFw+BDxy+BExz+BFx+CDy+CEz+CF
Y luego reescribir esta función como el equivalente:
f3(a,b,c,d,e,f,g,h)=ADa+AEb+AFc+BDd+BEe+BFf+CDg+CEh+CF
(Esto es con a=wy
, b=wz
etc.)
Y luego, ya que es una función lineal, encontró un mejor ajuste para las constantes AD
, AE
, AF
, BD
, BE
, BF
, CD
, CE
y CF
mediante una regresión lineal por mínimos cuadrados. (Para ello, simplemente convertí mis columnas de datos de entrada según fuera necesario para convertir de f1
a f3
. En caso de que sea relevante, utilicé la herramienta de Python numpy.linalg.lstsq
para hacerlo, y el ajuste está bien dentro de los niveles de tolerancia que me interesan).
Dado esto, ¿es posible volver a factorizar el resultado para encontrar las constantes A
, B
, C
, D
, E
y F
? Si es así, ¿cómo lo hago? Si no, ¿por qué?
Gracias.
EDIT: se ha proporcionado una explicación adicional para mostrar cómo He convertido el problema en uno lineal. Como he dicho, el primer paso del problema ya funciona; ¡intento pasar al segundo paso!