Vous êtes sur la page 1sur 7

Tema 9 Regresin no lineal o

El tema de Regresin no Lineal lo desarrollaremos unicamente mediante SPSS y R. En o ax ambos casos usaremos el siguiente ejemplo; sea el modelo y = b+x + , donde x mide la concentracin del sustrato e y la velocidad de reaccin encimtica, y supuesta una solucin o o a o inicial de (a=5, b=3) y los datos del chero P ractica41.txt

9.1.
9.1.1.

Ejemplo mediante SPSS


Estimacin curvil o nea

Con el men de estimacin curvil u o nea SPSS realiza distintas regresiones simples, todas ellas provenientes de transformaciones sobre el modelo lineal. Concretamente, SPSS realiza las regresiones: 1. Lineal Y = 0 + 1 X 2. Logar tmica Y = 0 + (1 ln(X)) 3. Inversa Y = 0 + (1 /X) 4. Cuadrtico Y = 0 + 1 X + 2 X 2 a 5. Cbico Y = 0 + 1 X + 2 X 2 + 3 X 3 u 6. Potencia Y = 0 (X1 ) ln(Y ) = ln(0 ) + (1 ln(X)) o
X o 7. Compuesto Y = 0 (1 ) ln(Y ) = ln(0 ) + (ln(1 )X)

8. Curva-S Y = e(0 + (1 /X)) ln(Y ) = 0 + (1 /X) o


X 9. Log stica. Y = 1/(1/u + (0 (1 ))) o ln(1/Y 1/u) = ln(0 + (ln(1 )X)) donde u es el valor del l mite superior.

10. Crecimiento. Y = e(0 +(1 X)) o ln(Y ) = 0 + (1 X) 11. Exponencial. Y = 0 (e(1 X)) o ln(Y ) = ln(0 ) + (1 X) 123

Regresin no lineal o

124

De estas regresiones podremos obtener las tablas ANOVA para la comparacin de los o modelos; los valores pronosticados, los residuos y los intervalos de conanza, actuando como en temas anteriores. Para obtener estas regresiones seleccionaremos los mens Analizar, u Regresion; Estimacion Curvil nea, seleccionando el modelo que nos interese, la tabla ANOVA y en el botn de guardar los estad o sticos para el contraste del modelo. Figura 9.1:

Los resultados se analizan de igual forma que en regresin lineal, SPSS da la estimacin o o 2 de los valores de los parmetros, la tabla con el R y la Tabla ANOVA, pudiendo comparar a que modelo se ajusta mejor a los datos, optando por el de mayor R2 en este caso la regresin o Potencial. Si no seleccionamos la tabla ANOVA nos muestra una tabla de resumen de los modelo: Figura 9.2:

Tambin tenemos los modelos representados: e Figura 9.3:

Mtodos de Regresin. e o

Regresin no lineal o

125

9.1.2.

Estimacin no lineal o

Para realizar una regresin no lineal en SPSS tendremos que seleccionar los mens Anao u lizar, Regresion, No lineal y en esta ventana indicar la expresin de nuestra regresin o o junto con los valores iniciales de los parmetros. a Figura 9.4:

Podemos adems introducir restricciones sobre los parmetros (de >, <, >=, <= que ala a guna cantidad) y obtener los valores pronosticados y los residuos. En el botn de perdida o mantendremos la opcin de suma de residuos al cuadrado. o Los resultados que obtenemos son las estimaciones de los parmetros y su tabla ANOVA a correspondiente Figura 9.5:

9.2.

Ejemplo mediante R

Para realizar regresin no lineal usaremos la funcin: o o Mtodos de Regresin. e o

Regresin no lineal o nls(formula, data, start, control, algorithm, trace, subset, weights, na.action, model, lower, upper, ...)

126

que minimiza la funcin dada por formula mediante el procedimiento de m o nimos cuadrados. Si para los datos chero Practica41.txt quisiramos establecer una regresin dada por e o ax el modelo y = b+x tendr amos: > datos<-read.table("practica41.txt", header=TRUE) > attach(datos) > rnl<-nls(y~a*x/(b+x),start=list(a=5,b=3)) > rnl Nonlinear regression model model: y ~ a * x/(b + x) data: parent.frame() a b 2.280 3.682 residual sum-of-squares: 0.4192 Number of iterations to convergence: 5 Achieved convergence tolerance: 1.254e-06 obteniendo la estimacin del modelo. Adems tendr o a amos el resumen de la forma: > summary(rnl) Formula: y ~ a * x/(b + x) Parameters: Estimate Std. Error t value Pr(>|t|) a 2.28032 0.02189 104.16 <2e-16 *** b 3.68241 0.08677 42.44 <2e-16 *** --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Residual standard error: 0.04909 on 174 degrees of freedom Number of iterations to convergence: 5 Achieved convergence tolerance: 1.254e-06 Para una prediccin trabajaremos: o > new <- data.frame(x = 0.06) > predict(rnl,new,interval = "confidence") [1] 0.03655906 Se pueden obtener los residuos con los trabajar del mismo modo que en regresin lineal. o Mtodos de Regresin. e o

Regresin no lineal o

127

9.2.1.

Funciones para la obtencin de soluciones iniciales o

Uno de los principales problemas en regresin no lineal es cuando no tenemos la solucin o o inicial a la que aplicar el algoritmo. R proporciona para algunas regresiones no lineales usuales programas para la determinacin de estas soluciones iniciales. Las funciones sobre las que las o hace son: 1. Regresin asinttica: paquete SSasymp. y = a(1 ebx ) o o 2. Regresin asinttica con un oset: paquete SSasympO. o o 3. Regresin asinttica por el origen: paquete SSasympOrig. o o 4. Regresin doblemente exponencial: SSbiexp. y = aebx cedx o 5. Regresin de primer orden: paquete SSfol. y = kee ee o
ax bx

6. Regresin log o stica de 4 parmetros:paquete SSfpl. y = a + a 7. Regresin gompertz: paquete SSgompertz y = aebe o 8. Regresin log o stica: paquete SSlogis. y =
ea+bx 1+bea+bx
cx

ba 1+e(cx)/d

9. Regresin de Michaelis-Menten: paquete SSmicmen. y = o 10. Regresin Weibull: paquete SSweibull.y = a becx o
d

ax 1+bx

Por ejemplo supongamos que no conocemos una solucin inicial para la regresin de Michaeliso o ax Menten y = 1+bx , entonces utilizaremos la orden: > rnlmm<-nls(y~SSmicmen(x,a,b)) > rnlmm Nonlinear regression model model: y ~ SSmicmen(x, a, b) data: parent.frame() a b 2.280 3.682 residual sum-of-squares: 0.4192 Number of iterations to convergence: 0 Achieved convergence tolerance: 1.976e-06 > summary(rnlmm) Formula: y ~ SSmicmen(x, a, b) Parameters: Estimate Std. Error t value Pr(>|t|) a 2.28032 0.02189 104.16 <2e-16 *** Mtodos de Regresin. e o

Regresin no lineal o b 3.68241 0.08677 42.44 <2e-16 *** --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Residual standard error: 0.04909 on 174 degrees of freedom Number of iterations to convergence: 0 Achieved convergence tolerance: 1.976e-06 obteniendo unos resultados muy similares a los anteriores.

128

9.2.2.

Regresin robusta o

En R es muy sencillo realizar una regresin robusta, simplemente utilizando el paquete o rlm(formula, data, weights, ..., subset, na.action, method = c("M", "MM", "model.frame"), wt.method = c("inv.var", "case"), model = TRUE, x.ret = TRUE, y.ret = FALSE, contrasts = NULL) obteniendo para nuestros datos > rr<-rlm(y~x) > summary(rr) Call: rlm(formula = y ~ x) Residuals: Min 1Q Median -0.30727 -0.19501 -0.03921

3Q 0.19544

Max 0.48156

Coefficients: Value Std. Error t value (Intercept) 0.2946 0.0210 14.0552 x 0.1365 0.0041 33.2208 Residual standard error: 0.2901 on 174 degrees of freedom > anova(rr) Analysis of Variance Table Response: y Df Sum Sq Mean Sq F value Pr(>F) x 1 53.664 53.664 Residuals 8.275

9.3.

Ejercicios propuestos

Con los datos del chero Ejercicio4.txt Mtodos de Regresin. e o

Regresin no lineal o

129

1. Establecer que modelo curvil neo de los facilitados por SPSS produce un mejor ajuste. Indicar la expresin de todos los modelos de regresin curvil o o nea. Realizar una prediccin para un valor de 8 Para el mejor modelo, comprobar si los residuos son normales, o independientes y con varianza constante. 2. Realizar en R las regresiones curvil neas realizadas en el ejercicio anterior tomando como soluciones iniciales las obtenidas con SPSS sin decimales. 3. Realizar en R las siguientes regresiones: asinttica; doblemente exponencial, log o stica de 4 parmetros, gompertz y Michaelis-Menten sin solucin inicial conocida. Realizar a o estas mismas regresiones en SPSS tomando como solucin inicial las obtenidas con R sin o decimales.

Mtodos de Regresin. e o

Vous aimerez peut-être aussi