Estoy analizando algunos datos en los que me gustaría realizar una regresión lineal ordinaria, sin embargo, esto no es posible ya que estoy tratando con una configuración en línea con un flujo continuo de datos de entrada (que rápidamente será demasiado grande para la memoria) y necesito actualizar las estimaciones de los parámetros mientras esto se consume, es decir, no puedo simplemente cargar todo en la memoria y realizar la regresión lineal en todo el conjunto de datos.
Estoy asumiendo un modelo de regresión lineal multivariante simple, es decir
$$\mathbf y = \mathbf A\mathbf x + \mathbf b + \mathbf e$$
¿Cuál es el mejor algoritmo para crear una estimación continuamente actualizada de los parámetros de regresión lineal $\mathbf A$ y $\mathbf b$ ?
Lo ideal sería:
- Me gustaría un algoritmo que sea lo más $\mathcal O(N\cdot M)$ la complejidad espacial y temporal de cada actualización, donde $N$ es la dimensionalidad de la variable independiente ( $\mathbf x$ ) y $M$ es la dimensionalidad de la variable dependiente ( $\mathbf y$ ).
- Me gustaría poder especificar algún parámetro para determinar cuánto se actualizan los parámetros por cada nueva muestra, por ejemplo, 0,000001 significaría que la siguiente muestra proporcionaría una millonésima parte de la estimación de los parámetros. Esto daría algún tipo de decaimiento exponencial para el efecto de las muestras en el pasado.