Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Soluciones Ejercicios Análisis Multivariante, Ejercicios de Análisis Matemático

La solución de un ejercicio de Análisis Canónico de Poblaciones, utilizando el fichero de datos 250olmos.txt y las funciones canp.m y regconf.m. Se explica detalladamente el proceso para obtener las coordenadas canónicas de X, las matrices de dispersión dentro y entre poblaciones, los test de comparación de medias y covarianzas, y los ejes canónicos. Además, se muestran las regiones de confianza para los individuos medios. útil para estudiantes de Estadística y Empresas que estén cursando Análisis Multivariante.

Tipo: Ejercicios

2020/2021

A la venta desde 07/06/2022

alvaro-ruiz-26
alvaro-ruiz-26 🇪🇸

25 documentos

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Soluciones Ejercicios Análisis Multivariante
Aurea Grané Chávez
Grado en Estadística y Empresa
Tema 4: Análisis Canónico de Poblaciones
Solución:
a) Para realizar este ejercicio usaremos el fichero de datos 250olmos.txt y las funciones
canp.m y regconf.m
Para obtener las coordenadas canónicas de X podemos utilizar la función canp.m:
%
% CANP
%
% La función [mY,V,B,W,percent,Test1,texto1,Test2,texto2]=canp(X,n)
% realiza el análisis canónico de g poblaciones, es decir,
% representa las g poblaciones de forma óptima a lo largo de
% unos ejes canónicos ortogonales.
% Para cada población i (i=1,2,...,g) se tienen las medidas de
% p variables X1,X2,...,Xp sobre n(i) individuos,
% con n(1)+n(2)+...+n(g)=N.
%
% Entradas:
% X: es una matriz (N,p) que contiene las observaciones de p
% variables (en columna) sobre los individuos de g poblaciones
% (en fila),
% n: es un vector que contiene el número de individuos de cada
% población.
%
% Salidas:
% mY: matriz que contiene las nuevas coordenadas de los
% individuos medios (en fila),
% V: matriz de vectores propios de B respecto de W (en columna),
% es decir, las columnas de V definen los ejes canónicos,
% B: matriz de dispersión entre poblaciones (between),
% W: matriz de dispersión dentro de cada población (within),
% percent: porcentaje de variabilidad explicado,
% Test1: vector que contiene el valor de la F de Fisher, sus
% grados de libertad y el p-valor [F(n1,n2) n1 n2 p_valor1]
% obtenidos en el test de comparación de medias,
% texto1: texto resumen del resultado de Test1,
% Test2: vector que contiene el valor de la chi-cuadrado, sus
% grados de libertad y el p-valor [chi(q) q p_valor2]
% obtenidos en el test de comparación de covarianzas,
% texto2: texto resumen del resultado de Test2.
%
function [mY,V,B,W,percent,Test1,texto1,Test2,texto2]=canp(X,n)
[N,p]=size(X);
g=length(n);
% vector de etiquetas para las poblaciones
for i=1:g
lab(i,:)=sprintf('%3g',i);
end
%
n0(1)=n(1);
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga Soluciones Ejercicios Análisis Multivariante y más Ejercicios en PDF de Análisis Matemático solo en Docsity!

Soluciones Ejercicios Análisis Multivariante Aurea Grané Chávez

Tema 4: Análisis Canónico de Poblaciones

Solución:

a) Para realizar este ejercicio usaremos el fichero de datos 250olmos.txt y las funciones

canp.m y regconf.m

Para obtener las coordenadas canónicas de X podemos utilizar la función canp.m:

% CANP

% La función [mY,V,B,W,percent,Test1,texto1,Test2,texto2]=canp(X,n) % realiza el análisis canónico de g poblaciones, es decir, % representa las g poblaciones de forma óptima a lo largo de % unos ejes canónicos ortogonales. % Para cada población i (i=1,2,...,g) se tienen las medidas de % p variables X1,X2,...,Xp sobre n(i) individuos, % con n(1)+n(2)+...+n(g)=N. % % Entradas: % X: es una matriz (N,p) que contiene las observaciones de p % variables (en columna) sobre los individuos de g poblaciones % (en fila), % n: es un vector que contiene el número de individuos de cada % población. % % Salidas: % mY: matriz que contiene las nuevas coordenadas de los % individuos medios (en fila), % V: matriz de vectores propios de B respecto de W (en columna), % es decir, las columnas de V definen los ejes canónicos, % B: matriz de dispersión entre poblaciones (between), % W: matriz de dispersión dentro de cada población (within), % percent: porcentaje de variabilidad explicado, % Test1: vector que contiene el valor de la F de Fisher, sus % grados de libertad y el p-valor [F(n1,n2) n1 n2 p_valor1] % obtenidos en el test de comparación de medias, % texto1: texto resumen del resultado de Test1, % Test2: vector que contiene el valor de la chi-cuadrado, sus % grados de libertad y el p-valor [chi(q) q p_valor2] % obtenidos en el test de comparación de covarianzas, % texto2: texto resumen del resultado de Test2. % function [mY,V,B,W,percent,Test1,texto1,Test2,texto2]=canp(X,n) [N,p]=size(X); g=length(n); % vector de etiquetas para las poblaciones for i=1:g lab(i,:)=sprintf('%3g',i); end % n0(1)=n(1);

Soluciones Ejercicios Análisis Multivariante Aurea Grané Chávez

for i=2:g n0(i)=n0(i-1)+n(i); end % % cálculo de los individuos medios % mX(1,:)=ones(1,n(1))X(1:n0(1),:)/n(1); for i=2:g mX(i,:)=ones(1,n(i))X(n0(i-1)+1:n0(i),:)/n(i); end % % cálculo de la matriz de dispersión dentro de cada población % H1=eye(n(1))-ones(n(1))/n(1); W=X(1:n0(1),:)'H1X(1:n0(1),:); logH1=n(1)log(det(W/n(1))); for i=2:g Hi=eye(n(i))-ones(n(i))/n(i); Ci=X(n0(i-1)+1:n0(i),:)'HiX(n0(i-1)+1:n0(i),:); W=W+Ci; logH1=logH1+n(i)log(det(Ci/n(i))); end S=W/(N-g); % % cálculo de la matriz de dispersión entre poblaciones % mmX0=n(1)mX(1,:); for i=2:g mmX=mmX0+n(i)mX(i,:); mmX0=mmX; end mmX=mmX/N; B0=n(1)(mX(1,:)-mmX)'(mX(1,:)-mmX); for i=2:g B=B0+n(i)(mX(i,:)-mmX)'(mX(i,:)-mmX); B0=B; end % % Test de comparación de medias (Lambda de Wilks). % Conviene rechazar esta hipótesis. % lambda=det(W)/det(W+B); [Fmit,n1,n2]=wilkstof(lambda,p,N-g,g-1); p_valor1=1-fcdf(Fmit,n1,n2); Test1=[Fmit n1 n2 p_valor1]; texto1=char('Test1: Igualdad de medias (Lambda de Wilks): p-valor=',num2str(p_valor1)); % % Test de comparación de covarianzas (Razón de verosimilitudes % sin la corrección de Box). Conviene no rechazar esta hipótesis. % logH0=Nlog(det(W/N)); chi=abs(logH0-logH1); q=(g-1)p(p+1)/2; p_valor2=1-chi2cdf(chi,q); Test2=[chi q p_valor2]; texto2=char('Test2: Igualdad de covarianzas (test de Bartlett): p- valor=',num2str(p_valor2)); % % cálculo de los ejes canónicos % [V,D]=eig(B,S); [z,i]=sort(-diag(real(D))); d=-z; V=real(V(:,i)); m=min(g-1,p); V=V(:,1:m); % % estandarización de los ejes canónicos V'SV=Id. V=Vinv(diag(sqrt(diag(V'SV)))); % % variabilidad explicada % for i=1:m

Soluciones Ejercicios Análisis Multivariante Aurea Grané Chávez

El vector percent contiene los porcentajes de variabilidad explicados por los 2 ejes canónicos,

con un 97.6454% de variabilidad explicada por el primer eje. Para el contraste de comparación

de medias se obtiene una F(14, 482) = 22.2795, por lo que se infiere que los vectores de medias

son distintos.

percent = 97.6454 2.

Test1 = 22.2795 14.0000 482.0000 0

texto1 =Test1: Igualdad de medias (Lambda de Wilks): p-valor=

La salida gráfica muestra la representación canónica de los individuos en dos dimensiones con

un 100% de la variabilidad explicada. Recordad que el número de ejes canónicos es min(p,g-1),

donde p es el número de variables y g el número de grupos. El primer grupo corresponde a los

olmos femeninos, el segundo grupo son los olmos masculinos y el tercer grupo son los olmos

juveniles o plántulas.

b) Para obtener las regiones de confianza usaremos la función regconf.m

% REGCONF

% La función r=regconf(mY,n,p,conf) dibuja las regiones de confianza para los individuos % medios de g poblaciones obtenidos a través de la función CANP. % En cada población se miden p variables sobre n(i) individuos (i=1,2,...,g) con % n(1)+n(2)+...+n(g)=N. % % Entradas: % mY = las coordenadas canónicas de los individuos medios, % n = vector columna que contiene el numero de individuos de cada población, % p = número de variables medidas sobre cada población, % conf = nivel de confianza (0<=conf<=1) para el que % se construyen las regiones confidenciales % (por ejemplo, conf=0.90). % % Salidas: % r = vector que contiene los radios de las esferas. % function r=regconf(mY,n,p,conf) g=length(n);

Soluciones Ejercicios Análisis Multivariante Aurea Grané Chávez

N=sum(n); % valor crítico de una F(p,N-g-p+1) para el nivel de % confianza (conf) especificado. F=finv(conf,p,N-g-p+1); % % cálculo de las regiones confidenciales (al conf100%) para los individuos medios. % for i=1:g r(i)=sqrt(Fp(N-g)/((N-g-p+1)n(i))); end for i=0:0.01:2pi theta(floor(i100+1))=i; end % % vector de etiquetas para los individuos medios % for i=1:g lab(i,:)=sprintf('%3g',i); end % hold on plot(mY(:,1),mY(:,2),'^r','MarkerFaceColor',[1 0 0]) xlabel('1er. eje canonico','FontSize',10) ylabel('2o. eje canonico','FontSize',10) % for i=1:g for j=1:length(theta) cercle(j,1)=mY(i,1)+cos(theta(j))r(i); cercle(j,2)=mY(i,2)+sin(theta(j))r(i); end plot(cercle(:,1),cercle(:,2),'.m','MarkerSize',4) end pconf=conf*100; title(['Regiones confidenciales para los individuos medios al ',num2str(pconf),'%'],'FontSize',12) for i=1:g text(mY(i,1),mY(i,2),lab(i,:)); end hold off end

Las regiones de confianza para los individuos medios, al 95% son

r=regconf(mY,n,7,0.95)

r = 0.3833 0.3833 0.

Puesto que el número de individuos es considerable, para una interpretación más clara, a veces

conviene representar solamente los individuos medios y sus regiones de confianza. En la salida

gráfica se observa que las diferencias entre los tres grupos son debidas al grupo de olmos

juveniles.

Soluciones Ejercicios Análisis Multivariante Aurea Grané Chávez

Soluciones Ejercicios Análisis Multivariante Aurea Grané Chávez

Solución: Empezamos cargando los datos del fichero cocodrilos.txt que contiene los datos de la

Tabla 11:

data=load('cocodrilos.txt');

Para poder utilizar las funciones canp.m y regconf.m, primero necesitamos conocer el

número de individuos de cada grupo. Para ello, construimos mediante la función interna de

Matlab find, un vector que contenga el número de individuos de cada grupo:

n = zeros(1,4);

for i = 1:

grupo = find(data(:,1)==i);

n(i) = length(grupo);

end

y obtenemos n =[11 9 8 16]. Para obtener la representación canónica, hacemos:

X=data(:,2:12);

[mY,V,B,W,percent,Test1,texto1,Test2,texto2]=canp(X,n);

r=regconf(mY,n,11,0.90);

El vector percent contiene los porcentajes de variabilidad explicados por los 2 ejes canónicos,

con un 77.0181% de variabilidad explicada por el primer eje. Para el contraste de comparación

de medias se obtiene una F(33, 89) = 6.2528, por lo que se infiere que las medias son distintas.

mY =

percent = 77.0181 20.4787 2.

Test1 = 6.2528 33.0000 89.0000 0.

texto1 = Test1: Igualdad de medias (Lambda de Wilks): p-valor= 2.6755e-

La salida gráfica muestra la representación canónica de los cocodrilos en dos dimensiones con

un 97.5% de la variabilidad explicada junto con las regiones de confianza al 90% para los

individuos medios.

La matriz V contiene los pesos de las variables Xi en cada uno de los ejes canónicos, que será de

ayuda para interpretar dichos ejes.