Sunteți pe pagina 1din 5

Departamento de Matematica Aplicada

METODOS
ESTAD
ISTICOS.
Ingeniera Qumica (Curso 2008-09)
Estadstica Descriptiva. Pr
actica 1

1.

Algunos comandos de Estadstica

Describimos a continuacion algunos de los comandos de Estadstica mas importantes que tiene Matlab. Recomendamos que, ante cualquier duda, se acuda al sistema interactivo de ayuda que tiene Matlab.
Empecemos con dos vectores columnas de 10 elementos cada uno (es importante que sean vectores columnas).
>> x=[1;2;3;4;5;6;7;8;9;10];
>> y=[-0.1 ; 2; -3; 0.6; 9; 8.1; -1; 4.3; 7;-3];
Si queremos calcular la media de los valores de x y de y utilizamos el comando mean, haciendo
>> xmedia=mean(x)
xmedia =
5.5000
>> ymedia=mean(y)
ymedia =
2.3900
Para calcular la mediana, utilzamos el comando median, es decir
>> xmediana=median(x)
xmediana =
5.5000
>>ymediana=median(y)
ymediana =
1.3000
y para las varianzas
>> xvar=var(x,1)
xvar =
8.2500
>> yvar=var(y,1)
yvar =
18.0349

Observese que si en vez del comando var(x,1), escribimos var(x) el resultado !


es 9.1667, que es distinto de
N
var(x,1). De hecho para un vector columna x = (x1 , x2 , . . . , xN ) con media = i=1 xi , las dos varianzas se
!
!
N
N
1
2
2
definen como var(x,1) = N1
i=1 (xi ) y var(x) = N 1
i=1 (xi ) . La diferencia es que en la primera se
divide por N y en la segunda se divide por N 1. Esta segunda varianza es ampliamente utilizada.
Para las desviaciones, podemos tomar las raices cuadradas de las varianzas o utilizar directamente el comando
>> xdesv=std(x,1)
xdesv =
2.8723
>> ydesv=std(y,1)
ydesv =
4.2468
Para hallar la covarianza, generamos la matriz de covarianzas que se obtiene con el comando
>> covarianza=cov(x,y,1)
covarianza =
8.2500
1.9850

1.9850
18.0349

Como se observa, el resultado es una matriz 2 2 del tipo


covarianza=
a
b

b
c

donde a = s2x , c = s2y , la varianza de x y de y respectivamente, y b=sxy es la covarianza de x e y. A esta matriz se


le denomina la matriz de covarianzas.
La misma observacion que hemos realiado para la diferencia entre var(x,1) y var(x) se aplica a std(x,1),
std(x), y a cov(x,y,1), cov(x,y).
Podemos tambien calcular el coeficiente de correlacion de la forma siguiente
>> coeficiente=covarianza(1,2)/sqrt(covarianza(1,1)*covarianza(2,2))
coeficiente =
0.1627
Observese que
covarianza(i,j) es el elemento (i,j) de la matriz covarianza, y por tanto, el coeficiente de
correlacion es b/ ac=covarianza(1,2)/sqrt(covarianza(1,1)*covarianza(2,2)).
Con todos estos datos, se puede obtener la recta de regresion de y sobre x, dada por y y = byx (x x
), donde
byx = sxy /s2x , es decir
>>byx=covarianza(1,2)/covarianza(1,1)
byx =
0.2406
Se puede escribir la recta como y 2,3900 = 0,2406(x 5,5000) o equivalentemente y = 0,2406x + 1,0667.

2.

Mnimos Cuadrados

Otra forma de obtener la recta de regresion de Mnimos Cuadrados, incluso de obtener curvas que aproximan
a una nube de puntos, es utilizando el comando polyfit(x,y,n), donde n es el grado del polinomio que queremos
obtener. Por lo tanto, para obtener una recta tomamos n = 1:
>> recta=polyfit(x,y,1)
recta =
0.2406

1.0667

Si queremos graficar conjuntamente la nube de puntos y la recta de regresion hacemos:


>>
>>
>>
>>
>>

plot(x,y,*)
hold on
xpol=linspace(1,10,100);
ypol=polyval(recta,xpol);
plot(xpol,ypol)
y se obtiene la figura
10

10

Figura 1: Nube de puntos y recta = 0,2406x + 1,0667


El error que se comete al aproximar la funcion emprica (tabla inicial) por la funcion teorica (recta) se puede
cuantificar de la siguiente forma. Primero calculamos los valores de la recta y = ax + b en los puntos xi :
>>fxi=polyval(recta,x)
fxi =
1.3073

1.5479

1.7885

2.0291

2.2697

2.5103

2.7509

2.9915

3.2321

Y ahora calculamos el Error Cuadr


atico Medio, que viene dado por la expresion:
"
# n
#1 %
(axi + b yi )2
=$
n i=1
Para calcularlo:

3.4727

>>n=length(x) % calcula el numero de terminos


n =
10
>>errorcm=sqrt(sum((fxi-y).^2)/n)
errorcm =
4.1901

3.

Ejercicios

Ejercicio 1 Resolver los ejercicios de la Hoja 2 de problemas utilizando Matlab.


Ejercicio 2 Mediante el Metodo de Mnimos Cuadrados, elegir una funcion cuadr
atica del tipo
f (x) = ax2 + bx + c
para los valores de x e y dados por la siguiente tabla
x
y

7
8
9
10 11
7,4 8,4 9,1 9,4 9,5

12
9,5

13
9,4

Calcular la funcion f (x), el error, el error cuadr


atico medio y representar la funcion obtenida junto a los datos
de la tabla.
Ejercicio 3 De ciertas medidas realizadas se han obtenido los siguientes valores:
x
y

0
1

0,2
0,5
1
1,5
0,833 0,667 0,54 0,4

2
2,5
3
3,5
4
4,5
5
0,333 0,286 0,25 0,222 0,2 0,182 0,167

a) Representar la tabla de valores gr


aficamente.

1
. Esta funcion no la
ax + b
podemos obtener directamente con el comando polyfit. Pero la podemos transformar en,
b) Se puede observar que se trata aproximadamente de una funcion del tipo y =
1
= ax + b
y
Ahora, haciendo X = x; Y =

1
. Nos queda la expresion
y
Y = aX + b

Calcular esta funcion. Habr


a que hacer una nueva tabla de valores con las nuevas variables.
c) Deshacer el cambio de variable y obtener la funcion original y representarla con los valores del apartado a).
Ejercicio 4 La tabla siguiente contiene la presion p en kp/cm2 de un vapor saturado, en funcion del volumen
especfico, v, medido en m3 /kp:
v
p

3,334 1,63 0,8657 0,4323 0,2646 0,1699 0,1146


0,482 1,034 2,027 4,247 7,164 11,48
17,6

Elegir una funcion p = f (v) que sea adecuada a la tabla de valores y calcularla con el Metodo de Mnimos
Cuadrados. Representarla despues con los valores.
Seg
un esta funcion Cu
al sera la presion aproximada que correspondera a un volumen de 3m3 /kp?
Ejercicio 5 Hallar por el Metodo de Mnimos Cuadrados una funcion del tipo S = Atq para los datos de la
siguiente tabla. Representarla junto a los datos de la tabla:
t
S

1
2
3
7,1 27,8 62,1

4
5
110 161

(Indicacion: Tomar logaritmos neperianos en la funcion para transformarla en una funcion de tipo lineal).
4

El comando rand(M,N) genera una matriz de M filas y N columnas en donde cada entrada es un numero
aleatorio entre 0 y 1, seg
un una distribucion uniforme. Si se desea elegir los numeros segun una distribucion normal
standard, se escribe randn(M,N)
Ejercicio 6 Repetir lo realizado en las secciones 1 y 2 cuando x e y son dos vectores columna de 100 filas y
numeros aleatorios siguiendo a) una distribucion uniforme, b) una distribucion normal standard.
Ejercicio 7 Repetir el ejercicio anterior con los vectores x e y, donde x = (1, 2, 3, . . . , 30)T , e y = x+randn(30, 1).
Ejercicio 8 Explorar lo que hace el comando hist, siguiendo los siguientes pasos:
>>
>>
>>
>>
>>

x=randn(200,1);
N=hist(x)
hist(x)
M=hist(x, 25)
hist(x,25)

Utilizar si es necesario el comando de ayuda:


>> help hist

S-ar putea să vă placă și