¿Cómo puedo calcular eficazmente un ajuste OLS para N variables múltiples para una ventana móvil?
Ya he resuelto cómo hacerlo para ajustes lineales de 1 y 2 variables, me gustaría extenderlo al caso general de N variables si es posible (o al menos a 3). No quiero calcular toda la regresión para cada ventana individual, quiero actualizar mi cálculo con cada nuevo punto de datos.
Por ejemplo, para un ajuste de una variable de la forma $y_i = \alpha + \beta x_i + \epsilon_i$ (donde $\epsilon$ es el término de error)
$$\beta = (n\sum_{i=1}^{n} x_i y_i - \sum_{i=1}^{n} x_i \sum_{i=1}^{n} y_i) / (n \sum_{i=1}^{n} x_i^2 - (\sum_{i=1}^{n} x_i)^2)$$
$$\alpha = (\sum_{i=1}^{n} y_i - \beta \sum_{i=1}^{n} x_i)/n$$
En este caso sólo tengo que mantener los valores de rodadura de $\sum x$ , $\sum y$ , $\sum xy$ y $\sum x^2$ y puedo calcular rápidamente los parámetros de ajuste en cada paso de la ventana sin tener que volver a hacerlo todo.
He conseguido lo mismo para un ajuste múltiple de 2 variables de la forma: $y_i = \alpha + \beta_{1} x_{i1} + \beta_{2} x_{i2} + \epsilon_i$
Es bastante desordenado: $$\sum X_1Y = \sum_{i=1}^{n} x_{i1}y_i - \frac{1}{n}(\sum_{i=1}^{n}x_{i1} \sum_{i=1}^{n} y_i)$$ $$\sum X_2Y = \sum_{i=1}^{n} x_{i2}y_i - \frac{1}{n}(\sum_{i=1}^{n}x_{i2} \sum_{i=1}^{n} y_i)$$ $$\sum X_1X_2 = \sum_{i=1}^{n} x_{i1}x_{i2} - \frac{1}{n}(\sum_{i=1}^{n}x_{i1} \sum_{i=1}^{n} x_{i2})$$ $$\sum X_1X_1 = \sum_{i=1}^{n} x_{i1}^2 - \frac{1}{n}(\sum_{i=1}^{n}x_{i1})^2$$ $$\sum X_2X_2 = \sum_{i=1}^{n} x_{i2}^2 - \frac{1}{n}(\sum_{i=1}^{n}x_{i2})^2$$
entonces obtenemos $$d = (\sum X_1X_1 \sum X_2X_2) - (\sum X_1X_2)^2$$ $$\beta_1 = \frac{1}{d}(\sum X_2X_2 \sum X_1Y - \sum X_1X_2 \sum X_2Y)$$ $$\beta_2 = \frac{1}{d}(\sum X_1X_1 \sum X_2Y - \sum X_1X_2 \sum X_1Y)$$
De nuevo, aquí sólo necesito mantener sumas rodantes de $\sum x_1$ , $\sum x_2$ , $\sum y$ , $\sum x_1y$ , $\sum x_2y$ , $\sum x_1x_2$ , $\sum x_1^2$ y $\sum x_2^2$ para calcular la regresión, no necesito hacer el ajuste individualmente para cada ventana, y así es muy rápido. (Tenga en cuenta que sólo me importa el $\beta$ valores).
Ahora quiero ampliarlo a 3 variables (y posiblemente más). He empezado a trabajar con el álgebra y es peliagudo. Estoy seguro de que debo estar perdiendo un truco o un patrón aquí que hace que la extensión a 3 + variables relativamente fácil.
¿Puede alguien sugerirme cómo puedo ampliar mi técnica anterior a 3 variables (o posiblemente más) o de otro modo calcular eficientemente el $\beta$ para una ventana enrollable? Gracias.