regresión programación numérica. regresión lineal se desea ajustar un serie de puntos (x i, y i...

20
Regresión Programación Numérica

Upload: chicky-callejas

Post on 23-Jan-2016

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Regresión

Programación Numérica

Page 2: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Regresión Lineal

Se desea ajustar un serie de puntos (xi, yi) a una línea recta dada por:

y = a0 + a1x + e

Donde a0 y a1 son coeficientes que representan la intersección con el eje y la pendiente, y e es el error, o diferencia, entre el modelo y las observaciones.

e = y – a0 – a1x

Page 3: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Criterio del mejor ajuste

En el método de mínimos cuadrados se desea minimizar la suma de los cuadrados de los residuos.

n

iii

n

imodeloimedidai

n

iir xaayyyeS

1

210

1

2,,

1

2

Page 4: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Ajuste por mínimos cuadrados

n

iii

n

imodeloimedidai

n

iir xaayyyeS

1

210

1

2,,

1

2

iiir

iir

xxaayaS

xaayaS

101

100

2

2

Derivando respecto a a0 y a1.

Obtenemos

Igualando a 0

2

10

10

0

0

iiii

ii

xaxaxy

xaay

Resolviendo para a0 y a1

xaya

xxn

yxyxna

ii

iiii

10

221

Page 5: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

EjemploAjustar con mínimos cuadrados los siguientes datos

X Y

1 0.5

2 2.5

3 2.0

4 4.0

5 3.5

6 6.0

7 5.5

Page 6: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Tarea

Ajustar con mínimos cuadrados los siguientes datos

X Y

0 5

2 6

4 7

6 6

9 9

11 8

12 7

15 10

17 12

19 12

Page 7: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Estadística básicaPromedio:

Desviación estándar

Varianza:

Coeficiente de variación:

Estimado normal estándar:

1

/22

12

n

nyys i

y12

n

Ss t

y

1

nS

s ty

2yyS it

n

yy i

%100..y

svc y

ns

yt

y /

Page 8: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Tarea

Escriba un archivo M para graficar la recta del mejor ajuste utilizando mínimos cuadrados. Deberá aceptar como parámetros los valores de X y Y. Grafique los puntos con círculos y la línea de regresión con una recta.

Page 9: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Error en la regresión lineal

n

iiir xaayS

1

210

Medición

a0 + a1x

yi – a0 – a1x

Línea de re

gresió

n

2/

nS

S rxy

La desviación estándar de la línea de regresión es:

2yyS it

La magnitud del error residual antes de la regresión es:

El coeficiente de determinación es:

t

rt

SSS

r2

El coeficiente de correlación es:

2222

2

iiii

iiii

yynxxn

yxyxnrr

En ajuste perfecto Sr = 0 y r = r2 = 1.

Si r = r2 = 0, Sr = St, el ajuste no representa alguna mejora.

x

y

Page 10: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Linealización de relaciones no lineales

x

y

xey 11

x

y

22

xy

x

y

xx

y

3

3

x

ln y

log x

log y

1/x

1/y

Pendiente = 1

Pendiente = 2

Pendiente = 3/

Intersección = ln 1 Intersección = log 2

Intersección = 1/3

Page 11: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Ejemplo2

2 xy Ajustar los siguientes datos a

x y1 0.52 1.73 3.44 5.75 8.4

Page 12: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

ejemplo

xx

y

3

3

Usar regresión de mínimos cuadrados para ajustar a una ecuación de taza de crecimiento de saturación.

x 5 10 15 20 25 30 35 40 45 50

y 17 24 31 33 37 37 40 40 42 41

33

33

3

1111

xx

xy

Page 13: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Tarea

Dados los datos siguientes use regresión por mínimos cuadrados para ajustar a) una línea recta, b) una ecuación exponencial, c) una ecuación de potencias.

x 5 10 15 20 25 30 35 40 45 50

y 17 24 31 33 37 37 40 40 42 41

Page 14: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Regresión Polinomial

Ajuste a un polinomio cuadrático

y = a0 + a1x + a2x2 + e

La suma de los cuadrados de los residuos es:

n

iiiir xaxaayS

1

22210

De aquí obtenemos:

2210

2

2

2210

1

2210

0

2

2

2

iiiir

iiiir

iiir

xaxaayxaS

xaxaayxaS

xaxaayaS

Page 15: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Reordenando se obtiene

iiiii

iiiii

iii

yxaxaxax

xyaxaxax

yaxaxna

22

41

30

2

23

12

0

22

10

3/

nS

S rxy

El error estándar es:

Page 16: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

EjemploAjustar a un polinomio de segundo grado.

x 5 10 15 20 25 30 35 40 45 50

y 17 24 31 33 37 37 40 40 42 41

Page 17: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

TareaAjustar a un polinomio de segundo grado.

x 5 10 15 20 25 30 35 40 45 50

y 17 24 31 33 37 37 40 40 42 41

Escriba una función en C que calcule el polinomio de segundo grado del mejor ajuste utilizando mínimos cuadrados.

Escriba un archivo M para graficar el polinomio de segundo grado del mejor ajuste utilizando mínimos cuadrados.

Page 18: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Regresión polinomial en Cvoid regrePoly(double x[],double y[],int n,int m,double a[][20]){ int i,j,k,l; double sum; for(i = 0; i<m+1; i++){ for(j = 0; j<=i; j++){ k = i+j; sum = 0; for(l = 0; l<n; l++) sum += pow(x[l],k); a[i][j] = sum; a[j][i] = sum; } sum = 0; for(l = 0; l<n; l++) sum += y[l]*pow(x[l],i); a[i][m+1] = sum; }}

Page 19: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Ejemplo de corrida

main(){ int j; double a[20],b[20][20]; double x[]={0,1,2,3,4,5}; double y[]={2.1,7.7,13.6,27.2,40.9,61.1}; int n=6; regrePoly(x,y,6,2,b); print(b,3); gauss(b,3,a); for(j=0; j<3; j++) cout << a[j]<<"\n"; system("PAUSE");}

6 15 55 152.615 55 225 585.655 225 979 2488.8

2.478572.359291.86071

Page 20: Regresión Programación Numérica. Regresión Lineal Se desea ajustar un serie de puntos (x i, y i ) a una línea recta dada por: y = a 0 + a 1 x + e Donde

Ajuste a polinomios de orden superior

Sea el polinomio de ajuste dado por

p(x) = a0 + a1 x + a2 x2 +… + an xn

La desviación de la curva respecto a cada punto es

ri = yi – p(xi)

La suma de las desviaciones al cuadrado es

L

iirR

1

2

Igualando a cero las derivadas parciales respecto ai.

nkyxaxL

ii

knij

n

j

L

i

kjni ,...,2,0,

1

1

0 1

22