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.

johnsrnd

Números aleatorios del sistema Johnson

Sintaxis

r = johnsrnd(quantiles,m,n)
r = johnsrnd(quantiles)
[r,type] = johnsrnd(...)
[r,type,coefs] = johnsrnd(...)

Descripción

r = johnsrnd(quantiles,m,n) Devuelve una-por-matriz de números aleatorios extraídos de la distribución en el sistema Johnson que satisface la especificación de cuantil dada por. es un vector de cuatro elementos de cuantiles para la distribución deseada que corresponden a los cuantiles normales estándar [– 1,5 – 0,5 0,5 1,5].mnquantilesquantiles En otras palabras, se especifica una distribución desde la que se dibujan valores aleatorios designando cuantiles que corresponden a las probabilidades acumulativas [0,067 0,309 0,691 0,933]. también puede ser una-por-matriz cuya primera fila contiene cuatro cuantiles normales estándar, y cuya segunda fila contiene los cuantiles correspondientes de la distribución deseada.quantiles24 Los cuantiles normales estándar deben espaciarse uniformemente.

Nota

Debido a que es una muestra aleatoria, sus cuantiles de muestra suelen diferir un poco de los cuantiles de distribución especificados.r

r = johnsrnd(quantiles) Devuelve un valor escalar.

o devuelve un-por--por-... Matriz.r = johnsrnd(quantiles,m,n,...)r = johnsrnd(quantiles,[m,n,...])mn

[r,type] = johnsrnd(...) Devuelve el tipo de la distribución especificada dentro del sistema Johnson. es,,, o.type'SN''SL''SB''SU' Establecer y a cero para identificar el tipo de distribución sin generar ningún valor aleatorio.mn

Los cuatro tipos de distribución del sistema Johnson corresponden a las siguientes transformaciones de un variado aleatorio normal:

  • — Transformación de identidad ()'SN'distribución normal

  • — Transformación exponencial ()'SL'Distribución Lognormal

  • — Transformación logística (delimitada)'SB'

  • — Transformación sinusoidal hiperbólica (sin delimitar)'SU'

[r,type,coefs] = johnsrnd(...) Devuelve los coeficientes de la transformación que define la distribución. Es.coefscoefs[gamma, eta, epsilon, lambda] Si es una variable aleatoria normal estándar y es una de las transformaciones definidas anteriormente, es una variante aleatoria del tipo de distribución correspondiente.zhr = lambda*h((z-gamma)/eta)+epsilonh

Ejemplos

contraer todo

Este ejemplo muestra varios enfoques diferentes para usar el sistema Johnson de familias de distribución flexibles para generar números aleatorios y ajustar una distribución a los datos de muestra.

Genere valores aleatorios con colas más largas que una normal estándar.

rng default;  % For reproducibility r = johnsrnd([-1.7 -.5 .5 1.7],1000,1); figure; qqplot(r);

Genere valores aleatorios sesgados a la derecha.

r = johnsrnd([-1.3 -.5 .5 1.7],1000,1); figure; qqplot(r);

Genere valores aleatorios que coincidan con algunos datos de muestra bien en la cola derecha.

load carbig; qnorm = [.5 1 1.5 2]; q = quantile(Acceleration, normcdf(qnorm)); r = johnsrnd([qnorm;q],1000,1); [q;quantile(r,normcdf(qnorm))]
ans = 2×4

   16.7000   18.2086   19.5376   21.7263
   16.6986   18.2220   19.9078   22.0918

Determine el tipo de distribución y los coeficientes.

[r,type,coefs] = johnsrnd([qnorm;q],0)
r =       [] 
type =  'SU' 
coefs = 1×4

    1.0920    0.5829   18.4382    1.4494

Introducido en R2006a