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.

Compare la distribución múltiple encaja

En este ejemplo se muestra cómo ajustar varios objetos de distribución de probabilidad al mismo conjunto de datos de ejemplo y obtener una comparación visual de qué tan bien se ajustan cada distribución a los datos.

Paso 1. Cargue datos de muestra.

Cargue los datos de ejemplo.

load carsmall

Estos datos contienen las mediciones de millas por galón () para las diferentes marca y modelos de automóviles, agrupados por país de origen (), año del modelo () y otras características del vehículo.MPGOriginModel_Year

Paso 2. Cree una matriz categórica.

Transformarse en una matriz categórica y eliminar el coche italiano de los datos de la muestra.Origin Dado que sólo hay un coche italiano, no se puede ajustar una distribución a ese grupo utilizando otra que la distribución del kernel.fitdist

Origin = categorical(cellstr(Origin)); MPG2 = MPG(Origin~='Italy'); Origin2 = Origin(Origin~='Italy'); Origin2 = removecats(Origin2,'Italy');

Paso 3. Ajuste varias distribuciones por grupo.

Utilíce para ajustar las distribuciones de Weibull, normal, logística y kernel a cada grupo de países de origen de los datos.fitdistMPG

[WeiByOrig,Country] = fitdist(MPG2,'weibull','by',Origin2); [NormByOrig,Country] = fitdist(MPG2,'normal','by',Origin2); [LogByOrig,Country] = fitdist(MPG2,'logistic','by',Origin2); [KerByOrig,Country] = fitdist(MPG2,'kernel','by',Origin2);
WeiByOrig
WeiByOrig = 1x5 cell array
  Columns 1 through 2

    {1x1 prob.WeibullDistribution}    {1x1 prob.WeibullDistribution}

  Columns 3 through 4

    {1x1 prob.WeibullDistribution}    {1x1 prob.WeibullDistribution}

  Column 5

    {1x1 prob.WeibullDistribution}

Country
Country = 5x1 cell array
    {'France' }
    {'Germany'}
    {'Japan'  }
    {'Sweden' }
    {'USA'    }

Cada grupo de países ahora tiene cuatro objetos de distribución asociados. Por ejemplo, la matriz de celdas contiene cinco objetos de distribución de Weibull, uno para cada país representado en los datos de ejemplo.WeiByOrig Del mismo modo, la matriz de celdas Norm contiene cinco objetos de distribución normales, y así sucesivamente.ByOrig Cada objeto contiene propiedades que contienen información sobre los datos, la distribución y los parámetros. La matriz enumera el país de origen de cada grupo en el mismo orden en que los objetos de distribución se almacenan en las matrices de celdas.Country

Paso 4. Calcule el PDF para cada distribución.

Extraiga los cuatro objetos de distribución de probabilidad para EE.UU. y calcule el PDF para cada distribución. Como se muestra en el paso 3, EE.UU. está en la posición 5 en cada matriz de celdas.

WeiUSA = WeiByOrig{5}; NormUSA = NormByOrig{5}; LogUSA = LogByOrig{5}; KerUSA = KerByOrig{5};  x = 0:1:50; pdf_Wei = pdf(WeiUSA,x); pdf_Norm = pdf(NormUSA,x); pdf_Log = pdf(LogUSA,x); pdf_Ker = pdf(KerUSA,x); 

Paso 5. Trace PDF para cada distribución.

Trace el PDF para cada distribución que se ajuste a los datos de EE. UU., superpuesto a un histograma de los datos de la muestra. Normalice el histograma para facilitar la visualización.

Cree un histograma de los datos de ejemplo de USA.

data = MPG(Origin2=='USA'); figure histogram(data,10,'Normalization','pdf','FaceColor',[1,0.8,0]);

Trace el PDF de cada distribución ajustada.

line(x,pdf_Wei,'LineStyle','-','Color','r') line(x,pdf_Norm,'LineStyle','-.','Color','b') line(x,pdf_Log,'LineStyle','--','Color','g') line(x,pdf_Ker,'LineStyle',':','Color','k') legend('Data','Weibull','Normal','Logistic','Kernel','Location','Best') title('MPG for Cars from USA') xlabel('MPG')

Superponer las gráficas de PDF sobre un histograma de los datos de muestra proporciona una comparación visual de lo bien que cada tipo de distribución se ajusta a los datos. Sólo la distribución del kernel no paramétrico se acerca a revelar los dos modos en los datos originales.KerUSA

Paso 6. Agrupa los datos de Estados Unidos por año.

Para investigar los dos modos revelados en el paso 5, agrupe los datos por país de origen () y año del modelo (), y Utilíce para ajustar las distribuciones del kernel a cada grupo.MPGOriginModel_Yearfitdist

[KerByYearOrig,Names] = fitdist(MPG,'Kernel','By',{Origin Model_Year});

Cada combinación única de origen y año de modelo tiene ahora un objeto de distribución de kernel asociado.

Names
Names = 14x1 cell array
    {'France...' }
    {'France...' }
    {'Germany...'}
    {'Germany...'}
    {'Germany...'}
    {'Italy...'  }
    {'Japan...'  }
    {'Japan...'  }
    {'Japan...'  }
    {'Sweden...' }
    {'Sweden...' }
    {'USA...'    }
    {'USA...'    }
    {'USA...'    }

Trace las tres distribuciones de probabilidad para cada año de modelo de EE. UU., que se encuentran en las posiciones 12, 13 y 14 de la matriz de celdas.KerByYearOrig

figure hold on for i = 12 : 14     plot(x,pdf(KerByYearOrig{i},x)) end legend('1970','1976','1982') title('MPG in USA Cars by Model Year') xlabel('MPG') hold off

Cuando se agrupa por año de modelo, las gráficas de PDF revelan dos picos distintos en los datos de los automóviles fabricados en los Estados Unidos, uno para el año de modelo 1970 y otro para el año modelo 1982.MPG Esto explica por qué el histograma para los datos combinados de millas por galón de Estados Unidos muestra dos picos en lugar de uno.

Consulte también

| |

Temas relacionados