Está en la página 1de 6

Práctica #10: Regre sión Multilineal.

April 6, 2011

Introducción.

Cuando se quiere llevar un ajuste de regresión lineal múltiple, cuando el número


de variables pasa de dos, la utilización de álgebra de matrices es de bastante
utilidad.

En esta clase de problemas, el experimentador tiene un número k de variables


independientes (x1 , x2, ..., xk ) y un número n de observaciones (y1, y2,..., yn ), las
cuales pueden ser explicadas por una ecuación de la forma:Yi = β0 + β1 X1i +
β2 X2i +...+βk Xki +i . Esta ecuación puede ser reexpresada de forma compacta
como:

y = Xβ + ε

Donde:

 
..
 1 x11 x21 . xk1     
 ..  y1 β1
 1 x12 x22 . xk2   y2   β2 
     

X= 1 ..   y3 
,Y =  
 , β =  β3 
 x13 x23 . xk3 
  ..   .. 
 . .. .. .. ..   .   . 
 .. . . . . 
  yn βn
..
1 x1n x2n . xkn

El sistema de ecuaciones a resolver es de la forma Xβ = y , y su resultado


por mínimos cuadrados es:

[X 0 X]β = X 0 y

1
Finalmente, para obtener el vector de coecientes, es necesario invertir el
producto que se encuentra del lado izquierdo de la ecuación, de manera que:

β = inv[X 0 X] ∗ (X 0 y)

Y de esta forma se han estimado los parámetros de regresión lineal.

Procedimientos.

La práctica consistió en ajustar un modelo de regresión lineal múltiple partiendo


de una serie de datos que se encontraban en un documento de la hoja de cálculo
Microsoft Excel. Estos datos contienen información acerca del nivel de colesterol
e índice de masa corporal (variables independientes) y de la tensión arterial
Diastólica ( variable dependiente) de 70 individuos.

Como primer paso, se importaron los datos del archivo .xls al entorno de
trabajo de Scilab. Para esto se utilizó la función readxls cuyo argumento de
entrada es unicamente la ruta del documento de excel cuyos datos queremos
importar. Las líneas de código utilizadas para importar los datos del documento,
fueron las siguientes:

sh=readxls('/home/sinpulmones/Descargas/aversi.xls')
hoja1=sh(1);

Posteriormente, fueron denidos dos arreglos: Un vector de unos, cuya di-


mensión era de 70 × 1, y una matriz de 70 × 2. Además, fueron extraídos los
datos correspondientes a las variables independientes y dependientes e iguala-
dos a una variable. El código que se utilizó en la consola de Scilab fueron las
siguientes:

zm=ones(70,3);
z=zeros(70,1);
vari1=hoja1((2:71),2);
vari2=hoja1((2:71),3);
vard=hoja1((2:71),4);

Las variables independientes fueron igualadas a vari1 y vari2 y se igualó la


variable dependiente a vard. El vector de unos fue generado para colocar los

2
datos de las variables independientes mientras que el vector de ceros se generó
para colocar los datos de la variable dependiente.

Como último paso, se generó un ciclo para transferir los datos de la variable
a los arreglos que fueron inicializados.

for i=1:70
z(i,1)=vard(i,1);
zm(i,2)=vari1(i,1);
zm(i,3)=vari2(i,1);
end

Donde z es el vector de la variable dependiente y zm es la matriz de co-


ecientes que contenían a la variables independientes. El modelo lineal que
se busca resolver para obtener los coecientes de mínimos cuadrados de la
regresión lineal múltiple es el siguiente: [X 0 X]β = X 0 y . Para poder encon-
trar el vector de coecientes β , se debe llevar a cabo la siguiente operación:
β = (inv(X 0 X)) ∗ (X 0 y).

En Scilab esto se llevó mediante los siguientes comandos:

x=(inv(zm'*zm))*(zm'*z)

Donde x es el vector de coecientes de la regresión polinomial.

Cómo último paso, utilizando los coecientes obtenidos por la solución del
modelo de mínimos cuadrados en su forma matricial, se procedió a gracar
el plano de regresión. Para esto, se utilizó la función fplot3d, de la siguiente
manera:

deff('z=f(x,y)','z=19.837851+ 0.1772564*x+ 0.7689353*y') x=3:1:


100 ;
y=x;
clf();fplot3d(x,y,f,alpha=5,theta=31)

Resumen de Resultados.

En la tabla 1 se muestran los coecientes del modelo lineal de regresión


múltiple. En la gura 1, se muestra la gráca del plano de regresión.

3
Tabla 1. Coecientes del Modelo Lineal.
Coeciente del Modelo Valor
α0 19.837851
α1 0.1772564
α2 0.7689353

Figura 1. Plano de regresión para el modelo de regresión lineal múltiple


y = 19.837851 + 0.1772564x1 + 0.7689353x2

En este modelo, x1 representa el nivel del colesterol y x2 representa elíndice


de masa corporal.

Conclusiones.

Grupal.

Al nalizar los procedimientos experimentales se comprendió la manera de


llevar a cabo un modelo de regresión lineal múltiple con la utilización del pro-
grama de análisis numérico Scilab. Además, se comprendió la forma en que se
pueden importar documentos de Microsoft Excel a la consola de este software.

En lo que reere al modelo de regresión obtenido, se determinó la relación


que existe entre la presión arterial diastólica y el índice de masa corporal y la
presión arterial Diastólica, aumentando en aproximadamente 0.17 unidades por

4
cada unidad de nivel de colesterol y 0.76 unidades por cada unidad de Índice de
Masa Corporal.

Individual.

Josshimar Aldaco: Esta práctica fue mucho más agradable que la vez que
utilizamos R debido a que considero que estamos mucho más familiariazados
con Scilab. Sin embargo, creo en los problemas que plantea la ingeniería se
necesitan soluciones rápidas y la utilización de programación cuando existen
paquetes que ya tienen soluciones precargadas no tiene sentido. De ninguna
manera sustituiría el uso de paquetes como Minitab por Scilab.

Cristian Blanco: En esta práctica comprendi el modo de introducir una


regresión multilineal en el software de Scilab, fue interesante la forma en que ya
utilizamos mas la ayuda para la solución de problemas, la forma de interactuar
con otros formatos como es el de excell con scilab fue interesante, actualmente
representa un modo mas agil de introducir datos, aunque se debe vericar las
entradas y salidas al respecto, resultó un elemento ideal para facilitar y optimizar
tiempos en la realización de esta regresión. Concluyó con que esta práctica
resulto interesante en la medida en que se comprendió la interacción de scilab
con otros programas se esperaría ver si interactua por ejemplo con R, mathlab
u otros programas de algun modo similar.

Diego Granados: Con esta práctica entendí como debe ser abordado un
problema de regresión lineal múltiple y comprendí la manera en que debe ser
solucionado. Me pareció de mucha utilidad entender como funciona la función
readxls en excel y la manera de utilizar Scilab para efectuar el análisis de regre-
sión. Sin embargo, las funcionalidades de estadística de scilab no son las mejores
y no constituye mi primera opción para llevar a cabo análisis de regresiones.

Jordan Pérez: Lo que más me agradó de la práctica fue la idea de poder


sincronizar a Scilab con Excel por que para mí esa funcionalidad era desconocida.
Obtener el modelo de regresión mediante la pura utilización de matrices me
pareció muy interesante y me ayudó a entender un poco más como funciona una
regresión ya que, muchas veces, el software que tiene funciones estadísticas poco
dice acerca de la metodología que utilizan para estimar parámetros.

References

[1] http://lc.e.umich.mx/~calderon/estadistica/anova02.html
[2] Steven C. Chapra & Raymond P. Canale. Métodos Numéricos para Inge-
nieros. Quinta Edición. McGrawHill. México 2006.

5
6