
TENEMOS MUCHAS VARIABLES. HACEMOS SELECCION PARA QUEDARNOS CN LAS MÁS SIGNIFICATIVAS, QUE SERÁN LAS Q MEJOR DISCRIMINEN
proc stepdisc data=gatos.gatos method=sw;
class tipogato;
var x1_ph--u2_spgrav;
run;
METODO ALTERNATIVO
proc reg data=analisis.gatos;
model tipogato=x1_ph--u2_spgrav /
selection=forward sle=0.05; /*FORWARD añadiendo vbles*/
run;
METER VLES D INTERES AN ARRAYS
Cada variable esta compuesta de las 3 variables que nosh an salido a medir. Cada variable tiene el tamaño fijado por cada grupo de gato
» g1=[g11 g12 g13]………………….g2,g3,g4
HACER ESTUDIO DE NORMALIDAD
SI
USAMOS KURTOSIM PARA VER KURTOSIS Y SIMETRIA. Da dos resultados,uno el de
Ga1=kurto(g1(:,1:3))………….Ga2,Ga3,Ga4
AHORA VEMOS
Tot=[todos(:,2) todos(:,4) todos(:,7)]
n=[12 14 11 8]
hv=homogvar(tot(:,1:3),n)
MANOVA,CONTRASTE TOTAL DE MEDIAS , OSEA CONTRASTE DE IGUALDAD DE MEDIAS DE TODOS LOS GRUPOS(SI EL P-VALOR ES PEQUEÑISIMO LO RECHAZO, HAY DIFERENCIAS ENTRE GRUPOS) Ho:
proc anova data=analisis.gatos;
class tipogato;
model x2_coeff x4_phospht x7_creatnn=tipogato / nouni;
manova h= tipogato prefix=diff;
means tipogato;
run;
REALIZAR ANALISIS DE PERFILES PARA VER LAS DIFERENCIAS EN LAS GRAFICAS…..(¿COMO?)
ANALISIS DISCRIMINANTE CANONICO. Una vez rechazado que las medias son iguales voy a buscar una función que me permita discriminar al máximo
proc glm data=analisis.gatos;
class tipogato;
model x2_coeff x4_phospht x7_creatnn=tipogato /nouni;
manova h=_all_;
means tipogato / bon cldiff;
run;
Para cada vble un resultado, las dos primeras columnas indicant la comparacion de vbles, aquellas q tengan asteriscos son en las que los grupos son distintos. Si es uno el q se diferencia d los demas, pues este se comporta de manera diferente a los otros 3 para esa vble.
Después de bonferroni……..
proc candisc data=gatos.gatos out=gatos.salida;
class tipogato;
var x2_coeff x4_phospht x7_creatnn x10_cholne;
run;
proc means data=gatos.salida;
class tipogato;
var can1 can2;
output out=gatos.salida1;
run;
proc print data=gatos.salida1 noobs;
run;
El recuadro de likelihodd aproxímate:, cogemos la cumulativa: Los autovalores son el % que explica cada uno, tienen valores 3.8706,0.2838, 0.0020, el primero explica el 93.12%, podría coger solo el primero o los dos primeros.
En el recuadro de between canonical sacamos las funciones lineales para las vbles canonicas normalizadas: Las variables canónicas normalizadas toman valores entre -1 y 1
- Función lineal de Can1= -0.862285X2 + 0.683848X4+0.838710X7
- Función lineal de Can2= 0.506411X2 + 0.729282X4+0.838710X7
Luego nos da las vbles canonicas estandarizadas……
Después las medias d las vbles canonicas en cada uno de los 5 grupos, las ponemos en un array y hacemos un plot. (son 4 xq hay 4 tipos de gatos)
S=[aki dntro la matriz que haya salido]
plot(s(:,1),s(:,2),’*’)
text(s(1,1),s(1,2),’1’)
text(s(2,1),s(2,2),’2’)
text(s(3,1),s(3,2),’3’)
text(s(4,1),s(4,2),’4’)
Método paramétrico para variables CANONICAS:
Lo siguiente es obtener una función discriminante, con el proc discrim, sabemos que los datos son normales par varianzas distintas (utilizamos pool=no).
Miramos las distancias entre las variables canónicas, busco que sean la máxima posible.
proc discrim data=gatos.salida method=normal pool=no
crosslisterr crossvalidate;
class tipogato;
priors equal;
var can1-can2;
title 'Usando densidad Normal, 4 variables canonicas y contrastando igualdad de covarianzas';
run;
Método paramétrico para variables ORIGINALES
proc discrim data=gatos.gatos method=normal pool=no
crossvalidate crosslisterr;
class tipogato;
priors equal;
var x2_coeff x4_phospht x7_creatnn x10_cholne;
run;
Aquí podemos apreciar no nos a colocado bien a los gatos, nos sale que el error es 0.3707 como es mayor que 0.2 podemos decir que no es un buen discriminante ya que no coloca bien a los gatos en su correspondiente grupo, por grupos vemos que en el que peor se clasifican es en el 4º grupo.
proc gplot data=gatos.salida;
plot can1*can2=tipogato;
run;
Este es el plot de individuos para can1 y can2 veo que no discrimina bien y no hay diferencias claras entre los 4 grupos, por eso cuando llega un nuevo individuo puede clasificarse mal