Sunteți pe pagina 1din 34

1 Introduccion

2 Regresion Lineal Simple


MODELOS DE REGRESIN PARAMTRICA Y
Estimacion y prediccion
NO PARAMTRICA
Bondad de ajuste. Coeficiente R2
Intervalos de confianza

3 Otros modelos parametricos


Regresion polinomica
Modelos de linealizables

4 Regresion No Parametrica
Regresion por Splines
Intervalos de confianza

Modelos de Regresion 1 / 133 Modelos de Regresion 2 / 133

Indice Introduccion

En la practica es frecuente encontrar observaciones de diversas variables para un mismo


1 Introduccion individuo.

2 Regresion Lineal Simple En este caso, sera de interes disponer de tecnicas estadsticas que permitan
Estimacion y prediccion
establecer la posible relacion entre las variables, y en caso de que exista,
Bondad de ajuste. Coeficiente R2
Intervalos de confianza comprobar de que tipo es esta relacion:

lineal,
3 Otros modelos parametricos cuadratica,
Regresion polinomica
sinusoidal, ...
Modelos de linealizables
Dados los valores de algunas variables, efectuar predicciones sobre los valores
4 Regresion No Parametrica previsibles para las otras.
Regresion por Splines Seleccionar las variables que afectan el comportamiento de otra variable
Intervalos de confianza
....

Modelos de Regresion 3 / 133 Modelos de Regresion 4 / 133


Ejemplo. Tension Arterial Introduccion

A continuacion se muestra una grafica recogiendo datos correspondientes a 69


pacientes. En el eje de abcisas se representa la edad y en el eje de ordenadas la tension
de cada uno de los pacientes.
A la vista del grafico, parece evidente que existe una relacion entre ambas variables: la
tension aumenta con la edad. Interesara contrastar con criterio estadstico:
si tal relacion existe (parece evidente para estos datos).
180

En el caso, se dara una expresion del tipo



140 160



tension = f (edad)
tension






donde f es una funcion que relaciona la edad con la tension.


Dicha funcion permitira determinar al valor de tension para cada edad. en la

anterior).
120

20 30 40 50 60 70
edad

Modelos de Regresion 5 / 133 Modelos de Regresion 6 / 133

Modelos de Regresion Modelos de Regresion

Es claro que la relacion tension = f (edad) no puede ser exacta De forma general, los modelos de regresion relacionan una variable X (llamada variable
- es difcil pensar en una funcion f que pase precisamente por cada uno de los 69 independiente o covariable) con una variable Y (llamada variable dependiente o
puntos de la figura anterior. respuesta) a traves de la expresion matematica

Sera necesario considerar relaciones del tipo Y = f (X) + 


Para obtener la forma de la funcion de regresion f es habitual hacer ciertos supuestos
tension = f (edad) +  que dan lugar a distintos modelos:
en que el valor de tension se descompone en:
Modelo Lineal: Y = a0 + a1 X + 
componente sistematica dada por la funcion f (edad),+
Modelo Cuadratico: Y = a0 + a1 X + a2 X 2 + 
la componente aleatoria  que no se podra predecir.
Modelo Exponencial:Y = a0 aX
1 +

Se dice que f (edad) es una funcion de regresion de tension sobre edad, y el objetivo etc.
es especificar su forma.

Modelos de Regresion 7 / 133 Modelos de Regresion 8 / 133


Modelos de Regresion Multivariante Regresion Lineal Multiple

Los modelos de regresion no se limitan a analizar la relacion entre dos variables.


Si se supone que la funcion f es lineal se obtendra el modelo de regresion lineal
En general buscar obtener la relacion entre la variable respuesta Y y un conjunto de multiple dado por
covariables X1 , . . . , Xp .
Y = a0 + a1 X1 + . . . + ap Xp + 
Para ello se plantearan modelos de la forma
siendo a0 , . . . , ap coeficientes desconocidos, de forma que
Y = f (X1 , . . . , Xp ) +  cada coeficiente aj resume el efecto de la covariable Xj en la respuesta Y .
relacionando de manera aproximada los valores de Y con los que toman las otras
variables (X1 , . . . , Xp ).

Modelos de Regresion 9 / 133 Modelos de Regresion 10 / 133

Relacion de Causalidad?? Indice

1 Introduccion

Es importante senalar que poner una variable Y al lado izquierdo y escribirla como
funcion de las otras covariables mas una perturbacion aleatoria 2 Regresion Lineal Simple
Estimacion y prediccion
Bondad de ajuste. Coeficiente R2
no prejuzga ninguna relacion de causalidad Intervalos de confianza

sino que solo se postula la existencia de una relacion cuya forma se pretende investigar. 3 Otros modelos parametricos
Regresion polinomica
En el ejemplo, el ajuste de un modelo del tipo tension = f (edad) +  no implica que se Modelos de linealizables
considere que la edad sea la causa de la tension, sino solo que parece existir una relacion
entre ambas variables.
4 Regresion No Parametrica
Regresion por Splines
Intervalos de confianza

Modelos de Regresion 11 / 133 Modelos de Regresion 12 / 133


Introduccion Ejemplo. Tension Arterial

Continuando con el ejemplo de antes, se pretende explicar la tension arterial, Y , en


funcion de la edad, X, para lo que se dispone de la siguiente muestra de n = 69
pacientes.
Por simplicidad, limitaremos por el momento nuestra atencion a las tecnicas estadsticas
que permitan establecer una relacion lineal entre dos variables cuantitabivas X e Y . edad tension
1 17 114
Para obtener dicha relacion se dipondra de una muestra de n datos apareados 2 19 124
3 20 116
(X1 , Y1 ), . . . , (Xn , Yn ) 4 21 120
5 25 125
6 29 130
.. .. ..
. . .
69 70 180

Modelos de Regresion 13 / 133 Modelos de Regresion 14 / 133

Grafico de Dispersion Grafico de Dispersion

180




Una representacion adecuada de una muestra de n datos apareados

140 160

tension


(X1 , Y1 ), . . . , (Xn , Yn )






de un par de variables cuantitativas X e Y es el diagrama de dispersion.

120

Este tipo de grafico se construye representando en un plano los puntos de datos, y se

utiliza para comprobar visualmente si existe alguna relacion entre dos variables X e Y . 20 30 40 50 60 70
edad

Figura: Grafico de dispersion de edad y tension

En el grafico de arriba se aprecia que existe una relacion creciente y mas o menos lineal
entre la edad y la tension arterial de los pacientes.

Modelos de Regresion 15 / 133 Modelos de Regresion 16 / 133


Modelo de Regresion Lineal Simple

4





Se ha visto que el coeficiente de correlacion es una medida resumen de la relacion lineal

3

entre dos variables cuantitativas.



nox

2
El objetivo de los estudios de regresion es determinar la funcion f que resume dicha








relacion a traves del modelo



1



Y = f (X) + 



donde 0.6 0.7 0.8 0.9 1.0 1.1 1.2


etanol
f es la funcion de regresion (desconocida)
 es la variable aleatoria de error, no observable y que supone que la relacion
entre Y e X no es exacta. Ademas se supone que la media de esta variable es cero. En el grafico la lnea continua azul representa la curva de regresion f para el modelo

nox = f (etanol) + 

los valores de la variable de error  corresponden con las lneas verticales rojas.

Modelos de Regresion 17 / 133 Modelos de Regresion 18 / 133

Regresion Lineal Simple Interpretacion del modelo


Por simplicidad, esta seccion se centra en los modelos de regresion lineal simple que
suponen que la relacion entre las variables es lineal.
Son modelos de regresion lineal
Es decir se considera que la funcion de regresion f es de la forma f (X) = a + b X
obteniendose el siguiente modelo de regresion Y = a + bX + 

Y = a + bX +  son de gran aplicacion ya que son facilmente interpretables:

Los coeficientes a y b son coeficientes desconocidos (y seran estimados a partide de los



datos) que describen como es la relacion entre X e Y .
180








b: Pendiente de la recta de regresion. Indica el aumento medio de Y cuando la

variable X aumenta en una unidad.
160





tension









Notese que b = 0 NO hay relacion entre las variables X e Y .
140











a: La constante a coindice con el valor medio de Y cuando X toma el valor cero.

120

Este coeficiente no siempre tiene una interpretacion logica en el problema.




20 30 40 50 60 70
edad

Modelos de Regresion 19 / 133 Modelos de Regresion 20 / 133


Ejemplo. Tension Arterial Ejemplo. Tension Arterial

En el modelo anterior:
b: representa el incremento medio de tension arterial por ano de edad.
En el estudio de la tension arterial se pretende explicar la
a: representara la tension media para un individuo con edad de cero anos. Sin
tension arterial (Y ), en funcion de embargo, no tiene sentido considerar dicha edad, y por lo tanto, este coeficiente
la edad (X). no tendra una intepretacion directa.

Para ello se puede utilizar el modelo de regresion lineal: Es un valor de referencia necesario para un buen ajuste la recta.
tension = a + b edad + 
: es la componente aleatoria del modelo, y representa las perturbaciones debidas a
otras variables no observadas, como p.ej.
consumo de tabaco, consumo de alcohol, habitos alimenticios, habitos
deportivos,...

Modelos de Regresion 21 / 133 Modelos de Regresion 22 / 133

Indice Estimacion

1 Introduccion
Los coeficientes a y b del modelo de regresion
2 Regresion Lineal Simple
Y = a + bX + 
Estimacion y prediccion
Bondad de ajuste. Coeficiente R2 son desconocidos, y por lo tanto sera necesario obtener su estimacion a partir de una
Intervalos de confianza muestra de n datos apareados

(X1 , Y1 ), . . . , (Xn , Yn )
3 Otros modelos parametricos
Regresion polinomica de las variables (X, Y ).
Modelos de linealizables
Las estimaciones de a y b obtenidas con la muestra anterio seran denotadas por a y b.
Mas adelante sera explicado el procedimiento que permite obtener dichas estimaciones
4 Regresion No Parametrica
(metodo de mnimos cuadrados).
Regresion por Splines
Intervalos de confianza

Modelos de Regresion 23 / 133 Modelos de Regresion 24 / 133


Estimacion Estimacion. Metodo de Mnimos Cuadrados
Cada posible valor que asignemos a a y b define una recta de regresion en el plano
(X, Y ).

Una vez obtenidos los estimadores a y b se obtendra, para cada respuesta Yi observada
en la muestra, la correspondiente prediccion Yi dada por la recta de regresion estimada.

Yi = a + bXi

Por lo tanto el residuo (o error de estimacion) es la diferencia entre el Yi observado y


el valor ajustado Yi
ei = Yi Yi = Yi (a + bXi )

Figura: Diagrama de Dispersion y la recta de regresion que aproxima los puntos


de datos

Modelos de Regresion 25 / 133 Modelos de Regresion 26 / 133

Ejemplo. Tension arterial Estimacion

En el grafico se muestra la recta de regresion (en azul) y los correpondientes errores


(lineas horizontales rojas)

En el grafico anterior se observa que:



180


Si ei <
> 0 el ajuste Yi esta por encima de la observacion Yi




Si ei >
< 0 Yi < Yi
160





= 0 Yi = Yi , situacion ideal, pero no ocurre casi nunca.
Si ei =
tension





140







Parece natural buscar estimadores a y b que cometan pocos errores de estimacion.



120

20 30 40 50 60 70
edad

Modelos de Regresion 27 / 133 Modelos de Regresion 28 / 133


Ejemplo. Tension arterial Estimacion. Metodo de Mnimos Cuadrados

Para obtener la estimacion de los coeficientes a y b se utiliza el metodo de los Metodo


(a) (b)
de los Mnimos Cuadrados. Las estimaciones a y b seran aquellas que mimimicen la
180
Suma de los Cuadrados de los Residuos (SCR)

180











SCR(a, b) = e21 + . . . + e2n = (Y1 a b X1 )2 + . . . + (Yn a b Xn )2
160

160




tension

tension













Derivando SCR(a, b) con respecto a a y a b
a, e igualando a 0, se obtienen dos
140

140










ecuaciones con solucion,







sXY

b = y a0 = Y bX.
120

120

s2X



b
20 30 40 50 60 70 20 30 40 50 60 70
Finalmente, la recta de regresion estimada de Y sobre X se obtiene como:
edad edad
sXY
Y = a + bX = Y + (X X).
s2X
Claramente, el ajuste en (a) es mucho mejor que el ajuste (b) como se aprecia en las
longitudes de las rectas verticales rojas correspondientes a los errores de estimacion.

Modelos de Regresion 29 / 133 Modelos de Regresion 30 / 133

Ejemplo. Tension Arterial Ejemplo. Tension Arterial

En el estudio de la relacion entre la tension arterial (Y ) y la edad (X), se han A partir de la informacion anterior se obtienen los coeficientes estimados
obtenido las siguientes medidas muestrales:
223,76
b = = 0,98
227,50
edad tension
media 46.13 148.72
a = 148,72 0,98 46,13 = 103,51
cuasi-varianza 227.50 341.35

y la correspondiente recta de regresion estimada:


co
Ademas la cuasivarianza entre edad y tension es

Sedad-tension = 223,76. \ = 103,51 + 0,98 edad


tension

Modelos de Regresion 31 / 133 Modelos de Regresion 32 / 133


Ejemplo. Tension Arterial Ejemplo. Tension Arterial

180




tension= 103.35 + 0.98 edad
La interpretacion de la recta ajustada es la que sigue:

160




tension



b = 0,98 el incremento de tension esperado por ano de edad es de 0,98.

140











a = 103,51 no tiene una interpretacion directa. No tiene sentido considerar

edades iguales a cero.
120

20 30 40 50 60 70
edad

Figura: Recta de regresion estimada de tension sobre edad

Modelos de Regresion 33 / 133 Modelos de Regresion 34 / 133

Codigo R Codigo R

El calculo de los coeficientes de la recta de regresion se puede obtener con el siguient Alternativamente se puede utilizar la funcion lm()
codigo:

> mean(edad);mean(tension) #Medias > modelo=lm(tension~edad)


[1] 46.13043 > coefficients(modelo)
[1] 148.7246 (Intercept) edad
> var(edad);var(tension) #varianza 103.3526585 0.9835585
[1] 227.4974
[1] 341.3495 # Representacion grafica
> cov(edad,tension) # covarianza > plot(edad,tension,cex.axis=1.75,cex.lab=1.75,cex=1.75)
[1] 223.7570 > text(40,170,paste("tension=",round(a,2),
> # Coeficientes estimados + "+",round(b,2),"edad"),cex=1.75,col=blue)
> b=cov(edad,tension)/var(edad) > rug(edad)
> a=mean(tension)-b*mean(edad) > modelo=lm(tension~edad)
> a;b > pred=predict(modelo,type=response)
[1] 103.3527 > lines(edad,pred,lwd=2,col=blue)
[1] 0.9835585

Modelos de Regresion 35 / 133 Modelos de Regresion 36 / 133


Prediccion Codigo R

La recta de regresion puede servir para hacer predicciones: dado un nuevo valor de la Las predicciones anteriores se pueden obtener con el siguiente codigo:
covariable, x0 , se puede predecir que la variable respuesta estara alrededor de:
> edades=c(20,40,65)
Y (x0 ) = a + b x0 > pred=a+b*edades
> pred
[1] 123.0238 142.6950 167.2840
Ejemplo. Tension Arterial
La tensiones esperadas para pacientes de 20, 40 y 65 anos son, respectivamente, De forma alternativa se puede usar la funcion predict()

\
tension(edad = 20) = 103,35 + 0,98 20 = 123,02 > modelo=lm(tension~edad)
> pred=predict(modelo,type=response,
\
tension(edad = 40) = 103,35 + 0,98 40 = 142,70 + newdata=data.frame(edad=edades))
> pred
1 2 3
\
tension(edad = 65) = 103,35 + 0,98 65 = 167,28 123.0238 142.6950 167.2840

Modelos de Regresion 37 / 133 Modelos de Regresion 38 / 133

Indice Bondad de Ajuste del Modelo

1 Introduccion
Los modelos de regresion
2 Regresion Lineal Simple
Estimacion y prediccion Y = m(X) + 
Bondad de ajuste. Coeficiente R2 pretenden explicar la respuesta media de Y a traves de los valores de otra covariable o
Intervalos de confianza variable explicativa X.

3 Otros modelos parametricos


Solo tiene sentido hacer dicho estudio si realmente X contiene informacion sobre
Regresion polinomica
Y.
Modelos de linealizables

En otro caso, el modelo de regresion no sera util.


4 Regresion No Parametrica
Regresion por Splines
Intervalos de confianza

Modelos de Regresion 39 / 133 Modelos de Regresion 40 / 133


Bondad de Ajuste del Modelo Coeficiente de determinacion R2
La bondad de ajuste de un modelo de regresion puede ser entendida como la cantidad
de variabilidad de Y que es capaz de explicar X a traves de dicho modelo. Para ello se
comparara
la varianza total de la respuesta En particular, para determinar la bondad de ajuste del modelo se utiliza el coeficiente
de determinacion R2 que se define como la proporcion de variablidad explicada por
(Y1 Y )2 + . . . + (Yn Y )2 dicho modelo
VT = VT VR
n R2 =
donde VT
Y1 + . . . + Yn Propiedades de R2 :
Y = .
n 1 Evidentemente, R2 toma valores entre 0 e 1.
y la varianza residual
2 Si R2 es proximo a 1 se tiene un buen ajuste.
(e1 e)2 + . . . + (en e)2 3 Por el contrario, si R2 es proximo a 0 se tendra un mal ajuste
VR=
n
siendo el residuo ei = Yi m(Xi ), y

e1 + . . . + en
e = .
n

Modelos de Regresion 41 / 133 Modelos de Regresion 42 / 133

Coeficiente de Determinacion R2 Coeficiente de Determinacion R2

R2 =1 R2 = 0.88

-0.2

-0.2
0.8

0.8

y
y

-0.6

-0.6
0.4

0.4

-1.0

-1.0
R2 =1 R2 = 0.88
0.0

0.0

0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

x x x x

R2 = 0.64 R2 = 0.029

-0.2

-0.2
0.8

0.8

y
y

-0.6

-0.6
0.4

0.4

-1.0

-1.0
2 2
R = 0.64 R = 0.029
0.0

0.0

0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

x x x x

Figura: Valores de R2 para distintas colecciones de datos Figura: Valores de R2 para distintas colecciones de datos

Modelos de Regresion 43 / 133 Modelos de Regresion 44 / 133


Ejemplo. Tension Arterial Codigo R

En el estudio de la tension arterial se obtiene


una varianza total de la tension de V T = 341,3 y > modelo=lm(tension~edad) #ajuste modelo
> pred=predict(modelo,type=response) #prediccion
una varianza residual de V R = 121,3, > e=tension-pred #residuos
>
resultando: > (VT=var(tension)) # varianza total
[1] 341.3495
341,3 121,3 > (VR=var(e)) #varinza residual
R2 = = 0,64.
341,3 [1] 121.2714
> (R2=(VT-VR)/VT) # R2
Por lo tanto, la suposicion de linealidad puede ser considerada valida en el estudio de la [1] 0.6447295
relacion entre la edad y la tension arterial.

Modelos de Regresion 45 / 133 Modelos de Regresion 46 / 133

Coeficiente de determinacion en modelos lineales Ejemplo. Tension Arterial Diferenciada por Sexo
En un nuevo estudio se pretende estudiar la relacion entre la tension sistolica y la
Para los modelos de regresion lineal edad del paciente diferenciando por el sexo del paciente. Se han estudiado 69
pacientes, de los cuales, 29 son mujeres y 40 hombres.
Y =a+bX +
se cumple la relacion
R2 = rXY
2
= Corr(X, Y )2 . hombre

180
mujer

Ejemplo. Tension arterial

160


tension

En el ejemplo R2 tambien podra ser calculado directamente como

140


Corr(edad, tension)2 = 0,802 = 0,64




120
El coeficiente de determinacion lineal R2 se calcula con el codigo


>modelo=lm(tension~edad) #ajuste modelo 20 30 40 50 60 70


> summary(modelo)$r.squared edad
[1] 0.6447295
Figura: Grafico de dispersion de edad y tension diferenciando por sexo

Modelos de Regresion 47 / 133 Modelos de Regresion 48 / 133


Ejemplo. Tension Arterial Diferenciada por Sexo Ejemplo. Tension Arterial Diferenciada por Sexo

hombre

180
mujer A continuacion se muestran los coeficientes correspondiente al ajuste

160


tension = a + b edad + 
tension




a b R2
140








global 103.3 0.98 0.64

hombre 110.0 0.96 0.75
120



mujer 97.1 0.95 0.71

20 30 40 50 60 70
edad

Figura: Ajustes lineales de tension frente a edad diferenciando por sexo

Modelos de Regresion 49 / 133 Modelos de Regresion 50 / 133

Ejemplo. Tension Arterial Diferenciada por Sexo Codigo R

De este estudio se pueden obtener las siguientes conclusiones: datos=read.table(file="tension.txt",header=T)


edad=datos$edad
La relacion entre la tension y la edad es lineal en mujeres y hombres. tension=datos$tension
El grado de ajuste es similar para mujeres (R2 = 0,71) y para hombres sexo=datos$sexo
(R2 = 0,75).
edadh=edad[sexo=="hombre"]
La tension (media) para la edad 0 es mas alta en los hombres (a = 110,0) que en edadm=edad[sexo=="mujer"]
las mujeres (a = 97,1). De todas formas, el termino constante carece de tensionh=tension[sexo=="hombre"]
interpretacion en este caso ya que no tiene sentido considerar una edad igual a tensionm=tension[sexo=="mujer"]
cero.
El incremento (medio) de tension por ano de edad es practicamente el mismo para > modelo=lm(tension~edad)
mujeres (b = 0,95) que para hombres (b = 0,96). > modeloh=lm(tensionh~edadh)
> modelom=lm(tensionm~edadm)

Modelos de Regresion 51 / 133 Modelos de Regresion 52 / 133


Codigo R Codigo R

>
> coefficients(modelo) # Representacion grafica
(Intercept) edad plot(edad,tension,pch=19,col=0,
103.3526585 0.9835585 cex.axis=1.75,cex.lab=1.75,cex=1.75)
> coefficients(modeloh) points(edadh,tensionh,pch=17,col=blue,cex=1.5)
(Intercept) edadh points(edadm,tensionm,pch=16,col=red,cex=1.5)
110.0154860 0.9623564 rug(edadh,col=blue)
> coefficients(modelom) rug(edadm,col=red)
(Intercept) edadm
97.0770843 0.9493225 pred=predict(modeloh,type=response)
> round(summary(modelo)$r.squared,2) lines(edadh,pred,lwd=2,col=blue)
[1] 0.64 pred=predict(modelom,type=response)
> round(summary(modeloh)$r.squared,2) lines(edadm,pred,lwd=2,col=red)
[1] 0.75 legend(18,190,c("hombre","mujer"),
> round(summary(modelom)$r.squared,2) col=c(blue,red),pch=c(17,16),box.lty=0,cex=1.5)
[1] 0.71

Modelos de Regresion 53 / 133 Modelos de Regresion 54 / 133

Indice Introduccion

1 Introduccion En esta seccion se considera el modelo de regresion lineal

2 Regresion Lineal Simple Y =a+bX +


Estimacion y prediccion donde es un error aleatorio que se supone que sigue la distribucion gaussiana
Bondad de ajuste. Coeficiente R2
Intervalos de confianza i N 0, 2


de media nula y varianza poblacional 2 . Notese que el modelo considerado es


3 Otros modelos parametricos homocedastico ya que la varianza 2
Regresion polinomica
Modelos de linealizables Como estimador de , se utiliza la desviacion tpica residual dada por
r
4 Regresion No Parametrica e21 + . . . + e2n
=
Regresion por Splines n2
Intervalos de confianza

Modelos de Regresion 55 / 133 Modelos de Regresion 56 / 133


Ejemplo. Tension Arterial IC para los coeficientes de regresion

Los estadsticos pivote para los coeficientes a y b son

En los datos de tension se obtiene = 11,09 a a


r   tn2
X 2
n1 1 + s2
X

> modelo=lm(tension~edad) y
> pred=predict(modelo,type=response)
> e=tension-pred # residuos b b
sX n tn2
> n=length(edad)
> sqrt(sum(e^2)/(n-2)) #estimacion de sigma resultando los IC
[1] 11.09421 s  !
1 X 2
a0 =
IC a 0 tn2,1/2
1+ 2
> summary(modelo)$sigma # de forma equivalente n sX
[1] 11.09421
y
 
sR
b1 =
IC b1 tn2,1/2
sX n

Modelos de Regresion 57 / 133 Modelos de Regresion 58 / 133

Ejemplo. Tension Arterial Prediccion de la respuesta media y de una observacion

En los datos de tension los coeficientes estimados (y sus correspondientes IC95 %) son
Uno de los motivos por los que se ajusta un modelo de regresion a una nube de datos es
los que siguen
utilizar el modelo de regresion ajustado para predecir el valor de la variable respuesta
Y sabiendo que la variable regresora toma un determinado valor x0 .
a 103.35 (94.72,111.99)
b 0.98 (0.81, 1.16)
Claramente, la prediccio de Y para X = x0 viene dada por

> coefficients(modelo) Y (x0 ) = a + b x0


(Intercept) edad
Sin embargo, se necesita distinguir entre
103.3526585 0.9835585
> confint(modelo) la prediccion de la respuesta media, y
2.5 % 97.5 % la prediccion de observaciones futuras.
(Intercept) 94.7178117 111.987505
edad 0.8055191 1.161598 Los correspondientes IC seran distintos dependiendo del tipo de prediccion.

Modelos de Regresion 59 / 133 Modelos de Regresion 60 / 133


Ejemplo. Tension Arterial IC para la media condicionada

El intervalo de confianza, con nivel de confianza 1 , para la respuesta media para un


Para entender mejor la diferencia entre los dos tipos de prediccion considerese el estudio determinado valor x0 de X viene dado por
de la tension arterial en funcion de la edad.  

a + b x0 tn2,1/2
Puede interesar: n0
siendo
La tension media de una persona de 45 anos, o bien
La tension de una determinada persona que tiene 45 anos n
n0 =  2
x0 X
1+ sX

Modelos de Regresion 61 / 133 Modelos de Regresion 62 / 133

IC para la media condicionada Ejemplo. Tension Arterial

A continuacion se presenta una tabla con la tension media estimada y los


Al utilizar la recta de regresion para predecir o estimar una media condicionada debe de correspondientes IC 95 % para distintos valores de edad
tenerse en cuenta que esto es razonable dentro del rango de valores de x (interpolar) .
edad tension l.inf l.sup
1 20.00 123.02 117.66 128.39
Si x0 esta muy alejado de X entonces n0 1, la varianza de a + b x0 sera muy 2 30.00 132.86 128.94 136.78
grande, y consecuentemente la longitud del IC sera muy grande. 3 40.00 142.69 139.81 145.58
4 50.00 152.53 149.78 155.28
5 60.00 162.37 158.73 166.00
El caso opuesto es que x0 = X obteniendose n0 = n, y por lo tanto la longitud del
6 70.00 172.20 167.19 177.22
IC se hace mnima.

Notese el aumento de la longitud de los intervalos a medidas que los valores de edad se
distancian de la edad media de 46.1 anos.

Modelos de Regresion 63 / 133 Modelos de Regresion 64 / 133


Codigo R

180







> predict(modelo,newdata=data.frame(edad=edades),

160




+ type=response,interval="confidence")

tension



fit lwr upr

140



1 123.0238 117.6619 128.3857






2 132.8594 128.9410 136.7779


120
3 142.6950 139.8144 145.5756


4 152.5306 149.7772 155.2840

5 162.3662 158.7324 165.9999 20 30 40 50 60 70


6 172.2018 167.1851 177.2184 edad

Figura: IC 95 % para la prediccion de la tension media

Modelos de Regresion 65 / 133 Modelos de Regresion 66 / 133

IC para una nueva observacion Ejemplo. Tension Arterial

A continuacion se presentan, para distintos valores de edad, los correspondientes IC


El intervalo de confianza para una nueva observacion de Y dado un valor x0 de X viene 95 % para un nuevo valor de tension
dado por
r ! edad tension l.inf l.sup
1 1 20.00 123.02 100.24 145.81
a + b x0 tn2,1/2 1 +
n0 2 30.00 132.86 110.37 155.35
3 40.00 142.69 120.36 165.03
4 50.00 152.53 130.22 174.85
Notese que los intervalos para una nueva observacion son mucho mayores que los 5 60.00 162.37 139.93 184.81
intervalos para la respuesta media. 6 70.00 172.20 149.50 194.91

Modelos de Regresion 67 / 133 Modelos de Regresion 68 / 133


Codigo R

180






160

> predict(modelo,newdata=data.frame(edad=edades),




tension

+ type=response,interval="prediction")

140
fit lwr upr







1 123.0238 100.2398 145.8079






2 132.8594 110.3713 155.3476

120

3 142.6950 120.3643 165.0257


4 152.5306 130.2159 174.8452
5 162.3662 139.9259 184.8065 20 30 40 50 60 70
edad
6 172.2018 149.4965 194.9070

Figura: IC 95 % para la prediccion de una nueva tension.

Modelos de Regresion 69 / 133 Modelos de Regresion 70 / 133

Codigo R


180


plot(edad,tension,pch=19,





cex.axis=1.75,cex.lab=1.75,cex=1.5,col=grey)

edades=seq(20,70,1)
160





pred=predict(modelo,newdata=data.frame(edad=edades),
tension




type=response,interval="confidence")
140








lines(edades,pred[,1],cex=2,col=blue,lwd=2)




lines(edades,pred[,2],cex=2,col=blue,lwd=2,lty=1)

120


lines(edades,pred[,3],cex=2,col=blue,lwd=2,lty=1)

20 30 40 50 60 70 pred=predict(modelo,newdata=data.frame(edad=edades),
edad type=response,interval="prediction")
lines(edades,pred[,1],cex=2,col=red,lwd=2)
Figura: IC para la tension media vs. IC para la prediccion de una nueva tension. lines(edades,pred[,2],cex=2,col=red,lwd=2,lty=2)
lines(edades,pred[,3],cex=2,col=red,lwd=2,lty=2)

Modelos de Regresion 71 / 133 Modelos de Regresion 72 / 133


Indice Limitaciones de los Modelos de Regresion

Los modelos de regresion lineal permiten establecer una relacion lineal entre la variable
1 Introduccion explicatiba X y la variable respuesta Y .

2 Regresion Lineal Simple



Estimacion y prediccion

Sin embargo, como se ve en el








Bondad de ajuste. Coeficiente R2 grafico de la derecha,







3


Intervalos de confianza

los datos no siempre se van a

nox


2



ajustar a la suposicion de





3 Otros modelos parametricos linealidad.




1


Regresion polinomica






Modelos de linealizables En este caso el modelo de

0.6 0.7 0.8 0.9 1.0 1.1 1.2


regresion lineal estara mal etanol
especificado, y las conclusiones
4 Regresion No Parametrica obtenidas pueder ser erroneas.
Regresion por Splines Figura: Ajuste lineal de la relacion
Intervalos de confianza entre la concentracion de oxido
ntrico y etanol

Modelos de Regresion 73 / 133 Modelos de Regresion 74 / 133

Limitaciones de los Modelos de Regresion Codigo R

La utilizacion del modelo lineal

etanol = a + b nox +  plot(etanol,nox,pch=19,


cex.axis=1.75,cex.lab=1.75,cex=1.5,col=grey)
nox l.inf l.sup modelo=lm(etanol~nox)
a 0.96 0.88 1.05 grid=seq(0.37,4,0.1)
b -0.02 -0.06 0.02 pred=predict(modelo,newdata=data.frame(nox=grid),
type=response)
lines(grid,pred,cex=2,col=blue,lwd=2)
llevara a conclusiones erroneas.
En el grafico anterior se ve una clara relacion entre etanol y nox. coefficients(modelo)
Sin embargo, el IC para b es (0,06, 0,02) que contiene al cero, por lo que b no es confint(modelo)
significativamente distinto a cero, y consecuentemente no se aprecia efecto de nox
en etanol.

Modelos de Regresion 75 / 133 Modelos de Regresion 76 / 133


Regresion Polinomica
1 Introduccion
Los modelos de regresion polinomicos son una generalizacion de los modelos de
2 Regresion Lineal Simple regresion lineal, y permiten describir el comportamiento en promedio de la variable
Estimacion y prediccion repuesta Y condicionada por valores de una variable independente X utilizando una
Bondad de ajuste. Coeficiente R2 representacion funcional polinomial:
Intervalos de confianza
Modelo lineal o recta de regresion

Y = 0 + 1 X + 
3 Otros modelos parametricos
Regresion polinomica Modelo cuadratico o parabola de regresion
Modelos de linealizables
Y = 0 + 1 X + 2 X 2 + 
4 Regresion No Parametrica Modelo cubico
Regresion por Splines Y = 0 + 1 X + 2 X 2 + 3 X 3 + 
Intervalos de confianza
- etc.

Modelos de Regresion 77 / 133 Modelos de Regresion 78 / 133

Estimacion Regresion Polinomica


p=2 R2= 0.915 p=4 R2= 0.896 p=6 R2= 0.915





Los estimadores de los parametros 0 , . . . , p que definen el polinomio de regresion de












orden p





Y = 0 + 1 X + . . . + p X p + 

se calculan con el metodo de mnimo cuadrados. A partir de una muestra








(X1 , Y1 ), . . . , (Xn , Yn ), las estimaciones 0 , . . ., p se obtienen minimizando la

nox

nox

nox


2
siguiente suma de residuos al cuadrado:













(Y1 Y1 )2 + . . . + (Yn Yn )2


1
siendo












Yi = 0 + 1 Xi + . . . + p Xip














0.6 0.8 1.0 1.2 0.6 0.8 1.0 1.2 0.6 0.8 1.0 1.2
etanol etanol etanol

Figura: Ajuste polinomico de orden p de la relacion entre el oxido ntrico y etanol.

Modelos de Regresion 79 / 133 Modelos de Regresion 80 / 133


Codigo R Indice

1 Introduccion

modelo=lm(nox~etanol+I(etanol^2)+I(etanol^3)+ 2 Regresion Lineal Simple


I(etanol^4)+I(etanol^5)+I(etanol^6)) Estimacion y prediccion
plot(etanol,nox,pch=19,main=paste("p=6 "," R2=", Bondad de ajuste. Coeficiente R2
round(summary(modelo)$r.squared,3)), Intervalos de confianza
cex.axis=1.75,cex.lab=1.75,cex=1.5,col=grey)
grid=seq(0.5,1.4,0.02) 3 Otros modelos parametricos
pred=predict(modelo,type=response, Regresion polinomica
newdata=data.frame(etanol=grid)) Modelos de linealizables
lines(grid,pred,cex=2,col=blue,lwd=2)
4 Regresion No Parametrica
Regresion por Splines
Intervalos de confianza

Modelos de Regresion 81 / 133 Modelos de Regresion 82 / 133

Linealizacion en Modelos de Regresion Ejemplo. Relacion Demanda-Precio

R2= 0.781

Ejemplo: Relacion Demanda-Precio

6
Se consideran los 10 datos de las variables X = cantidad demandada de una

mercanca e Y = precio de la mercanca que vienen en la siguiente tabla y

precio
representados en el correspondiente grafico de dispersion

4
cantidad 7 15 16 32 60 64 67 73 84 100

2

precio 7.9 5.5 4.1 2 1 0.6 0.65 0.5 0.4 0.4

20 40 60 80 100
cantidad

Figura: Recta de regresion estimada de precio sobre demanda

Modelos de Regresion 83 / 133 Modelos de Regresion 84 / 133


Ejemplo. Relacion Demanda-Precio Codigo R

Aunque el valor de R2 = 0,78 es relativamente alto, lo cierto es que una recta no es un cantidad=c(7,15,16,32,60 ,64 ,67 ,73 ,84 ,100)
modelo muy adecuado para estos datos. precio=c(7.9 ,5.5,4.1,2,1,0.6,0.65,0.5,0.4,0.4)
modelo=lm(precio~cantidad)
Por ejemplo la prediccion del precio para una demanda de 90 unidades es de
plot(cantidad,precio,pch=19,main=paste(" R2=",
6,07 0,07 90 = 0,23euros round(summary(modelo)$r.squared,3)),
cex.axis=1.75,cex.lab=1.75,cex=1.5,col=grey)
grid=seq(7,100,1)
Parece razonable considerar otra forma funcional (distinta de una recta) para explicar la pred=predict(modelo,type=response,
relacion entre el precio y la demanda. newdata=data.frame(cantidad=grid))
lines(grid,pred,cex=2,col=blue,lwd=2)

Modelos de Regresion 85 / 133 Modelos de Regresion 86 / 133

Modelos Linealizables Modelo de Regresion Exponencial

Se ajuste el modelo
La recta de regresion es un modelo de regresion lineal. Existen otros modelos de
regresion no lineales que pueden ser resueltos como una recta de regresion simplemente Y = a + b X +  (1)
aplicando una transformacion a los datos a partir de la muestra transformada (X1 , Y1 ), . . . , (Xn , Yn ), obteniendose las
estimaciones a y b .
El Modelo Exponencial supone la relacion
Se obtienen las estamaciones del modelo inicial
Y = a ebX

Aplicando logaritmos se obtiene la relacion lineal a = exp (a ) y b = b


obteniendose finalmente el modelo ajustado
Y = log Y = log a + b X
Y = a ebX
La bondad de ajuste del modelo viene dado por el R2 obtenido en el ajuste de (1)

Modelos de Regresion 87 / 133 Modelos de Regresion 88 / 133


Ejemplo: Ajuste Exponencial Demanda-Precio Ejemplo: Ajuste Exponencial Demanda-Precio

R2= 0.948
A continuacion se presentan los datos de demanda, y de precio en su escala original y
en escala logartmica.

2.0

cantidad precio log precio

1 7.00 7.90 2.07

1.0
logprecio
2 15.00 5.50 1.70

3 16.00 4.10 1.41
4 32.00 2.00 0.69

0.0

5 60.00 1.00 0.00
6 64.00 0.60 -0.51

7 67.00 0.65 -0.43

1.0
8 73.00 0.50 -0.69

9 84.00 0.40 -0.92 20 40 60 80 100


10 100.00 0.40 -0.92 cantidad

Figura: Recta de regresion estimada de log precio sobre demanda

Modelos de Regresion 89 / 133 Modelos de Regresion 90 / 133

Ejemplo. Demanda-Precio Ejemplo. Demanda-Precio

R2= 0.948

La recta de regresion ajustada de log precio sobre la demanda es

6
precio = 2,03 0,03demanda
log\

precio
con un coeficiente de determinacion R2 = 0,95

4
Deshaciendo la transformacion se obtiene el siguiente modelo exponencial ajustado

\ = 7,6042 e0,0345cantidad
precio

20 40 60 80 100
cantidad

Figura: Ajuste exponencial de precio sobre demanda

Modelos de Regresion 91 / 133 Modelos de Regresion 92 / 133


Codigo R Codigo R

logprecio=log(precio)

modelo=lm(logprecio~cantidad) # Se deshace la transformacion


plot(cantidad,logprecio,pch=19,main=paste(" R2=", plot(cantidad,precio,pch=19,main=paste(" R2=",
round(summary(modelo)$r.squared,3)), round(summary(modelo)$r.squared,3)),
cex.axis=1.75,cex.lab=1.75,cex=1.5,col=grey) cex.axis=1.75,cex.lab=1.75,cex=1.5,col=grey)
grid=seq(7,100,1) grid=seq(7,100,1)
pred=predict(modelo,type=response, pred=predict(modelo,type=response,
newdata=data.frame(cantidad=grid)) newdata=data.frame(cantidad=grid))
lines(grid,pred,cex=2,col=blue,lwd=2) lines(grid,exp(pred),cex=2,col=blue,lwd=2)
coefficients(modelo)
summary(modelo)

Modelos de Regresion 93 / 133 Modelos de Regresion 94 / 133

Otros Modelos Linealizables Otros Modelos Linealizables

Modelo Logartmico
Modelo Y = b0 + b1 log X
Transformacion Z = log X
Modelo Inverso
Forma Lineal T = b0 + b1 Z
Modelo Y = b0 + b1 /X
Transformacion z = 1/X
Forma Lineal Y = b0 + b1 Z
Modelo Potencial
Modelo Y = b0 X b1
Transformacion T = log Y Z = log X
Forma Lineal T = log b0 + b1 Z

Modelos de Regresion 95 / 133 Modelos de Regresion 96 / 133


Indice Introduccion

1 Introduccion

Como acabamos de ver los modelos de regresion permiten establecer la relacion entre la
2 Regresion Lineal Simple
covariable X y la respuesta Y de acuerdo a la relacion matematica
Estimacion y prediccion
Bondad de ajuste. Coeficiente R2
Y = f (X) + 
Intervalos de confianza
Los modelos de regresion parametrica establecen una forma parametrica para f :
3 Otros modelos parametricos Modelo Lineal: f (x) = a + b x.
Regresion polinomica
Modelo Exponencial: f (x) = a bX
Modelos de linealizables
etc.
4 Regresion No Parametrica
Regresion por Splines
Intervalos de confianza

Modelos de Regresion 97 / 133 Modelos de Regresion 98 / 133

A continuacion se realiza un ajuste lineal

Los modelos de regresion parametricos son de gran utilidad ya que toda la informacion
> modelo=lm(nox~etanol) # ajuste lineal
se resume en los parametros de modelo, y la interpretacion de este tipos de modelos
> a=summary(modelo)
suele ser muy sencilla.
> a$r.squared #R2
Sin embargo, si la parametrizacion elegida es demasiado rgida, y no ajusta bien a los [1] 0.01049049
datos, entonces las conclusiones obtenidas pueden ser erroneas.
> a$coefficients # coeficientes del modelo
Para ver mas claramente el efecto de una mala especificacion del modelo consideremos Estimate Std. Error t value Pr(>|t|)
de nuevo los datos del fichero etanol.txt. Recordemos que este fichero estan los datos (Intercept) 2.4867089 0.5667850 4.3873937 3.239918e-05
de dos variables en un experimento de gases del motor de un automovil etanol -0.5702952 0.5972587 -0.9548544 3.423276e-01
nox: concentracion de oxido ntrico.
Notese que se obtiene un p-valor para etanol de 0.34 por lo que, bajo este modelo, se
etanol: valores de etanol.
concluye que no es significativo el efecto de etanol en nox.
Sin embargo esta conclusion es totalmente erronea como se puede ver a simple vista.en
el siguiente grafico.

Modelos de Regresion 99 / 133 Modelos de Regresion 100 / 133


plot(etanol,nox)
Regresion No Parametrica
abline(lm(nox~etanol),lwd=2,col=red) # Ajuste lineal

Ante este tipo de situacones es necesario el desarrollo y aplicacion de modelos mas


generales y flexibles que permitan una correcta modelizacion matematica. En los utlimos
4







anos ha surgido una lnea de investigacion en el campo de la estadstica funcional no




parametrica que ha permitido el desarrollo y aplicacion de modelos mas generales.
3

En los modelos de regresion no parametrica la funcion de regresion f que establece la


nox










relacion



Y = f (X) + 
1











no sigue una forma parametrica fija, sino que depende de una funcion totalmente
0.6 0.7 0.8 0.9 1.0 1.1 1.2 desconocida a la que unicamente se le exige un cierto grado de suavidad.
etanol

Figura: Grafico de dispersion de nox y etanol y su correspondiente ajuste lineal

Modelos de Regresion 101 / 133 Modelos de Regresion 102 / 133

Indice
Para la estimacion de la curva de regresion f sera necesario la utilizacion de algun
metodo de suavizacion. Entre otros, se pueden destacar:
1 Introduccion
suavizadores kernel (Nadaraya,1964; Watson,1964),
suavizadores polinomicos locales,
2 Regresion Lineal Simple
cubic smoothing splines (Wahba, 1990; Hastie e Tibshirani, 1990), o Estimacion y prediccion
splines de regresion penalizados (Ruppert et al., 2003; Wood, 2006). Bondad de ajuste. Coeficiente R2
Intervalos de confianza
Aqu consideraremos el marco metodologico de la Regresion Spline Penalizada
(P-Splines) desarrollado por Wood (2006) y utilizado en la rutina gam de la librera mgcv 3 Otros modelos parametricos
de R. Regresion polinomica
La regresion por splines 1 consiste en ajustar un polinomio de grado p (normalmente Modelos de linealizables
p = 3), que deben unirse suavemente en cada uno de los nodos interiores.
4 Regresion No Parametrica
Regresion por Splines
Intervalos de confianza

1
de Boor C. A practical guide to splines.Revised Edition. New York: Springer-Verlag,
2001
Modelos de Regresion 103 / 133 Modelos de Regresion 104 / 133
Regresion por Splines
Dependiendo del tipo de bases se obtendran distintos tipos de regresion. Normalmente
se consideran Natural Splines o B-Splines. En los dos tipos de bases sera necesario
En este contexto, la funcion parcial f sigue la siguiente estructura:
seleccionar M nodos interirores C1 , . . . , CM , de forma que
f (x) = a1 B1 (x) + . . . + aK BK (x) Xmin < C1 < . . . < CK <= Xmax
donde
K indica el numero bases, Natural Splines
a1 , . . . , aK son parametros desconocidos, y En la regresion basada en natural splines de orden p se considera la estructura
B1 , . . . , BK son funciones conocidas f (x) = 0 + 1 x + . . . + p xp + 1 (x C1 )p+ + . . . + K (x cK )p+
dependen unicamente de la posicion de los llamados nodos donde 0 , 1 , . . . , p , 1 , . . . , K son coeficientes a determinar, y
(comentaremos mas adelante).
(x t)p si t > x

(x t)p+ =
Por lo tanto, en la regresion spline se reduce un problema de regresion no parametric a 0 si t x
un problema parametrico. es la llamada funcion potencia truncada de orden p.
Unicamente sera necesario estimar los coeficientes a1 , . . . , aK ajustando un
modelo de regresion lineal.

Modelos de Regresion 105 / 133 Modelos de Regresion 106 / 133

Splines en R

Por lo tanto el spline f se puede expresar como como la combinacion lineal

Las funcion ns() de la librera splines de R calculan las bases de funciones para los
f (x) = a0 B0 (x) + . . . + ap Bp (x) + ap+1 Bp+1 (x) + . . . + ap+M Bp+M (x) splines naturales.
donde las funciones
Configuracion por defecto
B0 (x) = 1, B1 (x) = x, . . . , Bp (x) = xp
Bp+1 (x) = (x C1 )+ , . . . , Bp+M (x) = (x CM )+ los nodos son tomados como los cuantiles:

forman una base de funciones polinomicas del spline. Si hay 1 solo nodo este sera la mediana.
Si hay 2 nodos entonces estos son los percentiles 33 % y 66 %.
De este modo, un modelo de regresion no parametrico se convierte en un modelos de Si hay 3 nodos nodos estos son los cuartiles, y as sucesivamente.
regresion parametrica, y los coeficientes a0 , . . . , p+M +1 son obtenidos utilizando
mnimos cuadrados.
el grado de la parte polinomial es tomado como p=3.

Modelos de Regresion 107 / 133 Modelos de Regresion 108 / 133


Ejemplo: Etanol Codigo R
En la izquierda se muestran 6 funciones de bases natuaral splines para etanol y en el
grafico de la derecha la correspondiente regresion
Los graficos anteriores han sido obtenidos con el siguiente codigo:
N Splines df= 6

22 6

4
22
datos=read.table("c:/datos/etanol.txt",header=T)
5 2 3333

33 33 4444 6
0.6

2
5 111 22 2





etanol=datos$etanol; nox=datos$nox
5 1 11 2 34 4

5 1 1 2

5 1 4
3 4 655

5 3
0.4

21
43 # ordenamos los valores
51 2 1 465

3
5 3
55

2 1 3 2 4
15 56

ii=order(etanol) ;etanol=etanol[ii]; nox=nox[ii]
3 2 4 4

55 2 24 35556
k=6

133
0.2

1 52 24

5 42 55
3 4
base

25 4 2 55 336

nox
1 1
22 555 3 11

44 2 5 6



par(mfcol=c(1,2))
3 11 52 63
2
5
2 55

2
2 35 5555 22 26

3 5 333
2 5 41 15 base=ns(etanol,df=k,intercept=T)
0.0

33 2
233
223132 333
233 45
33333333 444 44 5554
5 51 13

46
46
46 6 61
61
61111111 12
12
12
12
12
12
1213
213
21
2

444 6 666 6 6666666 6


4
444666 66

1 44
4 6


matplot(etanol,base,col=1:6,type=b,cex=1.5,main=N Splines)
44 6

14444 66 4

plot(etanol,nox,main=paste("df=",k),col=1)
0.2

44 6
6

6 lines(etanol,fitted(lm(nox~ns(etanol,df=k))),col=2,lwd=2,lty=1)
1

6

1 6

6

6
0.4



66

6

0.6 0.7 0.8 0.9 1.0 1.1 1.2 0.6 0.7 0.8 0.9 1.0 1.1 1.2
etanol etanol

Modelos de Regresion 109 / 133 Modelos de Regresion 110 / 133

A continuacion se muestran los graficos analogos a los anteriores correspondientes a


B-splines bases B-splines:

BSplines df= 6

1.0
1 6

0.8
1

3
1

Las base de natural splines tiende a crear problemas de multicolinealidad, por lo que es 1 555

0.6
44444444 55 5 6

2 333 3
recomendable la utilizacion de otro tipo de bases. 22 222

4
33 4 5

base
3

nox
2 2 33 33 4

1 2 4 4 5
6
2 43 5

2
3 4 3

Una alternativa a los natural splines son los B-splines cuya base de funciones es

0.4
1 32 4 5
2 5

4 4 6

2 3 2

3 55 4 6

3
calculada recursivamente (vease de Boor, 2001). 2 1 3
1 24
4
3
3 5 4



3 2 35 4

0.2
2 42 3
5 4

4
31 533 6

En R se pueden calcular facilmente estas bases utilizando la funcion bs(). La 3


1 444 22
5 3
55 33 6 44
6
5



33 1144 22

225 3 6 4

configuracion por defecto de esta funcion es la misma que la utilizada para la funcion 233
3 44444111
15
52 633 4
3

0.0
55
3
66
445
655
5
44
466
644666
466
55555
56
656
56
5651
56616
56
5 55
165
16 5
55
1 66
6
1115
15
666
16
16
1 2
62
162
162
162
162
16
16
16
216
2216
16
212
2 12
123
123
13
1213
213
2214
13
215
3
23
1
2
4

ns(). 0.6 0.7 0.8 0.9 1.0 1.1 1.2 0.6 0.7 0.8 0.9 1.0 1.1 1.2
etanol etanol

k=6
base=bs(etanol,df=k,intercept=T)
matplot(etanol,base,col=1:6,type=b,cex=1.5,main=B-Splines)
plot(etanol,nox,main=paste("df=",k),col=1)
lines(etanol,fitted(lm(nox~bs(etanol,df=k))),col=2,lwd=2,lty=1)

Modelos de Regresion 111 / 133 Modelos de Regresion 112 / 133


Comparacion N-Splines vs. B-Splines
En el siguiente grafico se compara el ajuste obtenido en el ejemplo de etanol utilizando
Natural Splines y B-Splines. En ambos caso se ha utilizado df=6.

plot(etanol,nox,main="",col=1)
lines(etanol,fitted(lm(nox~ns(etanol,df=k))),col=blue,

4 NSplines



lwd=2,lty=1)

BSplines



lines(etanol,fitted(lm(nox~bs(etanol,df=k))),col=red,

lwd=2,lty=2)
3



legend(.5,4,c(N-Splines,B-Splines),
nox





box.lty=0,lty=c(1,2),lwd=c(1.5,1.5)
2










,col=c(blue,red),merge=FALSE)


1

0.6 0.7 0.8 0.9 1.0 1.1 1.2


etanol

Como se puede ver en el grafico, las estimaciones obtenidas con los dos metodos son
muy similares.
Modelos de Regresion 113 / 133 Modelos de Regresion 114 / 133

Efecto del Numero de Nodos

Cuestiones Abiertas ..... df=1


df=3

3
df=6

df=20

Numero de nodos ??

nox



Localizacion de los mismos ??








0.6 0.7 0.8 0.9 1.0 1.1 1.2


etanol

Cuantos mas grados de libertad menos suave sera la estimacion resultante y


viceversa.
Para el caso extremo en que df=1 la curva estimada sera de tipo parametrico.

Modelos de Regresion 115 / 133 Modelos de Regresion 116 / 133


Efecto de la Posicion de los Nodos

nodos: c1=0.6, c2=0.7, c3=1.2 nodos: c1=0.7, c2=0.9, c3=1.0 nodos: c1=0.9, c2=1.1, c3=1.2

4
plot(etanol,nox,main="",col=1)

lines(etanol,fitted(lm(nox~ns(etanol,df=1))),col=black,lwd=1,lty=1)

lines(etanol,fitted(lm(nox~ns(etanol,df=3))),col=blue,lwd=1,lty=1)

lines(etanol,fitted(lm(nox~bs(etanol,df=6))),col=red,lwd=2,lty=1)

lines(etanol,fitted(lm(nox~bs(etanol,df=20))),col=brown,lwd=3,lty=1)

nox

nox

nox
legend(.5,4,c(df=1,df=3,df=6,df=20),

box.lty=0,lty=c(1,1,1,1),lwd=c(1,1,2,3),

col=c(black,blue,red,brown),merge=FALSE,cex=2)

0.6 0.8 1.0 1.2 0.6 0.8 1.0 1.2 0.6 0.8 1.0 1.2
etanol etanol etanol

La posicion de los nodos influye fuertemene en la curva estimada.

Modelos de Regresion 117 / 133 Modelos de Regresion 118 / 133

Penalizacion
nodos=c(0.6,0.7,1.2)
plot(etanol,nox,main="nodos: c1=0.6, c2=0.7, c3=1.2",col=1)
lines(etanol,fitted(lm(nox~bs(etanol, Una forma de evitar los problemas derivados de la seleccion del numero de nodos y de la
knots=nodos))),col=4,lwd=2,lty=1) ubicacion de los mismos consiste en:
abline(v=nodos,lty=2,col=red,lwd=2)
Aproximar la funcion f utilizando un numero grande de nodos que permitan
nodos=c(0.7,0.9,1.1) obtener una funcion estimada flexible.
plot(etanol,nox,main="nodos: c1=0.7, c2=0.9, c3=1.0",col=1) Penalizar la alta variabilidad de f con un termino de penalizacion que depende de
lines(etanol,fitted(lm(nox~bs(etanol, los coeficientes .
knots=nodos))),col=4,lwd=2,lty=1)
abline(v=nodos,lty=2,col=red,lwd=2)
Los P-Splines utilizan el siguiente termino de penalizacion relacionado
nodos=c(0.9,1.1,1.2) con la curvatura de la curva obtenenida:
plot(etanol,nox,main="nodos: c1=0.9, c2=1.1, c3=1.2",col=1) Z
lines(etanol,fitted(lm(nox~bs(etanol,
pen(f) = (f 00 (x))2 dx
knots=nodos))),col=4,lwd=2,lty=1)
abline(v=nodos,lty=2,col=red,lwd=2)

Modelos de Regresion 119 / 133 Modelos de Regresion 120 / 133


P-Splines Seleccion automatica de los grados de libertad
Esta claro que las estimaciones resultante dependen fuertemente de los grados de
libertad utilizados en la estimacion del modelo.
Por lo tanto, los coeficientes a = a0 , . . . , aM son estimados minimizando la siguiente
suma de residuos cadrados penalizados 1 Si se aumentan los grados de libertad disminuye el sesgo de la estimacion pero
aumenta la varianza.
n
X Z
(Yi Xi a)2 + (f 00 (x))2 dx (2)
i=1
2 Inversamente, disminuir los grados de libertad hace decrecer la varianza pero
entonces el sesgo tiende a aumentar.
(f 00 (X))2 dx mide del grado de curvatura de f ,
R

penalizada por los valores de (parametro de suavizado): Por tanto, deber ser aplicado algun criterio automatico, basado en la minimizacion de un
criterio de error, para equilibrar el sesgo frente a la varianza.
Valores de , hacen que df 0, y llevan a estimar f como una
La rutina gam en la librera mgcv elige de forma automatica los grado de libertad usando
recta.
En cambio valores de =0 , hacen que df = , dan lugar a una el creiterio de validacion cruzada generalizada (GCV), o
estimacion no penalizada y por lo tanto a la interpolacion de los datos. el criterio Un-Biased Risk Estimator (UBRE )
Para mas informacion sobre estos criterios vease la referencia
Wood, Simon. Generalized additive models: an introduction with R (2006). CRC
Statistics. Reino Unido.
Modelos de Regresion 121 / 133 Modelos de Regresion 122 / 133

Ejemplo: Etanol Indice


A continuacion se muestra la suavizacion por splines de oxido ntrico vs etanol utilizando
la rutina gam con seleccion automatica de los grados de libertad.
1 Introduccion

2 Regresion Lineal Simple


4











Estimacion y prediccion




Bondad de ajuste. Coeficiente R2
3





Intervalos de confianza

nox











3 Otros modelos parametricos




Regresion polinomica
1






Modelos de linealizables



0.6 0.7 0.8 0.9 1.0 1.1 1.2 4 Regresion No Parametrica


etanol Regresion por Splines
Intervalos de confianza
library(mgcv);plot(etanol,nox,main="",col=1)
lines(etanol,fitted(gam(nox~s(etanol))),col=red,lwd=2)

Modelos de Regresion 123 / 133 Modelos de Regresion 124 / 133


Intervalos de Confianza Intervalos de Confianza

La estimacion de f puede no ser suficiente para determinar el efecto de X. En


ocasiones, para cada punto x interesa conocer el intervalo donde se situa el hipotetico
valor f (x) con una determinada probabilidad.
La rutina gam del paquete mgcv permite obtener los errores estandar (x) de las
Es decir, se trata de calcular los lmites f mn (x) y f sup (x) de modo que se cumpla la estimaciones f(x). Suponiento normalidad, se obtiene
siguiente probabilidad  
  f(x) z1/2 (x), f(x) + z1/2 (x) ,
p f mn (x) f (x) f sup (x) = 1
un intervalo de confianza de nivel 1 para f (x), siendo zp el cuantil de orden p de la
determinandose entonces distribucion normal estandarizada.
h i
f mn (x), f sup (x)
como un intervalo de confianza puntual para f (x) con nivel de confianza de 1 .

Modelos de Regresion 125 / 133 Modelos de Regresion 126 / 133

Ejemplo: Etanol



plot(etanol,nox,main="",col=1)







modelo=gam(nox~s(etanol))
3


muhat=predict.gam(modelo,type=response,se=T)



nox






lines(etanol,muhat$fit,lwd=2,col=red)
2







lines(etanol,muhat$fit-1.96*muhat$se.fit,lwd=2,col=red,lty=2)


lines(etanol,muhat$fit+1.96*muhat$se.fit,lwd=2,col=red,lty=2)

1

0.6 0.7 0.8 0.9 1.0 1.1 1.2


etanol

Figura: Regresion no parametrica (smoothing splines) con los correspondientes


IC95 %.
Modelos de Regresion 127 / 133 Modelos de Regresion 128 / 133
Predicciones

Ademas la rutina predict.gam permite hacer predicciones en valores de X distintos a


los muestrales. modelo=gam(nox~s(etanol))
grid=seq(0.5,1.3,0.1)
etanol f li ls
1 0.50 0.11 -0.69 0.91 muhat=predict.gam(modelo,newdata=data.frame(etanol=grid),
2 0.60 0.77 0.54 1.01 type="response",se=T)
3 0.70 1.44 1.25 1.63
4 0.80 2.78 2.60 2.95 data.frame(etanol=grid,f=muhat$fit,li=muhat$fit-1.96*muhat$se.fit,
5 0.90 3.71 3.51 3.91 ls=muhat$fit+1.96*muhat$se.fit))
6 1.00 3.17 2.99 3.36
7 1.10 1.45 1.26 1.63
8 1.20 0.75 0.59 0.92
9 1.30 0.21 -0.43 0.85

Modelos de Regresion 129 / 133 Modelos de Regresion 130 / 133

Ejemplo: Accidente de Motocicleta


En el fichero mcycle de la librera MASS estan los datos obtenidos de la simulacion de un
accidente de motocicleta con el objetivo de probar cascos de motos .

50
times: tiempo (en ms) transcurrido despues del impacto.




accel: aceleracion de la cabeza del motorista


aceleracion

50




50

100







0







accel






50










10 20 30 40 50

100








tiempo





10 20 30 40 50 Figura: Ajuste no parametrico


times

Modelos de Regresion 131 / 133 Modelos de Regresion 132 / 133


library(MASS);data(mcycle)


tiempo=mcycle[,1]
50



aceleracion=mcycle[,2]


plot(tiempo,aceleracion)


aceleracion


lines(tiempo,fitted(gam(aceleracion~s(tiempo))),col=red,lwd=2,lty=1)
0












ii=order(tiempo) # elementos ordenados
50




tiempo=tiempo[ii]







aceleracion=aceleracion[ii]
100





plot(tiempo,aceleracion,main="",col=1)






modelo=gam(aceleracion~s(tiempo))

muhat=predict.gam(modelo,type=response,se=T)
10 20 30 40 50 lines(tiempo,muhat$fit,lwd=2,col=red)
lines(tiempo,muhat$fit-1.96*muhat$se.fit,lwd=2,col=red,lty=2)
tiempo lines(tiempo,muhat$fit+1.96*muhat$se.fit,lwd=2,col=red,lty=2)

Figura: Ajuste no parametrico con los correspondientes IC95 %

Modelos de Regresion 133 / 133 Modelos de Regresion 134 / 133

S-ar putea să vă placă și