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.

Ajustar objeto de distribución del kernel a datos

En este ejemplo se muestra cómo ajustar un objeto de distribución de probabilidad del kernel a datos de ejemplo.

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.MPGOriginYear

Paso 2. Ajuste un objeto de distribución del kernel.

Utilíce para ajustar un objeto de distribución de probabilidad del kernel a los datos de millas por galón () para todas las fabrica de automóviles.fitdistMPG

pd = fitdist(MPG,'Kernel')
pd =    KernelDistribution      Kernel = normal     Bandwidth = 4.11428     Support = unbounded  

Esto crea un objeto.prob.KernelDistribution De forma predeterminada, utiliza una función de suavizado de kernel normal y elige un ancho de banda óptimo para estimar densidades normales, a menos que especifique lo contrario.fitdist Puede acceder a la información sobre el ajuste y realizar cálculos adicionales utilizando las funciones de objeto relacionadas.

Paso 3. Calcular estadísticas descriptivas.

Calcule la media, la mediana y la desviación estándar de la distribución ajustada del kernel.

m = mean(pd)
m = 23.7181 
med = median(pd)
med = 23.4841 
s = std(pd)
s = 8.9896 

Paso 4. Calcule y trace el pdf.

Calcule y trace el PDF de la distribución ajustada del kernel.

figure x = 0:1:60; y = pdf(pd,x); plot(x,y,'LineWidth',2) title('Miles per Gallon') xlabel('MPG')

La gráfica muestra el PDF de la distribución del kernel apta para los datos en todas las series de automóviles.MPG La distribución es suave y bastante simétrica, aunque es ligeramente sesgada con una cola derecha más pesada.

Paso 5. Genere números aleatorios.

Genere un vector de números aleatorios a partir de la distribución ajustada del kernel.

rng('default')  % For reproducibility r = random(pd,1000,1); figure hist(r); set(get(gca,'Children'),'FaceColor',[.8 .8 1]); hold on y = y*5000;  % Scale pdf to overlay on histogram plot(x,y,'LineWidth',2) title('Random Numbers Generated From Distribution') hold off

El histograma tiene una forma similar a la gráfica de PDF porque los números aleatorios se generan a partir de la distribución del kernel no paramétrico que se ajusta a los datos de muestra.

Consulte también

| |

Temas relacionados