Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE INGENIERA METALURGICA
INTRODUCCIN
Las pruebas de bondad de ajuste consisten en comprobar grficamente y
estadsticamente si la frecuencia emprica de la serie analizada se ajusta a una
determinada funcin de probabilidad terica seleccionada a priori, con los parmetros
estimados en base a los valores muestrales.
Las pruebas estadsticas, tienen por objeto medir la certidumbre que se obtiene al hacer
una hiptesis estadstica sobre una poblacin, es decir, califica el hecho de suponer que
una variable aleatoria se distribuya segn una cierta funcin de probabilidades.
Las pruebas que se consideran son:
Ajuste grfico
Ajuste estadstico:
Ji-cuadrado de K. Pearson
Kolmogorov Smirnov.
La prueba Ji cuadrado conviene tanto para distribuciones continuas como para discretas,
mientras que la prueba Kolmogorov-Smirnov slo sirve para distribuciones continuas.
1.1. Ajuste Grfico
El ajuste grfico se puede realizar comparando grficamente el histograma o
funcin de densidad emprica de la serie de datos, con funcin densidad terica y
decidir visualmente, si hay o no ajuste de acuerdo a la similitud o diferencia de
ambos; as mismo, podemos comparar la funcin acumulada con la funcin
acumulada terica seleccionada.
Ejemplo 1:
Da la serie histrica de caudales medios anuales en m3/s, que corresponde a un
registro de 38 aos.
Ing. Alcides Ramos Calcina
121,3
144,9
142,4
205,8
114,5
72,5
26,7
92,8
58,8
57,4
79,0
76,9
110,1
95,6
48,8
148,3
67,5
70,0
63,4
76,3
52,3
36,3
88,0
122,4
162,1
97,2
52,5
165,6
64,2
110,2
144,7
109,2
48,5
59,6
40,3
112,2
137,1
32,9
Realice la prueba de bondad de ajuste grafico para ver si los datos se ajustan a una
distribucin normal.
Matlab
Primeramente, ingresamos la serie de datos en Excel (en una columna, solamente
datos sin rotulo) y almacnela con formato tipo texto delimitado con tabulaciones.
Elija algn nombre. Por ejemplo datos.txt
En la ventana de comandos de Matlab cargue el archivo datos.txt y sela como un
vector:
>> load datos.txt
8
7
6
5
4
3
2
1
0
50
100
150
200
Grfico 1: Histograma.
250
ajus_g.m
%AJUSTE GRAFICO A UNA NORMAL
function ajus_g(y)
mu=mean(y);
sig=sqrt(var(y));
xord=sort(y);
%Funcion de probabilidad PDF
x=[-4:0.211:4];
y2=normpdf(x); %PDF terico
z=(xord-mu)/sig; %Estadarizacin de la serie
y1=(1/sqrt(2*pi))*exp(-(z.^2)/2); %PDF empirico
subplot(2,1,1); plot(x,y2,'-.',z,y1,'-+');
legend({'Distr. Terica' 'Distr. Emprica'},1)
title('DISTRIBUCIN DENSIDAD NORMAL TEORICA VS EMPIRICA')
xlabel('X')
ylabel('f(x)')
%Funcion de distribucin CDF
y3=normcdf(x); % CDF terico
y4=normcdf(z); % CDF empirico
subplot(2,1,2); plot(x,y3,'-.',z,y4,'-+');
legend({'Distr. Terica' 'Distr. Emprica'},2)
title('DISTRIBUCIN ACUMULADA NORMAL TEORICA VS
EMPIRICA')
xlabel('X')
ylabel('F(x)')
Nos muestra los siguientes grficos:
0.4
Distr. Terica
Distr. Emprica
f(x)
0.3
0.2
0.1
0
-4
-3
-1
0
X
0
X
Distr. Terica
Distr. Emprica
0.8
F(x)
-2
0.6
0.4
0.2
0
-4
-3
-2
-1
0.99
0.98
0.95
Probability
0.90
0.75
0.50
0.25
0.10
0.05
0.02
0.01
50
100
Data
150
200
12
10
8
6
4
2
0
-50
50
100
Grfico 4.
150
200
250
Prueba Chi-cuadrado ( )
a)
x c2
k
i 1
( i e i ) 2
ei
(1)
Donde:
i ei n
k
i 1
i 1
x c2
i
ei
n
k
, i = 1, 2, 3, , k
x c2
k
i 1
(n i npi ) 2
npi
(2)
Donde:
ni : nmero de observaciones que caen dentro de los lmites de clases ajustados
de intervalo i.
n : tamao de muestra
pi : probabilidad igual para todos los intervalos de clase
pi
1
,
k
ei n.pi
Procedimiento de clculo
El procedimiento seguido para comprobar la bondad de ajuste mediante la prueba
Ji-cuadrado es:
a)
b)
Planteamiento de Hiptesis
(2), las cuales estn implementadas en una funcin de Matlab del siguiente
modo:
chi2stat:
df:
edges:
O:
E:
Estadstico Chi-cuadrado
Grados de libertad
Vector de intervalos
Valores observados en cada intervalo
Valores esperados en cada intervalo
g.l.
: 0.05
: k-1-h
donde:
g.l.
k
h
: grados de libertad
: nmero de intervalos de clase
: nmero de parmetros a estimar
as h = 2, para distribucin normal
h = 3, para la distribucin log-normal de 3 parmetros
e) Criterio de decisin
El criterio de decisin se fundamenta en la compasin del valor calculado de
ji-cuadrado con el valor tabular encontrado, esto es:
-
distribucin elegida.
2
Ventajas y Limitaciones
a)
Ejemplo 2:
Vamos a generar un vector X de 100 variables uniformes independientemente
distribuidas al azar en el intervalo [0, 1].
>> X=rand(100,1);
El parmetro (100, 1) significa que generamos una matriz 1001 de variables
aleatorias uniformes.
Vamos a probar si el vector X proviene de la distribucin U[0,1] usando la prueba
de bondad de ajuste implementada en Matlab:
>>
[H,P,STATS]=chi2gof(X,'cdf',@(z)unifcdf(z,0,1),'edges',
0:0.2:1)
H =
P =
0
0.8614
STATS =
chi2stat:
df:
edges:
O:
E:
1.3000
4
[0 0.2000 0.4000 0.6000 0.8000 1]
[20 18 17 22 23]
[20 20 20.0000 20.0000 20.0000]
@(z)poisscdf(z,4)
Ejemplo 3:
Un estudio del comportamiento del tiempo entre roturas de cierto filamento,
medido en minutos/rotura, se muestra a continuacin:
4.33
9.97
2.81
4.34
1.36
1.61
7.86
14.39
1.76
3.53
2.16
5.49
3.44
2.30
6.58
2.88
0.98
9.92
5.24
1.45
0.70
4.52
4.38
11.65
8.42
0.44
2.12
8.04
10.92
3.69
1.59
4.44
2.18
12.16
2.44
2.15
0.82
6.19
6.60
0.28
8.59
6.69
4.48
0.85
1.90
7.36
3.04
9.66
4.82
2.89
14.1100
>> K=1+3.3*log10(length(tiempo))
K =
6.6066
>> C=R/7
C =
2.0157
Ahora realizamos la prueba, sabiendo que el valor mximo y mnimos son 14.39
y 0.28 respectivamente con un ancho de clase C = 2.016.
Ing. Alcides Ramos Calcina
>>
[H,P,STATS]=chi2gof(tiempo,'cdf',@(z)normcdf(z,mu,sig),
'edges', 0.28:2.016:14.4)
H =
P =
0
0.6125
STATS =
chi2stat:
df:
edges:
O:
E:
2.6810
4
[0.2800 2.2960 4.3120 6.3280 8.3440 14.3920]
[16 9 10 6 9]
[12.1447 10.4817 11.2082 8.6628 7.5025]
mx F(x) P(x)
(3)
P mx F(x) P(x) 0 P( 0 )
Tambin:
P( 0 ) 1
(4)
(5)
Ventajas y limitaciones
a) No requiere un conocimiento a priori de la funcin de distribucin terica.
b) Es aplicable a distribuciones de datos no agrupados, vale decir no se requiere
hacer intervalos de clase.
c) Es aplicable a cualquier distribucin terica.
d) Se aplica en la funcin de distribucin acumulada y no en la funcin de
densidad.
e) Comparndola con la prueba Ji-cuadrado, no requiere que la frecuencia
absoluta de cada clase, sea igual o mayor que 5.
f)
No es una prueba exacta, sino una prueba aproximada.
Ajuste con Matlab
H = kstest (x) lleva a cabo la prueba de Kolmogorov-Smirnov para comparar
Se tiene el comportamiento del tiempo entre roturas de cierto filamento del Ejemplo
3. Realice la prueba de bondad de ajuste de Kolmogorov-Smirnov, para ver si la
serie se ajusta a una distribucin normal.
Planteamos la siguiente hiptesis:
Ho: XN(, 2)
Ha: X no es normal
>> CDFt=normcdf(tiempo,mu,sig);
0
0.2294
KSSTAT =
0.1438
CV =
0.1884
108,75
110,77
114,31
116,69
119,52
123
123,22
124,31
127,82
128,15
132,49
134,1
136,22
144,22
145,79
146,08
153,64
153,97
154,8
156,8
158,48
162,29
164,35
169,18
169,64
177
182,53
183,11
183,49
184,98
193,78
193,88
197,58
207,78
208,18
212,48
217,52
239,07
256,62
266,54
ly=log(y);
mu=mean(ly);
sig=std(ly);
CDFly=logncdf(y,mu,sig);
Luego,
>> [H,P,KSSTAT,CV]=kstest(y,[y,CDFly],0.05)
H =
P =
0.8248
KSSTAT =
0.0858
CV =
0.1884
m=[1:n]';
Px=(m./(n+1)); %Distribucin emprica
h=plot(m,Px,m,CDFly,'-+');
legend({'P(x)' 'CDFly'},2)
title('AJUSTE K-S: LOG-NORMAL 2P')
grid on
P(x)
CDFly
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
10
15
20
25
Grfico 5.
30
35
40
45
50
El valor del estadstico Dt = 0.1884 (Valor critico o Delta tabulado, para un valor
de N = 50 y nivel de significancia 0.05.
Como Dc = 0.0858 < Dt = 0.1884, se acepta la hiptesis nula Ho. Por lo tanto, los
datos se ajustan a la distribucin log normal de 2 parmetros, con un nivel de
significancia del 5%, lo que se puede corroborar con el grafico 4.9.