Está en la página 1de 11

Covarianza y Transformaciones Bidimensionales

Noboa Sebastin, Suquillo Alex


Departamento de Elctrica y Electrnica, Universidad de las Fuerzas Armadas ESPE
esnoboa@espe.edu.ec
awsuquillo@espe.edu.ec

Abstract- This document contains the generation, rendering and


graphical representation of the CDF and PDF v. to. dimensional as well
as obtaining the covariance and correlation coefficient based on real
data, presenting the results in scatter diagrams and 3D graphics to the
associated pdf and cdf. Besides obtaining some cases for certain pdf
dimensional transformations given presents.
Resumen-Este documento contiene la generacin, representacin y
representacin grfica de las cdf y pdf de v. a. bidimensionales, as
como la obtencin de la covarianza y el coeficiente de correlacin a
partir de datos reales, presentando los resultados en diagramas de
dispersan y las grficas 3D para las pdf y cdf asociadas. Adems se
presenta la obtencin de algunos casos transformaciones
bidimensionales para ciertas pdf dadas.

I.

INTRODUCCIN

II.
A.

MARCO TEORICO

Distribucin conjunta de las v. a. discretas.

Sean y es la funcin (, ) que expresa la probabilidad


simultanea de que X tome el valor de e tome el valor de .
(, ) = ( = , = )

B.

Distribucin conjunta de v.a continuas.

Sean y v. a. continuas su cdf conjunta es la funcin de dos


variables reales dadas por:
(, ) = ( , )
Con sus funciones marginales dadas por:

En muchos casos es necesario asociar a cada resultado de un


experimento aleatorio, dos o ms caractersticas numricas. Por
() = lim (, )

ejemplo, de los remaches que salen de una lnea de produccin


() = lim (, )

nos puede interesar el dimetro X y la longitud Y. Teniendo en


cuenta la inevitable variabilidad en las dimensiones de los
C. Densidad conjunta
remaches debido a las numerosas causas presentes en el proceso
de fabricacin, los podemos representar asocindoles dos
variables aleatorias X e Y que pueden pensarse como una
Una cdf conjunta posee una pdf conjunta, si existe una funcin
variable aleatoria bidimensional: (X, Y).
(, ) de dos variables reales tal que:

La covarianza es una medida del grado en que dos variables


(, ) = (, )
aleatorias se mueven en la misma direccin o en direcciones

opuestas la una respecto a la otra. En otras palabras, si dos
Con sus densidades marginales:
variables aleatorias generalmente se mueven en la misma
direccin se dir que tienen una covarianza positiva. Si tienden

a moverse en direcciones opuestas, se dir que tienen una


() = (, ) ; () = (, )
covarianza negativa. La covarianza se mide como el valor que

se espera de los productos de las desviaciones de dos variables


aleatorias respecto a sus correspondientes medias. Una varianza
D. Covarianza
es un caso especial de covarianza.

Un coeficiente de correlacin mide el grado en que dos


variables tienden a cambiar al mismo tiempo. El coeficiente
describe tanto la fuerza como la direccin de la relacin.

La covarianza de dos v. a. e de define como:


(, ) = [( [])( [])]
(, ) = [] [][]

E.

Coeficiente de correlacin
=

F.

Para la implementacin en Matlab se ingresan los datos de peso y


estatura en dos vectores, se obtiene la matriz de covarianza de las v. a.
Peso y Estatura, tambin se obtiene la media de cada v. a y se las guarda
en un vector. Estos parmetros son enviados a la funcin csvalnorm
en la cual se calcula la funcin de distribucin normal (pdf).
Finalmente se grafica los resultados de las variables aleatorias
bidimensionales peso y estatura.

(, )
[][]

Transformaciones Bidimensionales

Dadas dos v. a. X e Y y la funcin (, ) se desea obtener la cdf y


la pdf de = (, ), es decir:
() = ( ) = ((, ) )
() = (, )

Se analizan los siguientes casos de transformaciones:

Caso 1: = +

Caso 2: =

Caso 3: = /

III.
A.

DESARROLLO

Covarianza-correlacin

Tomar el peso y la estatura de varias personas. Luego, usando


Matlab graficar datos. Existe alguna relacin entre estas dos
variables?

Programa principal :

%distribucion normal multidimensional


clc
clear
P=[60,62,50,64,62,71,65,55,75,72,60,60,70,
66];
E=[171,172,151,160,169,179,169,155,171,169
,170,165,162,165];
mu=[mean(P),mean(E)];
cov_mat=cov(P,E);
[x,y]=meshgrid(40:0.5:80,140:0.5:180);
X=[x(:),y(:)];
Z=csvalnorm(X,mu,cov_mat);
z=reshape(Z,size(x));
subplot(2,1,1),surf(x,y,z);
subplot(2,1,2),pcolor(x,y,z),
Funcin de distribucin normal multidimensional

function prob = csvalnorm(x,mu,cov_mat)


[n,d]=size(x);
x=x-ones(n,1)*mu;
Se tomaron datos de peso y estatura de los y las estudiantes del a=(2*pi)^(d/2)*sqrt(det(cov_mat));
arg=diag(x*inv(cov_mat)*x');
curso de procesos estocsticos:
prob=exp((-.5*arg));
prob=prob/a;
Tabla 1. Datos peso y estatura
end
Peso
Estatura
Peso
Estatura
60
62
50
64
62
71
65

171
172
151
160
169
179
169

55
75
72
60
60
70
66

155
171
169
170
165
162
165

Resultados:

Se trabaj con una funcin normal multidimensional de dimensin


que viene dada por:
(, , ) =

1
1
exp ( ( ) 1 ( ))
(2)/2 ||1
2

Donde es un vector de dimensin , es el vector de medias, de


dimensin , y es la matriz de covarianza, de dimensin que
es simtrica.
Suponiendo que las v. a X e Y no son independientes, con
coeficientes de correlacin 0 entonces
2
=(


)
2

Fig. Representacin grfica distribucin normal multidimensional

set(h,'FaceColor','r')
subplot(2,2,4), hist(Bulgaria);
title('Histograma-Bulgaria')
g = findobj(gca,'Type','patch');
set(g,'FaceColor','b')
covarianza = cov(Belgium,Bulgaria)
Para el grafico inferior se tiene una representacin de las v.a Peso y Correlacion = corrcoef(Belgium,Bulgaria)

En el grafico superior se tiene la distribucin normal


multidimensional para las v.a Peso y Estatura representada en el
espacio formando una especie de cpula caracterstica para una pdf
normal, en este caso es evidente que la mayor probabilidad est
determinada por la altura de la cpula y el color ms clido.

Estatura en el plano con la misma distribucin normal, como se puede


observar la mayor probabilidad est representada por el color ms
clido, por ende con los datos obtenidos existe una gran probabilidad
que las personas pesen entre 64 y 65 kg y midan entre 165 y 170 cm.
Respondiendo a la pregunta de que si existe relacin entre las
variables Peso y Estatura, evidentemente existe cierto grado de
relacin entre estas variables en la grfica del plano se puede observar
que la dispersin de los datos tienen una pendiente representando a la
correlacin mutua existente:

Fig. Diagrama de dispersin e histograma (Belgium-Bulgaria)


Fig. Matriz de covarianza
Covarianza y Correlacin:

Usando Matlab, calcular la covarianza y el coeciente de


correlacin de las variables de la base de datos Implicit tax rate on
energy, de la direccin web:
http://epp.eurostat.ec.europa.eu/tgm/table.do?tab=table&
init=1&language=en&pcode=tsdcc360&plugin=1.

%Belgium- Bulgaria
Belgium = [119.57 119.24 122.8 121.39
121.57...
116.75 113.95 118.95 119.72 129.17
135.18...
130.32 135.57 122.9 133.63 129.85
138.21...
140.32 127.74];
Bulgaria = [31.62 16.28 21.06 37.98 47.14
56.57...
57.03 52.36 65.38 76.2 72.82 75.71 97.71
109.62...
111.19 104.8 101.51 99.48 111.06];
figure(1)
subplot(2,2,[1,2]);
scatter(Belgium, Bulgaria);
title('Belgium- Bulgaria')
subplot(2,2,3), hist(Belgium);
title('Histograma-Belgium')
h = findobj(gca,'Type','patch');

Fig. Matriz de covarianza y c. de correlacin (Belgium-Bulg)

%Malta- Poland
Malta =[77.75 88.7 97.15 163.51 171.98...
156.82 189.01 193.13 167.96 146.52
182.58...
191.72 270.77 182.03 198.43 188.23
210.52...
204.9 194.6 ];
Poland=[37.48 42.11 42.89 55.64 72.46
76.79...
77.05 89.51 95.04 102.37 108.13 108.71
120.24...
117.4 117.74 115.52 121.2 123.66 125.82 ];
figure(3)

subplot(2,2,[1,2]);
scatter(Malta, Poland);
title('Malta-Poland')
subplot(2,2,3), hist(Malta);
title('Malta')
h2 = findobj(gca,'Type','patch');
set(h2,'FaceColor','r')
subplot(2,2,4), hist(Poland);
title('Poland')
g2 = findobj(gca,'Type','patch');
set(g2,'FaceColor','b')
covarianza = cov(Malta,Poland)
correlacion = corrcoef(Malta,Poland)

227.5 230.55 ];
Spain = [187.72 189.19 181.79 193.92
196.4...
180.88 170.6 176.14 170.07 163.05
157.29...
159.51 156.07 155 163.91 162.6 155.13
152.82...
170.22];
figure(3)
subplot(2,2,[3,4]);
scatter(Sweden, Spain);
title('Sweden-Spain')
subplot(2,2,1), hist(Sweden);
title('Sweden')
h3 = findobj(gca,'Type','patch');
set(h3,'FaceColor','r')
subplot(2,2,2), hist(Spain);
title('Spain')
g3 = findobj(gca,'Type','patch');
set(g3,'FaceColor','b')
covarianza = cov(Sweden,Spain)
correlacin = corrcoef(Sweden,Spain)

Fig. Dispersin e histograma (Malta-Poland)

Fig. Dispersin e histograma (Sweden-Spain)

Fig. Matriz de covarianza y c. de correlacin (Malta-Poland)

%Sweden-Spain
Sweden=[161.72 178.93 178.34 187.62
187.28...
187.11 196.95 208.05 216.21 219.75
225.74...
229.43 227.86 231.94 238.51 226.52
225.8...

Fig. Matriz de covarianza y c. de correlacin (Sweden-Spain)

%France-Italy
France = [200.58 195.71 201.24 201.74...

204.6 196.94 178.62 197.84 190.73


192.64...
189.2 190.44 188.68 180.1 190.04 191.96...
211.84 207.42 214.26];
Italy = [367.1 356.11 357.11 338.06
335.5...
303.75 303.55 296 289.96 274.71 279.47...
282.62 273.88 254.8 290.43 283.59
318.53...
354.71 363.12];
figure(4)
subplot(2,2,[3,4]);
scatter(France, Italy);
title('France-Italy')
subplot(2,2,1
), hist(France);
title('France')
h4 = findobj(gca,'Type','patch');
set(h4,'FaceColor','b')
subplot(2,2,2), hist(Italy);
title('Italy')
g4 = findobj(gca,'Type','patch');
set(g4,'FaceColor','r')
covarianza = cov(France,Italy)
correlacion = corrcoef(France,Italy)

Fig. Matriz de covarianza y c. de correlacin (France-Italy)

%Germany- Ireland
Germany = [178.23 174.61 175.62 175.78...
203.99 220.7 228.09 236.29 245.94
237.01...
227.78 221.73 224.14 214.95 234.9
211.63...
228.04 214.86 205.93];
Ireland = [157.18 160.28 169.2 172.41...
172.67 159.21 140.75 155.27 152.74
167.2...
163.27 157.48 156.55 153.98 186.64
206.52...
230.12 231.45 228.18];
figure(3)
subplot(2,2,[3,4]);
scatter(Germany, Ireland);
title('Germany-Ireland')
subplot(2,2,1), hist(Germany);
title('Germany')
h2 = findobj(gca,'Type','patch');
set(h2,'FaceColor','r')
subplot(2,2,2), hist(Ireland);
title('Ireland')
g2 = findobj(gca,'Type','patch');
set(g2,'FaceColor','b')
covarianza = cov(Germany,Ireland)
correlacion = corrcoef(Germany,Ireland)

Fig. Dispersin e histograma (France-Italy)

Fig. Dispersin e histograma (Germany-Ireland)

axis square;
p=mvncdf(X,mu,cov_mat);
figure, surf(x,y,reshape(p,size(x)));
title('CDF Normal 3D');

Fig. Matriz de covarianza y c. de correlacin (Germany.Ireland)


Graficar en Matlab la pdf de la distribucin normal 2D con
parmetros (, ) y la identidad.

mu=zeros(1,2);
cov_mat=eye(2,2);
[x,y]=meshgrid(-4:0.2:4,-4:0.2:4);
X=[x(:),y(:)];
Z=csvalnorm(X,mu,cov_mat);
z=reshape(Z,size(x));
subplot(1,2,1), surf(x,y,z);
title('PDF Normal 3D');
axis tight;
subplot(1,2,2), pcolor(x,y,z);
title('PDF Normal 2D');
axis square;

Fig. Pdf 2D y 3D

Fig. Cdf Normal 3D

Generar 1000 nmeros aleatorios en Matlab con los parmetros


anteriores y comparar los grficos.
Fig. Pdf normal en 2D

mu=[2,5];
cov_mat=[1,0.7;0.7,1];
Graficar en Matlab la pdf de la distrubucin normal 2D con [x,y]=meshgrid(-2:0.2:6,-1:0.2:9);
parmetros = (, ) y = [ . ; . ]. Adicionar el grfico de X=[x(:),y(:)];
Z=csvalnorm(X,mu,cov_mat);
la cdf.
z=reshape(Z,size(x));
subplot(1,2,1), surf(x,y,z);
mu=[2,5];
title('PDF Normal 3D');
cov_mat=[1,0.7;0.7,1];
axis tight;
[x,y]=meshgrid(-2:0.2:6,-1:0.2:9);
subplot(1,2,2), pcolor(x,y,z);
X=[x(:),y(:)];
title('PDF Normal 2D');
Z=csvalnorm(X,mu,cov_mat);
axis square;
z=reshape(Z,size(x));
p=mvncdf(X,mu,cov_mat);
subplot(1,2,1), surf(x,y,z);
figure, surf(x,y,reshape(p,size(x)));
title('PDF Normal 3D');
title('CDF Normal 3D');
axis tight;
df=2;
subplot(1,2,2), pcolor(x,y,z);
r=mvtrnd(cov_mat,df,1000);
title('PDF Normal 2D');

figure, plot(r(:,1),r(:,2),'.');
title('Dispersion')

B.

Transformaciones bidimensionales

Sean e v.a. independientes uniformes (0,1). Hallar la pdf


de = + , = y = /
Caso: = +

En los ejemplos desarrollados en el curso se obtuvo la cdf y la pdf


que estn dados por:
() =

1 =

2
2

: 0 < < 1

y
() =

1 = 1

(2 )2
2

: 1 < < 2

Entonces la nueva pdf asociada es:


() = : 0 < < 1
y
() = 2 : 1 < < 2
() = 0
Para representar estos parmetros en MATLAB se realiz el
siguiente programa:

clc
clear
close all
x=random('unif',0,1,[1,10000]);
y=random('unif',0,1,[1,10000]);
z=x+y;
[h,t]=hist(z,50);
aux=sum(h)*(t(2)-t(1));
bar(t,h/aux);
pdf_z=pdfz(t);
hold on
plot(t,pdf_z,'r');
hold off
Mediante el comando random se generan las variables aleatorias
X e Y, se realiza la operacin = + , y se representa el resultado
en un histograma, siendo esta una representacin de la pdf de las v. a.
generadas.
Para la pdf obtenida mediante los clculos matemticos para la
nueva variable ha sido necesario crear una funcin llamada pdfz,
descrita en el siguiente programa:

function y=pdfz(t);
n=max(size(t));
y=zeros(1,n);
Fig. Dispersin
for i=1:n
if t(i)<0
Como se puede observar si se aumentan mas nmeros aleatorios la
y(i)=0;
dispersin se concentra, a diferencia de los ejemplos anteriores.
elseif t(i)>=0 && t(i)<1
y(i)=t(i);
elseif t(i)>=1 && t(i)<2
y(i)=2-t(i);

else
y(i)=0;
end
end
Esta pdf es ideal, las dos representaciones han sido superpuestas
para poder compararlas, como se puede observar en la siguiente figura:

Fig. Pdf caso Z = X+Y (100000 v.a.)


Como se puede observar en las figuras () y () si aumenta el nmero
de v. a. la pdf real se aproxima mucho ms a la pdf ideal

Fig. Pdf caso Z = X+Y (1000 v.a.)


En color rojo se puede observar la pdf ideal determinada mediante
clculos matemticos, y los datos aleatorios estn representados por el
histograma formando una pdf real que se aproxima a la ideal.

Caso: =

En este caso se obtuvo la siguientes pdf para la variable z:


1

() =

1
= ln() : 0 < < 1

Se utiliza el mismo programa que el caso anterior con algunas


diferencias:

Fig. Pdf caso Z = X+Y (10000 v.a.)

clc
clear
close all
x=random('unif',0,1,[1,100000]);
y=random('unif',0,1,[1,100000]);
z=x.*y;
[h,t]=hist(z,50);
aux=sum(h)*(t(2)-t(1));
bar(t,h/aux);
pdf_z=pdfz(t);
hold on
plot(t,pdf_z,'r');
hold off
xlabel('z')
ylabel('f(z)')
Con el comando random se generan las variables aleatorias X e
Y, en este caso se realiza la operacin = , y se representa el
resultado en un histograma, siendo esta una representacin de la pdf
cercana a la realidad.
Como se vio la pdf cambia por lo tanto la funcin pdfz de
MATLAB tambin debe ser modificada de la siguiente manera:

function y=pdfz(t);
n=max(size(t));
y=zeros(1,n);

for i=1:n
if t(i)<0
y(i)=0;
elseif t(i)>=0 && t(i)<1
y(i)=-log(t(i));
else
y(i)=0;
end
end

Caso: = /
= /,

= ,
=

, (, ) = () ()
, (, ) = ||, (, )
, (, ) = ||, (, )
, (, ) = || () ()
|| = ||

Superposicin de pdf real y pdf ideal, para este caso representado


por ln()

, (, ) = || () ()

() = || () ()

() =

() =

Sean e v.a. independientes para N(0,1). Hallar la pdf de


= + , = y = /
Caso: = +
+ ; =

Fig. Pdf caso = (1000 v.a.)


En color rojo se puede observar la pdf ideal determinada mediante
clculos matemticos, y los datos aleatorios estn representados por el
histograma formando una pdf real que se aproxima a la ideal.

Sean las pdf:


() =

1
2

exp (

2
1
2
) ; () =
exp ( )
2
2
2

() = (, )

Independientes:

() = () ( )

() =

1
2

exp (

( )2
2
1
)
exp (
)
2
2
2

Nueva pdf de Z:
() =

Una vez obtenida la pdf, se implementa el siguiente programa en


MatLab:

clc
clear
Fig. Pdf caso = (100000 v.a.)
close all
Al igual que el caso anterior se puede observar que si se aumenta el x=random('norm',0,1,[1,1000]);
y=random('norm',0,1,[1,1000]);
nmero de variables aleatorias se obtiene una mejor aproximacin.
z=x+y;
[h,t]=hist(z,50);

aux=sum(h)*(t(2)-t(1));
bar(t,h/aux);
pdf_z=pdfz_norm(t);
hold on
plot(t,pdf_z,'r');
hold off
xlabel('z')
ylabel('f(z)')
Se genera v. a. para X e Y para una pdf N(0,1), y se sigue el mismo
procedimiento que en caso anterior.
Tambin ha sido necesario crear una funcin pdfz_norm en la
cual se genera la nueva pdf a partir del anlisis matemtico:

function y=pdfz_norm(t)
n=max(size(t));
y=zeros(1,n);
for i=1:n
y(i)=1/(2*sqrt(pi))*exp(t(i)^2/(2*sqrt(2)^2));
end

Fig. Pdf caso: Z=X+Y (100000 v. a.)


Es evidente que cuando se aumenta la cantidad de v. a., el
histograma se aproxima ms a la pdf generada a partir de la funcin
matemtica asociada.

Caso: = /

Los resultados grficos son presentados a continuacin:


= /,

= ,
=

, (, ) = () ()
, (, ) = ||, (, )
, (, ) = ||, (, )
, (, ) = || () ()
|| = ||
, (, ) = || () ()

() = || () ()

() = ||

Fig. Pdf caso: Z=X+Y (1000 v. a.)


Como se puede observar para una pdf dada por N(0,1) en X e Y, la
transformacin Z=X+Y genera una funcin de distribucin pdf que
presenta la misma forma que X e Y, se lo evidencia grficamente y en
la forma de la funcin obtenida analticamente.
En rojo se observa la pdf que se la puede considerar ideal puesto
que tiene una funcin matemtica asociada, mientras que el
histograma representa la distribucin de las variables aleatorias
generadas, para el caso de 1000 v. a. e

1
2

() =

exp (

()2
1
2
)
exp ( )
2
2
2

; < <
( + )

Una vez obtenida la pdf, se implementa el siguiente programa en


MatLab:

clc
clear
close all
x=random('norm',0,1,[1,1000]);
y=random('norm',0,1,[1,1000]);
z=x/y;
[h,t]=hist(z,50);
aux=sum(h)*(t(2)-t(1));
bar(t,h/aux);
pdf_z=pdfz_norm(t);

hold on
plot(t,pdf_z,'r');
hold off
xlabel('z')
ylabel('f(z)')
Se genera v. a. para X e Y para una pdf N(0,1), y se sigue el mismo
procedimiento que en caso anterior.
Tambin ha sido necesario crear una funcin pdfz_norm en la
cual se genera la nueva pdf a partir del anlisis matemtico:

function y=pdfz_norm(t)
n=max(size(t));
y=zeros(1,n);
for i=1:n
y(i)=1/(pi*(1+(t(i)).^2));
end
Fig. Pdf caso: Z=X/Y (1000 v. a.)
Los resultados grficos son presentados a continuacin:

Si se aumenta la cantidad de v. a., el histograma se aproxima ms a


la pdf generada a partir de la funcin matemtica asociada.

IV.

Fig. Pdf caso: Z=X/Y (100 v. a.)


En rojo se observa la pdf que se la puede considerar ideal puesto
que tiene una funcin matemtica que representa a la pdf, mientras
que el histograma representa la distribucin de las variables aleatorias
generadas, para el caso de 100 v. a. e

CONCLUSIONES

Es importante el conocimiento y uso de v. a. multidimensionales


debido a que en la naturaleza se puede encontrar diversos fenmenos
que se pueden describir a partir de estas, como se vio en este trabajo la
v. a. estatura es dependiente de v. a. peso, de esta manera se llega a
distintos tipos de conclusiones a travs de las funciones de
probabilidad conjuntas y marginales.
Matlab permite obtener los datos de covarianza y el coeficiente de
correlacin a partir de datos aleatorios, lo que permite tener una nocin
de la dependencia directa que tienen cierto tipo de datos como se vio
en el anlisis de la base de datos, el grado de correlacin y la covarianza
se lo visualiza numricamente y a travs de las grficas de dispersin.
Las v. a. generan cdf y pdf conjuntas que se pueden representar
mediante graficas 3D, como se vio Matlab facilita la representacin
3D, haciendo posible la correcta interpretacin de las funciones de
distribucin para el caso de v. a. bidimensionales.
Se pudo obtener las transformaciones bidimensionales para algunos
casos partiendo de nmeros aleatorios sujetos a una pdf se gener una
nueva pdf para una transformacin dada, y se compar con las
funciones distribucin (pdf) ideales obtenidas analticamente, de tal
manera que cuando se aumenta la cantidad de nmeros aleatorios la
distribucin de estos tiende a aproximarse a la funcin de distribucin
ideal.

REFERENCIAS
[1]

Chapra, S , Mtodo numricos para ingenieros, 5ta edicin,


Mc Graw Hill, Mexico, ISBN: 970-10-6114-4

[2]

Schaum, Monson. H, Outline of Theory and Problems of Digital Signal


Processing, McGraw Hill, 2nd Ed., 2011.

[3]

Diniz. P, Digital Signal Processing: System Analysis and Design,


Cambridge University Press, 2nd Ed., 2010