Mínimos Cuadrados en Excel

Recientemente un usuario planteó en el foro una pregunta sobre cómo resolver o realizar un ajuste por el método de los mínimos cuadrados. Es algo que tengo disperso por varios temas de los foros en incluso en el libro, y me ha parecido una buena idea recopilarlo todo en una entrada del blog.

La solución depende de si queremos resolver un sistema de ecuaciones o de si símplemente queremos calcular un punto mediante un ajuste con una recta que minimice los errores para los datos disponibles.

Para el caso de la recta, Excel tiene la función ESTIMACION.LINEAL que calcula los coeficientes que definen la recta.
si necesitamos un ajuste con una función exponencial, tenemos la función  ESTIMACION.LOGARITMICA.

Estas funciones son matriciales y devuelven varios valores que definen la ecuación de la función ajustada e incluso el error del ajuste, 
así que hay que seleccionar varias celdas (para que quepa el resultado) e introducirlas con [Ctrl] [Mays] [Intro] como todas las funciones matriciales.

Si no te interesan las ecuaciones de la recta (o de la función exponencial), y sólo quieres calcular el valor de dicha recta en un punto,
entonces debes emplear la función TENDENCIA para la recta, o la función CRECIMIENTO para la función exponencial (no me preguntéis por qué le han puesto estos nombres, especialmente el nombre crecimiento).

Gráficos

Siempre me ha llamado la atención que Excel en sus gráficos sí ofrezca otras maneras para ajustar por mínimos cuadrados diferentes tipos de funciones.

¿por qué Excel no incorpora las funciones equivalentes para cada uno de estos tipos de ajuste?
Bueno,  tal vez sólo una minoría de sus usuarios las utilizaría, y esos usuarios tal vez estén en condiciones de calcular los coeficientes de las ecuaciones por otros métodos (como el que cuento a un poco más abajo).

ajuste por mínimos cuadrados de una función mediante una línea de tendencia en un gráfico de Excel

Las líneas de tendencia de un gráfico, tienen entre sus opciones de configuración la posibilidad de mostrar sobre el gráfico la ecuación ajustada.
Alguna vez he intentado emplear esta ecuación copiándola a mano en una celda, y no obtengo los resultados esperados, principalmente porque los coeficientes de la ecuación están redondeados y se pierde toda precisión.

Como curiosidad para mostrar sobre el gráfico y mientras nadie lo compruebe, puede valer, pero lo que sería ciertamente útil es poder utilizar directamente la ecuación en una celda.
Como digo, esto no es posible.

Resolución de un sistema de ecuaciones genérico

Para un caso más genérico, por ejemplo para resolver un sistema de ecuaciones sobredimensionado, con más ecuaciones que incógnitas, yo utilizo el método matricial para ajustar por mínimos cuadrados la solución.

Se trata de premultiplicar ambos lados de la ecuación por la matriz transpuesta para tener una matriz cuadrada que poder invertir.

[ A ]·[ x ] = [ B ] sistema inicial de ecuaciones en formato matricial, matriz A de coeficientes, matriz X de incógnitas, y matriz B de términos independientes.

[ A ]t·[ A ]·[ x ] = [ A ]t·[ B ] premultiplicamos por la matriz transpuesta de los coeficientes (el resultado es una matriz cuadrada).

[ x ] = ([ A ]t·[ A ])-1·[ A ]t·[ B ] la solución se obtendrá multiplicando ambos términos por la matriz inversa de esa matriz cuadrada.

y esto expresado con funciones matriciales de Excel quedaría algo así (sí, ya sé que es un poco jaleo, pero es lo mismo que pone arriba):

{= MMULT ( MMULT ( MINVERSA ( MMULT ( TRANSPONER (matrizA) ; matrizA ) ); TRANSPONER ( matrizA ) ); matrizB )}

No olvides seleccionar un rango que ocupe el tamaño de la solución del sistema (tantas celdas como variables tenga la ecuación)
y recuerda que las funciones matriciales se introducen con la combinación de teclas [Ctrl] [Mays] [Intro]

Temática: 

Etiquetas: