Estad´ıstica Descriptiva1 con MATLAB/Octave

Anuncio
Práctica 1
Intro MATLAB
Descrip. datos
Rep. Gráfica
Estadı́stica Descriptiva1 con
MATLAB/Octave
Medidas de
posición
Medidas de
dispersión
Ingenierı́a de Telecomunicaciones
Descrip. 2
variables
Departamento de Estadı́stica
Universidad Carlos III de Madrid
Curso 2009/2010
1 Consultar
ficheros Descriptiva 1 y Descriptiva 2
1 / 42
Práctica 1
Resumen de la práctica
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
1
Introducción entorno MATLAB/Octave
2
Descripción de un conjunto de datos
3
Representación gráfica
4
Medidas de posición
5
Medidas de dispersión
6
Descripción conjunta de dos variables
Medidas de
dispersión
Descrip. 2
variables
2 / 42
Práctica 1
Resumen
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
1
Introducción entorno MATLAB/Octave
2
Descripción de un conjunto de datos
3
Representación gráfica
4
Medidas de posición
5
Medidas de dispersión
6
Descripción conjunta de dos variables
Medidas de
dispersión
Descrip. 2
variables
3 / 42
Práctica 1
Ventana Principal de MATLAB
Intro MATLAB
Descrip. datos
Rep. Gráfica
Current Directory
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Workspace
Command Window
Command History
4 / 42
Práctica 1
Directorio actual de Trabajo (Current Directory):
Intro MATLAB
Especificar la ruta: C:/.../
Descrip. datos
por ejemplo: C:/practica1/
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Aquı́ se guardan las funciones *.m creadas
Espacio de Trabajo (Workspace).
Aquı́ aparecen las variables o funciones cargadas.
Ventana de comandos (Command Window).
Consola sobre la que se escriben los comandos.
Historial de comandos (Command History).
Aquı́ se guardan los comandos escritos en la consola.
Ficheros práctica 1
Para esta práctica descarga de la página web los ficheros
internet.mat, AlumnosIndustriales.mat y histg.m del siguiente
enlace
5 / 42
Práctica 1
Resumen
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
1
Introducción entorno MATLAB/Octave
2
Descripción de un conjunto de datos
3
Representación gráfica
4
Medidas de posición
5
Medidas de dispersión
6
Descripción conjunta de dos variables
Medidas de
dispersión
Descrip. 2
variables
6 / 42
Práctica 1
Ejemplo: averı́as
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
Los datos sobre el número de averı́as de 40 centrales se recogen en la
siguiente tabla (incompleta):
Medidas de
dispersión
Descrip. 2
variables
Central Eléctrica
No Averı́as
1
2
3
4
..
.
1
3
2
2
..
.
39
40
1
2
7 / 42
Práctica 1
Ejemplo: averı́as
Intro MATLAB
Descrip. datos
Rep. Gráfica
En MATLAB, introducimos los datos sobre el command window
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
>> averias=[ 1; 3; 2; 2; 0; 3; 1; 0; 2; 1; 0; 1; 0; 3; 0; 2;
0; 2; 1; 1; 1; 0; 2; 3; 0; 0; 0; 0; 1; 1; 4; 0;
3; 1; 0; 2; 1; 1; 1; 2 ]
El resultado es el vector columna averias
averias =
1
3
2
2
...
8 / 42
Práctica 1
Ejemplo: averı́as
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
El comando tabulate, calcula las frecuencias absolutas (Count) y
relativas (en %) (Percent)
Medidas de
dispersión
Descrip. 2
variables
>> tabulate(averias)
Value
0
1
2
3
4
Count
13
13
8
5
1
Percent
32.50%
32.50%
20.00%
12.50%
2.50%
9 / 42
Práctica 1
Ejemplo: averı́as
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Para trabajar con la tabla como una matriz, la guardamos con el
nombre de tabla. De este modo podemos manejar sencillamente sus
elementos.
>> tabla = tabulate(averias)
Por ejemplo, podemos expresar las frecuencias relativas entre 0 y 1,
en lugar de en %
>> tabla(:,3) = tabla(:,3)/100
tabla =
0
1.0000
2.0000
3.0000
4.0000
13.0000
13.0000
8.0000
5.0000
1.0000
0.3250
0.3250
0.2000
0.1250
0.0250
10 / 42
Práctica 1
Ejemplo: averı́as
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Podemos calcular las frecuencias acumuladas con el comando cumsum
>> abs_acum = cumsum(tabla(:,2))
ans =
13
26
34
39
40
>> rel_acum = cumsum(tabla(:,3))
ans =
0.3250
0.6500
0.8500
0.9750
1.0000
11 / 42
Práctica 1
Ejemplo: averı́as
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
La tabla final de frecuencias se puede construir, juntando las
columnas de las frecuencias acumuladas (abs acum y rel acum a la
tabla anterior)
>> tabla=[ tabla
abs_acum
rel_acum ]
tabla =
0
1.0000
2.0000
3.0000
4.0000
13.0000
13.0000
8.0000
5.0000
1.0000
0.3250
0.3250
0.2000
0.1250
0.0250
13.0000
26.0000
34.0000
39.0000
40.0000
0.3250
0.6500
0.8500
0.9750
1.0000
12 / 42
Práctica 1
Ejemplo: averı́as
Intro MATLAB
Descrip. datos
Rep. Gráfica
¿Cuántas centrales tienen menos de 2 averı́as ?
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
No Averias
Frec Abs
Frec Rel
Frec Abs Acum
Frec Rel Acum
0
1
2
3
4
13
13
8
5
1
0.325
0.325
0.200
0.125
0.025
13
26
34
39
40
0.325
0.650
0.850
0.975
1
13 / 42
Práctica 1
Ejemplo: averı́as
Intro MATLAB
Descrip. datos
Rep. Gráfica
¿Qué porcentaje de centrales tiene 3 ó menos averı́as?
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
No Averias
Frec Abs
Frec Rel
Frec Abs Acum
Frec Rel Acum
0
1
2
3
4
13
13
8
5
1
0.325
0.325
0.200
0.125
0.025
13
26
34
39
40
0.325
0.650
0.850
0.975
1
14 / 42
Práctica 1
Ejemplo: averı́as
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
¿Qué cantidad de averı́as es tal que al menos el 50 % de las centrales
tiene una cantidad de averı́as inferior o igual a esa?
Medidas de
dispersión
Descrip. 2
variables
No Averias
Frec Abs
Frec Rel
Frec Abs Acum
0
1
13
13
0.325
0.325
13
26
0.325
0.650
2
3
4
8
5
1
0.200
0.125
0.025
34
39
40
0.850
0.975
1
Frec Rel Acum
≥50 %
15 / 42
Práctica 1
Resumen
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
1
Introducción entorno MATLAB/Octave
2
Descripción de un conjunto de datos
3
Representación gráfica
4
Medidas de posición
5
Medidas de dispersión
6
Descripción conjunta de dos variables
Medidas de
dispersión
Descrip. 2
variables
16 / 42
Práctica 1
Representación gráfica
Intro MATLAB
Variables cuantitativas
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Algunos gráficos son diferentes en función de que las variables
sean discretas o continuas.
Se utilizan con frec. absolutas o relativas y acumuladas.
Diagrama de barras
Gráfico de tarta, de sectores o pictograma
Histograma
17 / 42
Práctica 1
Representación gráfica
Intro MATLAB
Variables cuantitativas
Descrip. datos
Rep. Gráfica
Medidas de
posición
Ejemplo: averı́as en centrales eléctricas
Medidas de
dispersión
Descrip. 2
variables
Diagrama de barras:
En MATLAB utilizamos el comando bar
14
12
>> bar(tabla(:,2))
10
8
obtenemos el diagr. de barras de
frec. absolutas
6
4
2
0
1
2
3
4
5
18 / 42
Práctica 1
Representación gráfica
Intro MATLAB
Variables cuantitativas
Descrip. datos
Rep. Gráfica
Medidas de
posición
Ejemplo: averı́as en centrales eléctricas
Medidas de
dispersión
Diagrama de tarta, sectores o pictograma:
Descrip. 2
variables
En MATLAB utilizamos el comando pie
3%
13%
33%
>> pie(tabla(:,2))
20%
33%
19 / 42
Práctica 1
Representación gráfica
Intro MATLAB
Variables cuantitativas
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Ejemplo: alturas de alumnos
Histograma:
La variable alturas, recoge los datos sobre la altura de 28 alumnos
en una clase.
alturas = [ 156;
153;
150;
168;
159;
158;
162;
152;
153;
152;
163;
151;
157;
153;
160;
159;
162;
159;
162;
147;
156;
154;
156;
165;
162;
153;
164;
149 ]
6
5
Comando hist
4
3
>> hist(alturas)
2
1
0
145
150
155
160
165
170
20 / 42
Práctica 1
Intro MATLAB
Descrip. datos
Podemos seleccionar el número de clases o intervalos que deseemos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
>> hist(alturas, 5)
% 5 clases o intervalos
8
7
Descrip. 2
variables
6
5
4
3
2
1
0
145
150
155
160
165
170
21 / 42
Práctica 1
Intro MATLAB
Supongamos que en la clase se incorpora un nuevo alumno que mide
2.10 metros
Creamos una nueva variable alturas2
Descrip. datos
Rep. Gráfica
Medidas de
posición
>> alturas2 = [alturas; 210];
>> hist(alturas2,5)
Medidas de
dispersión
10
Descrip. 2
variables
9
8
7
6
5
4
3
2
1
0
140
150
160
170
180
190
200
210
El nuevo alumno es un dato atı́pico
22 / 42
Práctica 1
Diagrama para frec. acum.
Intro MATLAB
Descrip. datos
Ejemplo: averı́as centrales eléctricas
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Nos centramos en las frecuencias absolutas y absolutas acumuladas
De la variable tabla representamos las columnas 2 y 4
>> bar([tabla(:,2) tabla(:,4)])
40
Frec. Abs
35
Frec. Abs Acum.
30
25
20
15
10
5
0
1
2
3
4
5
23 / 42
Práctica 1
Resumen
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
1
Introducción entorno MATLAB/Octave
2
Descripción de un conjunto de datos
3
Representación gráfica
4
Medidas de posición
5
Medidas de dispersión
6
Descripción conjunta de dos variables
Medidas de
dispersión
Descrip. 2
variables
24 / 42
Práctica 1
Medidas de posición
Intro MATLAB
media, mediana
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Ejemplo: alturas de alumnos
Volviendo al ejemplo anterior alturas2
La media x̄, comando mean:
>> mean(alturas2)
ans =
156.9643
La mediana xmed , comando median:
>> median(alturas2)
ans =
156.5000
25 / 42
Práctica 1
Resumen
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
1
Introducción entorno MATLAB/Octave
2
Descripción de un conjunto de datos
3
Representación gráfica
4
Medidas de posición
5
Medidas de dispersión
6
Descripción conjunta de dos variables
Medidas de
dispersión
Descrip. 2
variables
26 / 42
Práctica 1
Medidas de dispersión
Intro MATLAB
varianza, desviación tı́pica y rango
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Miden la “dispersión” de las observaciones dentro del conjunto de
datos respecto de alguna medida de posición.
Varianza:
VARx = Sx2 =
n
1X
(xi − x̄)2
n
i
Desviación tı́pica:
DTx = Sx =
p
Sx2
Rango ó amplitud:
Rangox = máx(xi ) − mı́n(xi )
27 / 42
Práctica 1
Intro MATLAB
Descrip. datos
En MATLAB
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Comando var
>> var(x)
Comando std
>> std(x)
Comando range
>> range(x)
O también con los comandos max y min, es decir:
max(x)-min(x).
28 / 42
Práctica 1
Resumen
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
1
Introducción entorno MATLAB/Octave
2
Descripción de un conjunto de datos
3
Representación gráfica
4
Medidas de posición
5
Medidas de dispersión
6
Descripción conjunta de dos variables
Medidas de
dispersión
Descrip. 2
variables
29 / 42
Práctica 1
Ejemplo: longitud/peso
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Se ha medido la longitud (X en mm) y el peso (Y en gr) de una
muestra de 117 tornillos producidos por una máquina, la información
se representa en la siguiente tabla:
nij
Descrip. 2
variables
X/Y
40-60
60-80
80-100
100-200
140-160
160-180
180-200
4
14
0
0
60
20
0
2
16
0
0
1
>> tornillos = [ 4 0 0 0
14 60 2 0
0 20 16 1 ]
30 / 42
Práctica 1
Ejemplo: longitud/peso
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Se ha medido la longitud (X en mm) y el peso (Y en gr) de una
muestra de 117 tornillos producidos por una máquina, la información
se representa en la siguiente tabla:
nij
Descrip. 2
variables
X/Y
40-60
60-80
80-100
100-200
140-160
160-180
180-200
4
14
0
0
60
20
0
2
16
0
0
1
>> tornillos = [ 4 0 0 0
14 60 2 0
0 20 16 1 ]
31 / 42
Práctica 1
Podemos calcular la tabla de frecuencias relativas, simplemente
Intro MATLAB
Descrip. datos
fij =
nij
n
Rep. Gráfica
Medidas de
posición
>> frec_relat = tornillos/117
Medidas de
dispersión
Descrip. 2
variables
X/Y
40-60
60-80
80-100
100-200
140-160
160-180
180-200
0.0342
0.1197
0
0
0.5128
0.1709
0
0.0171
0.1368
0
0
0.0085
32 / 42
Práctica 1
Intro MATLAB
Podemos calcular las distribuciones marginales sumando por filas y
por columnas:
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Por filas (1) y por columnas (2):
>> sum(tornillos,1)
ans =
18 80 18
>> sum(tornillos,2)
ans =
4
76
37
1
X/Y
40-60
60-80
80-100
100-200
Total
140-160
160-180
180-200
4
14
0
0
60
20
0
2
16
0
0
1
4
76
37
Total
18
80
18
1
117
33 / 42
Práctica 1
Ejemplo: internet
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
En una encuesta realizada por dos empresas de servicios de internet
sobre 95 hogares con conexión a internet, se han analizado las
siguientes variables:
MB: MB’s descargados al dı́a.
Tiempo de Conexión: tiempo medio de conexión diario en
horas.
ISP: Internet Service Provider (proveedores 1 y 2).
Momento: momento principal de conexión (Mañana=1,
Tarde=2, Noche=3).
Los datos se encuentran en el fichero internet.mat
34 / 42
Práctica 1
Ejemplo: internet
Intro MATLAB
Descrip. datos
Tabla de datos (incompleta):
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
MB
Tiempo conexion
ISP
Momento
163
170
169
173
160
..
.
1,1
3,5
3
2
1,1
..
.
1
1
1
1
1
..
.
1
1
3
2
1
..
.
183
175
173
8,1
5,6
3
2
2
2
1
3
1
35 / 42
Práctica 1
Ejemplo: Internet
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
Para importar el fichero en MATLAB:
File → Open ó tambien
Medidas de
dispersión
Descrip. 2
variables
File → Import data
Una vez importados los datos, en el workspace tenemos creada
la matriz internet
Para nombrar las variables:
>>
>>
>>
>>
MB = internet(:,1);
tiempo_conexion = internet(:,2);
ISP = internet(:,3);
momento = internet(:,4);
36 / 42
Práctica 1
Ejemplo: Internet
Intro MATLAB
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Con el comando crosstab, podemos trabajar con tablas de
doble entrada, por ejemplo, para las variables cualitativas
momento e ISP, podemos crear la matriz de tamaño 3 × 2. En la
que las filas representan las tres categorı́as de la variable
momento (1= mañana, 2 = tarde y 3 = noche) y las columnas
los dos tipos de proveedores ISP
>> crosstab(momento,ISP)
ans =
3
10
11
25
18
28
MOMENTO
mañana
tarde
noche
ISP
1
2
3
10
11 25
18 28
37 / 42
Práctica 1
Ejemplo: Internet
Intro MATLAB
Histograma por grupos
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
El fichero histg.m permite representar gráficamente un
histograma por grupos.
Guardaremos el fichero en el directorio C:/practica1/
Descrip. 2
variables
>> histg(MB,ISP)
ISP 1
ISP 2
0.3
0.25
0.2
0.15
0.1
0.05
0
155
160
165
170
175
180
185
190
195
200
38 / 42
Práctica 1
Ejemplo: Internet
Intro MATLAB
Análisis por grupos
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
El comando grpstats permite calcular estadı́sticas por grupos.
Descrip. 2
variables
GRPSTATS(X,GROUP) calcula la media de los grupos.
[MEANS,SEM,COUNTS,GNAME] = GRPSTATS(X,GROUP), calcula
las medias (MEANS), desviaciones tı́picas (SEM), el número de
elementos en cada grupo (COUNTS), y el nombre de cada grupo
(GNAME)
39 / 42
Práctica 1
Ejemplo: Internet
Intro MATLAB
Análisis por grupos
Descrip. datos
Rep. Gráfica
Medidas de
posición
>> [MEANS,SEM,COUNTS,GNAME]=grpstats(MB,ISP)
Medidas de
dispersión
MEANS =
165.3125
179.3492
Descrip. 2
variables
SEM =
0.7834
0.6345
COUNTS =
32
63
GNAME =
’1’
’2’
40 / 42
Práctica 1
Ejemplo: Internet
Intro MATLAB
gráfico de dispersión
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
Con la función plot, podemos representar un gráfico de
dispersión de dos variables cuantitativas, por ejemplo, para las
variables MB y tiempo conexion:
>> plot(MB,tiempo_conexion)
12
10
8
6
4
2
0
155
160
165
170
175
180
185
190
195
¿Existe una relación lineal entre MB y tiempo conexion? ¿existe
dependencia lineal?
41 / 42
Práctica 1
Ejemplo: Internet
Intro MATLAB
covarianza y correlación
Descrip. datos
Rep. Gráfica
Medidas de
posición
Medidas de
dispersión
Descrip. 2
variables
El comando cov, calcula la matriz de covarianzas
>> cov(MB,tiempo_conexion)
ans =
67.6847
13.8172
13.8172
4.7746
COV (X , Y ) =
Sx2
Sx,y
Sx,y
Sy2
El comando corrcoef, calcula el coefficiente de correlación.
>> corrcoef(MB,tiempo_conexion)
ans =
1.0000
0.7686
r
0.7686
1.0000
CORR(X , Y ) = x,x
rx,y
donde rx,y = SSxx,y
.
Sy
rx,y
ry ,y
42 / 42
Descargar