Scilab, Regresión Lineal con Matrices

 

Una aplicación interesante de las matrices es la regresión lineal simple. Esto consiste en hallar la ecuación de una línea recta que ajuste una serie de puntos de coordenadas (xi , yi), que son el resultado de observaciones.

Y=β0 + β1X + e

Donde β0 es el intercepto de la línea con el eje Y

β1 es la pendiente de la recta y

e es la desviación entre los valores y estimados y el valor real.

Si tenemos una serie de puntos podemos representarlos de la siguiente manera:

mat-lineal-1x

Expresando estas ecuaciones en forma de matriz

clip_image003

Lo cual puede ser expresado de la siguiente forma:

clip_image005

Expresando en notación de matrices tenemos que:

Y = X*B + E

Donde

X es la matriz de diseño, tiene forma nx2 (n filas y 2 columnas) donde n es el número de datos y 2 son los parámetros de la ecuación de regresión.

B es el vector de parámetros, tiene forma 2×1.

Y es el vector de respuestas, tiene forma nx1.

E es el vector de errores, tiene forma nx1.

La ecuación normal del sistema es:

X’Y = (X’X)β

Nuestro objetivo es resolver esta ecuación matricial y obtener β

clip_image007

B = (X’X)-1(X’Y)

B = (X’X)\(X’Y)

Así que para encontrar los parámetros de regresión lineal solo debemos crear la matriz del sistema X y el vector de respuesta Y. recordar que la matriz del sistema X, tiene en la primera columna, solamente unos, y en la segunda columna los valores de la variable independiente x.

En la siguiente figura se muestra la operación en Scilab

clip_image009

La ecuación de regresión, una vez obtenido el vector de parámetros es:

y = 119.02589 + 0.7039176 x

Scilab, Operaciones Básicas con Matrices–Parte II

En el artículo anterior habíamos introducido el concepto de matriz, y la forma en que se crean en Scilab y algunas operaciones básicas. En este artículo continuaremos con la descripción de operaciones básicas con matrices.

Transpuesta de una matriz

La transposición de una matriz significa que las filas se convierten en columna y las columnas en filas. El operador de transposición es el apostrofe (‘), el cual es colocado después de la variable que representa la matriz. Si A es una matriz, entonces A’ es la transpuesta de la matriz A.

Ai,j entonces A’j,i

clip_image002

Determinante de una Matriz

Para obtener el determinante de una matriz se utiliza la función det(matriz), donde la matriz debe ser cuadrada, es decir el número de filas debe ser igual al número de columnas.

clip_image003

Inversa de una Matriz

La inversa de una matriz A es una matriz que se denota como A-1 y la fórmula para calcularla se muestra en la siguiente figura.

clip_image005

A*A-1 = I, donde I es la matriz identidad. Para determinar la inversa de una matriz se utiliza la función inv(matriz).

La matriz Identidad es una matriz diagonal de 1, y todos los demás elementos de la matriz igual a 0.

Como los valores de la matriz se obtienen mediante el cálculo numérico de doble precisión en lugar de ceros se muestran valores como 2.220D-16.

clip_image006

División de Matrices

La División de matrices en realidad es una multiplicación de una matriz por el inverso de la otra. En este sentido para dividir matrices estas tienen que cumplir con la regla básica de la multiplicación de matrices:

A(mxp) y B(pxn) El número de columnas de la primera matriz es igual al número de filas de la segunda matriz.

A*B es posible

B(pxn)*A(mxp) no es posible porque el número de columnas de la primera matriz no es igual que el número de filas de la segunda

Dependiendo de la colocación de la matriz inversa, en la primera o segunda posición existen dos tipos de división:

Si la inversa de la matriz está en la primera posición tenemos la división izquierda (\) y si la inversa de la matriz está en la segunda posición tenemos la división derecha (/)

La división izquierda (\) se aplica a la solución de problemas como ecuaciones simultaneas y análisis de regresión. Este tipo de problemas resulta de la solución de ecuaciones del siguiente tipo.

A*X=B

A-1*A*X = A-1*B

X = A-1*B

X = A\ B

Esto corresponde a la solución de ecuaciones lineales simultaneas.

clip_image008

La división derecha resulta de problemas del tipo:

XA = B

X*A* A-1=B* A-1

X=B* A-1

X = B / A

Scilab, Operaciones Básicas con Matrices

Una de las ventajas de Scilab sobre otros programas es el uso natural de las matrices, la creación de matrices es muy sencilla, y permite la operación directa con matrices sin necesidad de efectuar ningún tipo de programación.

En realidad, todas las entradas en Scilab son interpretadas como matrices, inclusive una entrada de un solo número es interpretada como una matriz de un elemento, matriz 1×1. Leer más “Scilab, Operaciones Básicas con Matrices”