Tutorial de ajuste de curvas

Download Report

Transcript Tutorial de ajuste de curvas

Píldora de evaluación estadística
de ajuste de curvas
Files con las tablas:
T_tables.pdf
F_tables.pdf
Descargadas desde
http://fsweb.berry.edu/academic/education/vbissonnette/tables/tables.html
Ver también “A complete guide to nonlinear regression”
http://www.curvefit.com/
Tenemos una tabla con los resultados experimentales de una variable
dependiente y en función de varias variables independientes x1, x2, x3 … La
tabla contiene NOBS filas en que las primeras columnas son las variables
independientes y la última los valores observados de la variable dependiente
y(obs)
Producimos una función que suponemos que describe bien los datos
experimentales. Esta función depende de las variables independientes (x1,
x2, x3) y un conjunto de NPAR parámetros a1, a2, a3… .aNPAR
Usamos un programa de ajuste no lineal para encontrar los NPAR
parámetros. Por ejemplo Solver de Excel.
Solver nos entrega los parámetros encontrados más una lista de NOBS filas
con valores calculados para la función para cada conjunto de variables
independientes. Esto son los y(cal) . Un gráfico en que se muestren los
valores y(obs) e y(cal) de una impresión visual de la calidad del ajuste.
Ver archivo AjusteExcel.xls
Coeficiente de correlación r2
Coeficiente de correlación r2
r
2

 1

j  NOBS
j 1
j  NOBS
j 1
 y(obs)  y(cal)
2
 y(obs)  y(obs)2
http://www.curvefit.com/goodness_of_fit.htm
1
y = -0.0028x + 0.5714
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
y = 0.0247x + 0.0571
0
0
5
10
15
20
r2=0.01195
25
30
35
40
0
5
10
15
20
25
r2=0.95742
Con el coeficiente de correlación se evalúa el significado estadístico
del ajuste usando el Student’s test.
30
35
40
Con el coeficiente de correlación se evalúa el significado estadístico
del ajuste usando el Student’s test.
t
r NOBS  NPAR  1
1 r 2
grados.de.libertad  df  NOBS  NPAR  1
Se compara el valor calculado de t con el de la tabla de ttabla, para comprobar
la hipótesis que dice que la función describe los datos por azar.
Si t < ttabla la hipótesis es verdadera. El ajuste no es significativo.
Si t > ttabla la hipótesis es falsa. El ajuste sí es significativo.
La tabla del Student’s test.
Tablas estadisticas
http://www.statsoft.com/textbook/sttable.html#t
1
y = -0.0028x + 0.5714
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
y = 0.0247x + 0.0571
0
0
5
10
15
20
25
30
35
40
0
5
10
15
20
25
30
r2
0.01195449
r2
0.95742213
df
37
df
37
t
0.66907983
t
28.8443418
35
40
Table of t-statistics
P=
0.05
P=
0.01
P=
0.001
1
12.71
63.66
636.61
2
4.30
9.92
31.60
3
3.18
5.84
12.92
4
2.78
4.60
8.61
5
2.57
4.03
6.87
6
2.45
3.71
5.96
7
2.36
3.5
5.41
8
2.31
3.36
5.04
9
2.26
3.25
4.78
10
2.23
3.17
4.59
20
2.09
2.85
3.85
30
2.04
2.75
3.65
40
2.02
2.7
3.55
100
1.98
2.63
3.39
df
t = 0.066 < t.05,37
La hipótesis es verdad. No hay
correlación
t = 28.8 > t.05,37
La hipótesis es falsa. Hay correlación
http://fsweb.berry.edu/academic/education/vbissonnette/tables/t.pdf
Evaluación de un ajuste al mismo set de
datos usando dos modelos diferentes.
Un modelo con más parámetros que el otro
Ejemplos de Fabián López
Modelo 1 : una curva de Gauss
vs
Modelo 2 suma de dos curvas de Gauss
http://curvefit.com/2_models__1_dataset.htm
0.10
0.09
y  ae
0.08
0.07
 ( x  x0 ) 
 0.5

 b 
2
0.06
0.05
0.04
0.03
0.02
0.01
0.00
0
10
20
30
40
r2
0.88072097
df
395
t
54.0052101
50
60
70
80
90
t = 54 > t.05,395
La hipótesis es falsa.
Hay correlación
100
0.10
y  a1e
0.09
0.08
 ( x  x01 ) 

 0.5
 b1

2
 a2 e
 ( x  x02 ) 

 0.5
 b2

0.07
0.06
0.05
0.04
0.03
0.02
0.01
0.00
0
10
20
30
40
50
60
r2
0.91058948
df
392
t
63.1844257
70
80
¿Es estadísticamente mejor este ajuste?
http://curvefit.com/2_models__1_dataset.htm
90
100
2
Al poner más parámetros la curva va a pasar más cerca de los puntos
experimentales por lo tanto la suma de cuadrados de los residuos, SS, va a
disminuir.
SS   j 1
j  NOBS
 y(obs)  y(cal)2
El ajuste mejora si el cambio relativo de SS es mayor que el cambio relativo
del número de grados de libertad .
El modelo 1 (simple) tiene menos parámetros que el modelo 2 (complicado).
Por lo tanto df1 > df2 y SS1 > SS2. .
SS1  SS2  / SS2  df1  df2  / df2
df1  df2
La razón F da una estimación cuantitativa de la mejora del ajuste

SS1  SS2  / SS2
F
df1  df  / df2
 1.0
Si el modelo 2 (complicado) es mejor que el modelo 1 (simple) se espera F >1
¿Qué tanto mayor que 1 tiene que ser F para que la mejora sea significativa y
no debida al azar?
Para responder esta pregunta se usa el F test.

SS1  SS2  / df1  df2 
F
El ajusten mejora si
df1  df2
SS2 / df2
Fcalculado  Ftabla
La razón F se compara con el valor de F de la tabla en que los grados de libertad
de numerador son df1-df2 y los del denominador df2.
Ajuste2
Ajuste1
nobs
399
399
npar
6
3
df
392
395
SS
0.011932
0.015936
Fcalculado
43.85
FTabla
2.62
Hoja de calculo para F Ftest.xls
Tablas estadísticas:
http://www.ento.vt.edu/~sharov/PopEcol/tables/f005.html
dfdenominadorr
dfnumerador
Se cumple que Fcalculado > Ftabla por lo que el ajuste es estadísticamente mejor,
Evaluación de un ajuste al mismo set de
datos usando dos modelos diferentes.
Dos modelos con el mismo número de
parámetros.
Ejemplo usando Solver de Excel
Recta y  a  bx
SS   j 1
j  NOBS
Ver archivo Recta_Exponencial.xls
 y(obs)  y(cal)2
Recta y  a  bx
SS   j 1
j  NOBS
 y(obs)  y(cal)2
Recta y  a  bx
SS   j 1
j  NOBS
 y(obs)  y(cal)2
Exponencial y  ae
x/b
SS   j 1
j  NOBS
 y(obs)  y(cal)2
Exponencial y  ae
x/b
SS   j 1
j  NOBS
 y(obs)  y(cal)2
F test para evaluar si el ajuste es mejor.
Recta
SS1 = 5.0828
Exponencial
SS2 = 2.5650
Grados de libertad
df1 = df2
SS1 / df1
F
SS1  SS2
SS2 / df2
F  1.98
F calculado es menor que el F
de tabla.
El ajuste exponencial no es
df denominador
significativamente mejor que
el lineal.
= 8
df numerador
Evaluación del cambio de los parámetros al
ajustar dos set de datos usando el mismo
modelo.
http://curvefit.com/1_model__2_datasets.htm
y  a1e
0.08
 ( x  x01 ) 

 0.5
 b1

2
 a2 e
 ( x  x02 ) 

 0.5
 b2

2
0.08
0.07
0.07
0.06
0.06
0.05
0.05
0.04
0.04
0.03
0.03
0.02
0.02
0.01
0.01
0.00
0.00
0
10
20
30
40
r2 = 0.9604
a1
0.0361
a2
0.0274
b1
3.3377
b2 11.7151
x01 4.7719
x02 10.7239
50






60
70
80
0.0052
0.0025
0.3343
1.2000
0.2148
2.4336
90
100
0
10
20
30
40
r2 = 0.9853
a1
0.0463
a2
0.0261
b1
3.6223
b2 10.3013
X01 4.6649
x02 12.6866
50
60






70
80
0.0036
0.0013
0.1771
0.7142
0.0881
1.3459
Valor del parámetro  SE, standard error Ajuste hecho con Sigmaplot)
¿Qué parámetros son diferentes en los dos set de datos?
90
100
Para responder esta pregunta se usa el t test.
t
a1  a2
SE  SE
2
1
2
2
Por ejemplo para el parámetro x02
a1=10.7239 SE1= 2.4336 a1 = 12.6866 SD2 = 1.3459 :
t = 0.70578
Table of t-statistics
Cada ajuste tiene df grados de libertad
Los grados de libertad del t test
son df1 + df2.
df
En estos casos
NOBS = 399
NPAR = 6
df1 = df2 = 393, df = 786
tcalculado < ttabla, la diferencia no es significativa.
P=
0.001
P = 0.05
P = 0.01
1
12.71
63.66
636.61
2
4.3
9.92
31.6
3
3.18
5.84
12.92
4
2.78
4.6
8.61
5
2.57
4.03
6.87
99
1.98
2.63
3.39
100
1.98
2.63
3.39
a1
se1
a1
se1
t
a1
0.0361
0.0052
0.0463
0.0036
1.6128
a2
0.0274
0.0025
0.0261
0.0013
0.4614
b1
3.3377
0.3343
3.6223
0.1771
0.7523
b2
11.7151
1.2000
10.3013
0.7142
1.0124
x01
4.7719
0.2148
4.6649
0.0881
0.4609
x02
10.7239
2.4336
12.6866
1.3459
0.7058
Todos los tcalculados < ttabla.Ningún cambio es significativo.
0.08
0.06
0.07
0.05
0.06
0.04
0.05
0.04
0.03
0.03
0.02
0.02
0.01
0.01
0.00
0.00
0
20
40
a1
60
80
se1
100
a1
0
20
se1
40
60
t
a1
0.0361
0.0052
0.0394
0.0005
0.6317
a2
0.0274
0.0025
0.0244
0.0003
1.1915
b1
3.3377
0.3343
3.7948
0.0776
1.3319
b2
11.7151
1.2000
10.6104
0.1482
0.9136
x01
4.7719
0.2148
4.6527
0.0695
0.5280
x02
10.7239
2.4336
40.0273
0.1467
12.0194
ttabla = 1.98. p0.05, df = 786
El único parámetro que cambia significativamente es x02.
80
100
Evauación de la independencia del los parámetros
Ejemplo una curva normal
Ajuste hecho con LabFit. Wilton Pereira da Silva (Brasil)
[email protected] www.labfit.net
THE CONVERGENCE HAPPENED IN THE ITERATION
5
C_Normal.txt
N. 29: Y = A*EXP(((X-B)**2)/C) <--- Gaussian
PARAMETERS: Mean
A = 0.18648524573E+01
B = 0.47729148665E+01
C = -0.92081840012E-01
UNCERTAINTIES: SD
SIGMAA = 0.11884440790E-01
SIGMAB = 0.15785173528E-02
SIGMAC = 0.13570209777E-02
Correlation Coeficient: = 0.9871693E+00
Average Absolute Residual:
Sum of Absolute Residuals / Number of points =>
Res_av = 0.102686E+02 / 201 => Res_av = 0.510874E-01
t
P(t)
0.156915E+03
0.302367E+04
-0.678559E+02
0.000
0.000
0.000
COVARIANCE MATRIX
0.141240E-03 -.294458E-09 0.932009E-05
-.294458E-09 0.249172E-05 -.657955E-10
0.932009E-05 -.657955E-10 0.184151E-05
Raíz cuadrada de los elementos de la diagonal
0.011884
0.001579
0.001357
SIGMAA =
SIGMAB =
SIGMAC =
0.11884440790E-01
0.15785173528E-02
0.13570209777E-02
COVARIANCE MATRIX
A
B
C
A 0.141240E-03 -.294458E-09 0.932009E-05
B -.294458E-09 0.249172E-05 -.657955E-10
C 0.932009E-05 -.657955E-10 0.184151E-05
Los elementos fuera de la diagonal muestran la interacción entre los
parámetros. Tienen que ser menores que los elementos de la
diagonal
Diagnóstico:
Hay interacción entre A y C.
A y C no son independientes.
Efectivamente, la curva normal es así:
Si conoces , ya sabes el
factor pre-exponencial,
1
pdf 
e
 2

x u 2

2 2
1
pdf 
e
 2

x u 2

2 2
Y=(1/(A*(2*3.1416)**0.5))*exp(-0.5*((x-B)/A)**2)
PARAMETERS: Mean
A = 0.21414195474E+00
B = 0.47729149197E+01
UNCERTAINTIES: SD
SIGMAA = 0.12874464101E-02
SIGMAB = 0.15754263575E-02
t
0.166331E+03
0.302960E+04
Correlation Coeficient:
R²yy(x) = 0.9872929E+00
adjR²yy(x) = 0.9872290E+00
Ryy(x) = 0.993626E+00 => P(NP,|R|) = 0.300E-07
Average Absolute Residual:
Res_av = Sum of Absolute Residuals / Number of points =>
Res_av = 0.102755E+02 / 201 => Res_av = 0.511218E-01
COVARIANCE MATRIX
0.165752E-05 0.465531E-10
0.465531E-10 0.248197E-05
P(t)
0.000
0.000
¿Cuál de los dos ajuste es mejor?

SS1  SS2  / df1  df2 
F
El ajusten mejora si
SS2 / df2
Fcalculado  Ftabla
df1  df2
La razón F se compara con el valor de F de la tabla en que los grados de libertad
de numerador son df1-df2 y los del denominador df2.
Ajuste2
Ajuste1
nobs
201
201
npar
3
2
df
197
198
SS
0.102686E+02
0.102755E+02
Fcalculado
0.132
FTabla
?
Tablas estadísticas:
http://www.ento.vt.edu/~sharov/PopEcol/tables/f005.html
dfdenominadorr
dfnumerador
Se cumple que Fcalculado > Ftabla por lo que el ajuste es estadísticamente mejor,
¿Cuál de los dos ajuste es mejor?

SS1  SS2  / df1  df2 
F
El ajusten mejora si
SS2 / df2
Fcalculado  Ftabla
df1  df2
La razón F se compara con el valor de F de la tabla en que los grados de libertad
de numerador son df1-df2 y los del denominador df2.
Ajuste2
Ajuste1
nobs
201
201
npar
3
2
df
197
198
SS
0.102686E+02
0.102755E+02
Fcalculado
0.132
FTabla
3.89
El ajuste de 3 parámetros no es mejor que el de 2 parámetros