Práctica 2. Estad´ıstica descriptiva

Anuncio
Práctica 2. Estadı́stica descriptiva
Estadı́stica – Facultad de Fı́sica
Objetivos
• Representaciones gráficas. Histogramas
• Medidas de centralización
• Medidas de dispersión
• Momentos
• Asimetrı́a y curtosis
1
Representaciones gráficas. Histogramas
Ya vimos en la práctica anterior que se pueden representar gráficas sencillas. Vamos a
recordar cómo se hace y compararemos los valores de las temperaturas medias de los meses
de enero y febrero almacenadas en el fichero retirot.dat. Recordemos que todo lo que
aparece despues del signo % son comentarios que no se teclean ni aparecen en la pantalla.
≫ cd c:\matlab\trabajo ←֓
≫ load retirot.dat ←֓
% Nos colocamos en el directorio que contiene
% el fichero y cargamos los datos.
≫ enero=retirot(:,2) ←֓
≫ febrero=retirot(:,3) ←֓
% Almacenamos en las variables enero y
% febrero todas las medidas de estos meses.
≫ plot(enero) ←֓
%
%
%
%
%
%
%
%
%
≫ fecha=retirot(:,1) ←֓
≫ plot(fecha,enero) ←֓
≫ hold on ←֓
≫ plot(fecha,febrero) ←֓
≫ plot(fecha,febrero,’*’) ←֓
Representamos la variacion de la temperatura
media de enero con el tiempo.
Vector que contiene los años
a los que se refieren las medidas.
Es una representacion mejor ya que
indica los años considerados.
Dibujamos encima, sin borrar, la
variacion de las temperaturas de febrero en
las mismas fechas, con lineas y asteriscos.
Podemos observar inmediatamente que las temperaturas medias de febrero suelen ser un poco
más altas que en enero. Para realizar una estimación mejor podemos realizar los histogramas
correspondientes a las dos variables y compararlos. El histograma de frecuencias (absolutas
o relativas) es la representación gráfica más usada para datos agrupados y consiste en un
conjunto de rectángulos adyacentes, cada uno de los cuales representa un intervalo de clase.
1 REPRESENTACIONES GRÁFICAS. HISTOGRAMAS
≫ hold off ←֓
≫ hist(enero) ←֓
≫ hist(febrero) ←֓
2
% para realizar un nuevo grafico
% representa el histograma de la variable enero
% idem febrero
Podemos aprovechar para aprender a representar dos gráficos en la misma pantalla. De esta
forma podemos compararlos mejor.
≫
≫
≫
≫
subplot(2,1,1) ←֓
hist(enero) ←֓
subplot(2,1,2) ←֓
hist(febrero) ←֓
%
%
%
%
dividimos la pantalla en dos y seleccionamos la primera zona
histograma de enero en la parte de arriba (la seleccionada)
seleccionamos la segunda zona y
representamos el histograma de febrero
Mientras la moda (el valor en el que la frecuencia es máxima) en enero está por debajo de
6o C, en febrero es alrededor de 8o C. Podemos decidir cuantos intervalos de clase se emplean
a la hora de representar el histograma,
≫ subplot(2,1,1),hist(enero,10) ←֓ %
≫ subplot(2,1,2),hist(enero,15) ←֓ %
%
≫ subplot ←֓
%
representa el histograma con 10 intervalos
idem con 15 intervalos de clase
Para volver al modo normal de hacer
los graficos: uno por pantalla
y tambien podemos no sólo representar el histograma sino saber cuantos elementos contiene
cada intervalo de clase,
≫ [n,x]=hist(enero,5) ←֓
n =
2
9
19
14
7
x =
2.64
3.92
5.20
6.48
%
%
%
%
Almacena en n y en x el
resultado del histograma
n son frecuencias absolutas
x contiene las marxas de clase
7.76
nos dice que hay 9 años (frecuencia absoluta) en los cuales la temperatura media de enero se
encuentra en el intervalo de clase definido por la temperatura media 3.92 o C (marca de clase).
Como ya tenemos almacenado el resultado en estos vectores n y x, si queremos representar
la frecuencia absoluta en cada intervalo de clase empleamos un diagrama de barras,
≫ bar(x,n) ←֓
% representa las frecuencias absolutas
Tambien podemos decidir no el número de intervalos de clase sino los valores concretos de
éstos. Esto resulta muy útil si queremos comparar las temperaturas medias de dos meses.
Como el rango de temperaturas es diferente, si hacemos
≫ [nfebrero,x]=hist(febrero,5) ←֓
nfebrero =
1
5
21
21
3
x =
2.8100
4.6300
6.4500
8.2700
10.0900
3
2 MEDIDAS DE CENTRALIZACIÓN
resultan intervalos de clase diferentes a los que obtenı́amos con el mismo comando para enero.
Para evitar este problema decidimos, en primer lugar, cuales son los intervalos que deseamos
utilizar (por ejemplo de 0 a 12 o C de 2 en 2 grados) y construimos un vector de referencia.
Posteriormente hacemos el histograma para los dos meses usando los mismos intervalos de
clase,
≫ y=[0:2:12] ←֓
y =
0
2
4
% vector y de 0 a 12 con paso 2
6
8
10
12
≫ [nenero,xe]=hist(enero,y) ←֓
nenero =
0
2
13
27
9
0
0
xe =
0
2
4
6
8
10
12
≫ [nfebrero,xf]=hist(febrero,y) ←֓
nfebrero =
0
1
5
15
27
3
0
xf =
0
2
4
6
8
10
12
% Histograma para enero
% usando como referencia el vector y.
% Histograma para febrero
% usando como referencia el vector y.
Ahora podemos comparar directamente e incluso representar a la vez ambos histogramas,
≫ bar(xe,nenero) ←֓
≫ hold on ←֓
≫ bar(xf,nfebrero,’:’) ←֓
% representa el histograma calculado anteriormente
% mantiene el grafico sin borrar
% representa el de febrero con linea punteada
Como ejercicio podemos hacer lo mismo pero utilizando un paso más estrecho. Pruébese
con paso de 1o C, creando el vector de referencia y de nuevo y represéntense los histogramas
de frecuencias relativas. Para ello hay que recordar que las frecuencias relativas se obtienen
dividiendo las frecuencias absolutas entre el número de observaciones, en este caso el número
de años muestreados. Para comprobar que se ha procedido correctamente la suma de las
frecuencias relativas debe ser la unidad.
2
Medidas de centralización
La ventaja de las tablas de frecuencias y de las gráficas es que en muchos casos permiten de
un vistazo tener una idea cualitativa. En este caso que las temperaturas medias de los meses
de febrero son algo mayores que las de enero en las fechas consideradas. Vamos a calcular
algunas medidas que permiten resumir la información y comparar muestras entre sı́.
La media aritmética, o simplemente media, se determina con el comando mean,
≫ mean(enero) ←֓
ans =
5.6118
%
%
%
Media aritmetica de la variable enero:
valor medio de sus componentes
P
[ ni=1 enero(i)]/n
4
2 MEDIDAS DE CENTRALIZACIÓN
≫ mean (febrero) ←֓
ans =
7.1412
Pn
%[
%
%
%
≫ dum= sum(febrero); ←֓
≫ n= length(febrero); ←֓
%
%
≫ febm= dum/n ←֓
febm =
%
7.1412
%
≫ enem=sum(enero)/length(enero) ←֓ %
enem =
%
5.6118
%
i=1
f ebrero(i)]/n
Si no dispusieramos del comando mean
se puede calcular como
Pn
i=1 f ebrero(i) sumatorio de las componentes
length(febrero) tamaño del vector
dividimos el sumatorio entre el numero
de datos y obtenemos
la media aritmetica
Analogamente, para enero
en una sola instruccion
media aritmetica de enero
La suma de los valores de las desviaciones respecto a la media aritmética vale cero.
≫ senero= enero-mean(enero);
%
%
%
%
%
≫ sum(senero) ←֓
ans =
0.000
vector que contiene las desviaciones
senero(i)= enero(i)-mean(enero)
suma de los valores del vector
errores de redondeo pueden originar
un valor un poco diferente de cero
Otras medias que se suelen emplear son la media geométrica (raı́z enésima del producto de
los valores de la variable) y la media armónica (inversa de la media aritmética de las inversas
de los valores de la variable). Por suerte para nosotros existen dos comandos de matlab
que calculan estas medias,
≫ ge=geomean(enero); ←֓
≫ he=harmmean(enero); ←֓
≫ ge,he ←֓
ge=
5.4053
he=
5.1608
% Media geometrica
% Media armonica
Por último, la media cuadrática es la raı́z cuadrada de la media aritmética del los cuadrados
de los valores. Como matlab no tiene un comando para calcularla, vamos a desarrollarlo
nosotros. Recordemos que,
xQ =
sP
N
i=1
N
x2i
;
xQ =
sP
k
i=1
x2i ni
N
Nos es más fácil emplear la primera expresión (xi son los valores que toma la variable y ni
el número de veces que se repite cada valor),
2 MEDIDAS DE CENTRALIZACIÓN
≫ qe=enero.*enero; ←֓
≫ sum(qe); ←֓
≫ ans/length(qe); ←֓
≫ sqrt(ans) ←֓
ans =
5.7878
%
%
%
%
%
%
%
5
vector con los cuadrados de los valores
El operador .* multiplica los dos vectores elemento
a elemento qe(i) = enero(i). enero(i)
suma de qe (sumatorio de los cuadrados)
idem dividido por el numero de datos
debe notarse que length(enero) = length(qe)
raiz cuadrada del resultado
% media cuadratica
Podemos crear un fichero-M para calcular la media cuadrática en cuantas ocasiones deseemos.
Los pasos a dar son,
• Entrar en el editor: en el menú de la pantalla de comandos abrimos File / New /
M-file.
• Teclear el programa
% QUADMEAN Media cuadratica
% M = QUADMEAN(X) proporciona la media cuadratica
% de X, donde X es un vector de n elementos.
% Se calcula como la raiz cuadrada de la media aritmetica
% de los cuadrados de los elementos
% (estas son lineas de comentarios porque empiezan por %)
%
f unction m = quadmean(x)
% Se determina el numero de elementos
n = length(x);
% Se divide la suma de los cuadrados entre el numero de elementos
m = sqrt(sum(x. ∗ x) / n);
• Grabarlo: en el menú de la pantalla del block de notas (en la que estamos editando)
abrimos Archivo / Guardar como.... Se selecciona el directorio donde se quiere
guardar (c:\matlab\trabajo) y le llamamos quadmean.m)
Comprobamos que funciona bien calculando de nuevo la media cuadrática de las medidas de
enero,
≫ quadmean(enero) ←֓
ans =
5.7878
≫ quadmean(febrero) ←֓
ans =
7.3033
% corre el programa quadmean.m
% utilizando como parametro el vector enero
% y ahora para febrero
Otra medida de centralización importante es la mediana. Esta divide en dos partes iguales
la distribución de frecuencias o, lo que es lo mismo, divide el histograma en dos partes de
igual área. Se puede calcular como,
6
3 MEDIDAS DE DISPERSIÓN
≫ median(enero) ←֓
ans=
5.700
La moda de una muestra es aquel valor de la variable que tiene una frecuencia máxima.
En los ejemplos que venimos desarrollando es fácil determinar cual es el intervalo modal
(aquel en el que la frecuencia sea máxima). Si queremos determinar la moda como un valor
determinado dentro del intervalo modal, empleamos,
Mo = aj +
δ1
(aj+1 − aj )
δ1 + δ2
donde (aj , aj+1) es el intervalo con frecuencia máxima nj , nj−1 y nj+1 son las frecuencias de
los intervalos anterior y posterior al modal y δ1 = nj − nj−1 y δ2 = nj − nj+1 . El cálculo de
las modas de enero y febrero se deja como ejercicio .
Relléne ahora el cuestionario 2-A.
Si dispone de tiempo libre continúe la práctica 2 hasta el final de la clase.
Esta práctica se terminará en la próxima sesión (cuestionario 2-B).
3
Medidas de dispersión
Una evaluación rápida de la dispersión se puede obtener calculando el recorrido o rango.
Para saber el rango de fechas se puede utilizar el comando range de la siguiente forma,
≫ range(fecha) ←֓
ans=
50
% Recordemos que el vector fecha contiene la primera columna
% del fichero: los años tabulados.
Para eliminar la influencia de los valores extremos, se usa el recorrido intercuartı́lico como
la diferencia entre el primer y tercer cuartil (medidas que dividen la muestra de forma que
el 25% de los datos están debajo del primer cuartil y el 25% de los datos se encuentran por
encima del tercer cuartil).
≫ iqr(enero)
ans=
1.775
Para febrero los datos están más agrupados; compruébese.
La desviación media respecto a la media aritmética (o desviación media) es la media aritmética de las diferencias absolutas entre los valores de la variable y la media aritmética de
la muestra. Recordando su definición podemos calcularla fácilmente de la siguiente manera,
≫ d=sum(abs(enero-mean(enero)))/length(enero) ←֓
ans=
1.1243
7
4 ASIMETRÍA Y CURTOSIS
Pero la medida más empleada es sin duda la desviación tı́pica. En este caso se usan los
cuadrados de las desviaciones. La varianza de una muestra agrupada y la desviación tı́pica
(o desviación estándar) como la raı́z cuadrada de la varianza se definen como,
2
s =
PN
2
i=1 (xi − x)
N −1
;
s=
sP
N
i=1 (xi
− x)2
N −1
En matlab se pueden calcular como,
≫ var(enero) ←֓
ans=
2.0471
≫ std(enero) ←֓
ans=
1.4308
Podemos intentar el cálculo por nuestra cuenta como,
≫ dif=enero-mean(enero); ←֓
≫ dif2=dif.*dif; ←֓
≫ suma=sum(dif2); ←֓
≫ varianza=suma/50 ←֓
ans=
2.0471
≫ desv=sqrt(varianza) ←֓
ans=
1.4308
4
%
%
%
%
Vector con las diferencias respecto a la media
Vector con las diferencias al cuadrado
Valor de la suma de las diferencias al cuadrado
Varianza
% Igual que antes
% Desviacion tipica
% Igual que antes
Asimetrı́a y curtosis
Para dar una descripción estadı́stica completa de una muestra de datos es necesario estudiar
el grado de simetrı́a de los datos respecto a su medida central y la concentración de los datos
alrededor de dicho valor. Vamos a cuantificar el grado de asimetrı́a de nuestras distribuciones
utilizando los dos coeficientes principales: el coeficiente de asimetrı́a de Fisher y el coeficiente
de asimetrı́a de Pearson
Recordemos que el primero se define como el cociente entre el momento de orden 3
respecto a la media y el cubo de la desviación tı́pica:
m3
g1 = 3
s
donde
m3 =
Pk
− x)3 ni
N
i=1 (xi
Es fácil ver que en el caso una distribución simétrica el coeficiente de asimetrı́a será nulo
(g1 = 0). En caso contrario, g1 tendrá valores positivos para una asimetrı́a positiva (a la
derecha) y negativos cuando la asimetrı́a sea en el otro sentido.
8
4 ASIMETRÍA Y CURTOSIS
Por otra parte el coeficiente de asimetrı́a de Pearson (que tambien es adimensional) se
define como:
AP =
x − Mo
s
Su interpretación es similar a la del coeficiente de Fisher, siendo nulo para una distribución simétrica (en ese caso media y moda coinciden) y tanto más positivo, o negativo,
cuando más sesgada esté la distribución hacia la derecha, o hacia la izquierda.
Vamos a calcular la asimetrı́a para la distribución de temperaturas medias de los tres
primeros meses del año.
≫ dum=retirot(:,2:4); ←֓
≫ invierno=dum(:); ←֓
≫ [n,x]=hist(invierno,10) ←֓
% Las columnas 2 a 4 son enero a marzo
% Convertimos una matriz en un vector
% 10 intervalos de clase
≫ dum=invierno-mean(invierno) ←֓ % diferencias respecto a la media
≫ dum=dum.^3 ←֓
% diferencias al cubo
≫ dum=sum(dum) ←֓
% suma de las diferencias al cubo
% numero de datos
≫ length(invierno) ←֓
ans =
% Matriz de 153 datos y una columna
153
% momento de orden tres
≫ m3=dum/153 ←֓
≫ s=std(invierno ←֓
% desviacion estandar
≫ g1=m3/(s^3) ←֓
% coeficiente de asimetria de Fisher
ans =
0.1045
% estimacion grosera de la moda
≫ moda=6.85 ←֓
≫ As=(mean(invierno)-moda)/s ←֓ % coeficiente de asimetria de Pearson
ans =
0.3172
Tenemos entonces una distribución muy simétrica ya que g1 es próximo a cero y algo sesgada
a la derecha al ser As algo mayor que cero. Hemos estimado este coeficiente utilizando un
valor de la moda que no es preciso: nos hemos limitado a tomar el valor del intervalo
intercuartı́lico que agrupa un mayor número de observaciones. Para calcular este coeficiente
con precisión deberı́amos determinar la moda utilizando las fórmulas que vimos más arriba.
La forma en que se distribuyen los datos de la muestra en torno al valor central puede ser
medida con el coeficiente de curtosis. Los datos se pueden distribuir de forma que tengamos
un gran apuntamiento (o pico en el histograma) alrededor del valor central, en cuyo caso
diremos que tenemos una distribución leptocúrtica, o en el extremo contrario, el histograma
puede ser muy aplanado, lo que corresponde a una distribución platicúrtica. En el caso
intermedio, diremos que la distribución es mesocúrtica y el agrupamiento corresponderá al
de una distribución llamada normal, o en forma de campana de Gauss.
m4
g2 = 4
s
donde
m4 =
Pk
− x)4 ni
N
i=1 (xi
4 ASIMETRÍA Y CURTOSIS
9
Análogamente calcularemos el coeficiente de curtosis para la misma distribución. Aparentemente tenemos una distribución que no es muy picuda ni muy aplanada, aunque tal vez
parezca platicúrtica. El coeficiente de curtosis se calcula fácilmente,
≫ dum=invierno-mean(invierno) ←֓ % diferencias respecto a la media
≫ dum=dum.^4 ←֓
% diferencias a la cuarta
% suma de las diferencias a la cuarta
≫ dum=sum(dum) ←֓
≫ m4=dum/153 ←֓
% momento de orden cuatro
% coeficiente de curtosis
≫ g2=m4/(s^4) ←֓
ans =
2.5912
luego efectivamente al ser g2 < 3, la distribución es platicúrtica y no leptocúrtica (g2 > 3) o
mesocúrtica (g2 = 3).
Descargar