Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Examine la suposición de la mezcla gaussiana

El análisis discriminante asume que los datos provienen de un modelo de mezcla gaussiana (ver).Crear un modelo de análisis discriminante Si los datos parecen venir de un modelo de mezcla gaussiana, puede esperar que el análisis discriminante sea un buen clasificador. Además, el análisis discriminante lineal predeterminado asume que todas las matrices de covarianza de clases son iguales. Esta sección muestra los métodos para marcar estos supuestos:

Prueba Bartlett de matrices de covarianza iguales para el análisis discriminante lineal

La prueba de Bartlett (ver recuadro) comprueba la igualdad de las matrices de covarianza de las distintas clases.[1] Si las matrices de covarianza son iguales, la prueba indica que el análisis discriminante lineal es apropiado. Si no es así, considere el uso de análisis de discriminante cuadrático, estableciendo el par nombre-valor en.DiscrimType'quadratic'fitcdiscr

La prueba de Bartlett asume muestras normales (Gaussianas), donde no se conocen ni los medios ni las matrices de covarianza. Para determinar si las covarianzas son iguales, calcule las siguientes cantidades:

  • Matrices de covarianza de muestra por clase σi, 1 ≤ i ≤ k, donde está el número de clases.k

  • Matriz de covarianza agrupada.σ

  • Estadística de prueba:V

    V=(nk)log(|Σ|)i=1k(ni1)log(|Σi|)

    donde está el número total de observaciones, yn Ni es el número de observaciones en la clase, y | Σ | significa el determinante de la matriz Σ.i

  • Asintóticamente, como el número de observaciones en cada clase Ni ser grande, se distribuye aproximadamenteVχ2 Con kd(d + 1)/2 grados de libertad, donde está el número de predictores (número de dimensiones en los datos).d

La prueba de Bartlett es comprobar si excede un percentil dado de laVχ2 distribución con kd(d + 1)/2 grados de libertad. Si es así, rechace la hipótesis de que las covarianzas son iguales.

Ejemplo: prueba de Bartlett para matrices de covarianza iguales

Compruebe si los datos de iris de Fisher están bien modelados por una sola covarianza gaussiana, o si sería mejor modelarlo como una mezcla Gaussiana.

load fisheriris; prednames = {'SepalLength','SepalWidth','PetalLength','PetalWidth'}; L = fitcdiscr(meas,species,'PredictorNames',prednames); Q = fitcdiscr(meas,species,'PredictorNames',prednames,'DiscrimType','quadratic'); D = 4; % Number of dimensions of X Nclass = [50 50 50]; N = L.NumObservations; K = numel(L.ClassNames); SigmaQ = Q.Sigma; SigmaL = L.Sigma; logV = (N-K)*log(det(SigmaL)); for k=1:K     logV = logV - (Nclass(k)-1)*log(det(SigmaQ(:,:,k))); end nu = (K-1)*D*(D+1)/2; pval = 1 - chi2cdf(logV,nu)
pval = 0 

La prueba de Bartlett rechaza enfáticamente la hipótesis de matrices de covarianza iguales. Si hubiera sido mayor que, la prueba no habría rechazado la hipótesis.pval0.05 El resultado indica que se utiliza el análisis de discriminante cuadrático, en contraposición al análisis discriminante lineal.

Gráfica q-Q

Una gráfica Q-Q muestra gráficamente si una distribución empírica está cerca de una distribución teórica. Si los dos son iguales, la gráfica Q-Q se encuentra en una línea de 45 °. Si no, la gráfica Q-Q se desvía de la línea 45 °.

Compruebe los trazados Q-Q para discriminantes lineales y cuadráticos

Para el análisis discriminante lineal, utilice una matriz de covarianza única para todas las clases.

load fisheriris; prednames = {'SepalLength','SepalWidth','PetalLength','PetalWidth'}; L = fitcdiscr(meas,species,'PredictorNames',prednames); N = L.NumObservations; K = numel(L.ClassNames); mahL = mahal(L,L.X,'ClassLabels',L.Y); D = 4; expQ = chi2inv(((1:N)-0.5)/N,D); % expected quantiles [mahL,sorted] = sort(mahL); % sorted obbserved quantiles figure; gscatter(expQ,mahL,L.Y(sorted),'bgr',[],[],'off'); legend('virginica','versicolor','setosa','Location','NW'); xlabel('Expected quantile'); ylabel('Observed quantile'); line([0 20],[0 20],'color','k');

En general, el acuerdo entre los cuantiles esperados y observados es bueno. Mira la mitad derecha de la trama. La desviación de la trama de la línea de 45 ° hacia arriba indica que los datos tienen colas más pesadas que una distribución normal. Hay tres posibles valores atípicos a la derecha: dos observaciones de la clase y una observación de la clase.'setosa''virginica'

Como se muestra en, los datos no coinciden con una sola matriz de covarianza.Prueba Bartlett de matrices de covarianza iguales para el análisis discriminante lineal Rehacer los cálculos para un discriminante cuadrático.

load fisheriris; prednames = {'SepalLength','SepalWidth','PetalLength','PetalWidth'}; Q = fitcdiscr(meas,species,'PredictorNames',prednames,'DiscrimType','quadratic'); Nclass = [50 50 50]; N = L.NumObservations; K = numel(L.ClassNames); mahQ = mahal(Q,Q.X,'ClassLabels',Q.Y); expQ = chi2inv(((1:N)-0.5)/N,D); [mahQ,sorted] = sort(mahQ); figure; gscatter(expQ,mahQ,Q.Y(sorted),'bgr',[],[],'off'); legend('virginica','versicolor','setosa','Location','NW'); xlabel('Expected quantile'); ylabel('Observed quantile for QDA'); line([0 20],[0 20],'color','k');

La gráfica Q-Q muestra un mejor acuerdo entre los cuantiles observados y esperados. Sólo hay un candidato atípico, de la clase.'setosa'

Mardia kurtosis test de normalidad multivariada

La prueba de curtosis de Mardia (VER Mardia) es una alternativa al examen de una gráfica q-q.[2] Proporciona un enfoque numérico para decidir si los datos coinciden con un modelo de mezcla Gaussiana.

En la prueba de curtosis de Mardia que computa, la media de la cuarta potencia de la distancia de Mahalanobis de los datos de la clase significa.M Si los datos se distribuyen normalmente con matriz de covarianza constante (y por lo tanto es adecuado para el análisis discriminante lineal), se distribuye asintóticamente como normal con la media (+ 2) y la varianza 8 (+ 2)/, dondeMddddn

  • es el número de predictores (número de dimensiones en los datos).d

  • es el número total de observaciones.n

La prueba de Mardia es de dos caras: comprobar si está lo suficientemente cerca (+ 2) con respecto a una distribución normal de la varianza 8 (+ 2)/.Mddddn

Ejemplo: Mardia kurtosis test para discriminantes lineales y cuadráticos

Compruebe si los datos de iris de Fisher se distribuyen aproximadamente normalmente para análisis discriminantes lineales y cuadráticos. Según, los datos no son normales para el análisis discriminante lineal (las matrices de covarianza son diferentes). indica que los datos están bien modelados por un modelo de mezcla gaussiana con diferentes covarianzas por clase.Prueba Bartlett de matrices de covarianza iguales para el análisis discriminante linealCompruebe los trazados Q-Q para discriminantes lineales y cuadráticos Consulte estas conclusiones con la prueba de curtosis de Mardia:

load fisheriris; prednames = {'SepalLength','SepalWidth','PetalLength','PetalWidth'}; L = fitcdiscr(meas,species,'PredictorNames',prednames); mahL = mahal(L,L.X,'ClassLabels',L.Y); D = 4; N = L.NumObservations; obsKurt = mean(mahL.^2); expKurt = D*(D+2); varKurt = 8*D*(D+2)/N; [~,pval] = ztest(obsKurt,expKurt,sqrt(varKurt))
pval = 0.0208 

La prueba de Mardia indica que se rechaza la hipótesis de que los datos se distribuyen normalmente.

Continuando el ejemplo con el análisis de discriminante cuadrático:

Q = fitcdiscr(meas,species,'PredictorNames',prednames,'DiscrimType','quadratic'); mahQ = mahal(Q,Q.X,'ClassLabels',Q.Y); obsKurt = mean(mahQ.^2); [~,pval] = ztest(obsKurt,expKurt,sqrt(varKurt))
pval = 0.7230 

Dado que es alto, se concluye que los datos son coherentes con la distribución normal multivariada.pval

Referencias

[1] Box, G. E. P. A General Distribution Theory for a Class of Likelihood Criteria. Biometrika 36(3), pp. 317–346, 1949.

[2] Mardia, K. V. Measures of multivariate skewness and kurtosis with applications. Biometrika 57 (3), pp. 519–530, 1970.

Consulte también

Funciones

Objetos

Temas relacionados