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.

mvksdensity

Estimación de la función de suavizado de kernel para datos multivariados

Descripción

ejemplo

f = mvksdensity(x,pts,'Bandwidth',bw) calcula una estimación de la densidad de probabilidad de los datos de ejemplo en la matriz, evaluada en los puntos en el uso del valor del argumento de par nombre-valor requerido para el valor de ancho de banda.ndxptsbw La estimación se basa en un producto de la función del kernel gaussiano.

Para datos univariados o bivariados, utilice en su lugar.ksdensity

ejemplo

f = mvksdensity(x,pts,'Bandwidth',bw,Name,Value) Devuelve cualquiera de los argumentos de salida anteriores, utilizando opciones adicionales especificadas por uno o más argumentos de par.Name,Value Por ejemplo, puede definir el tipo de función que se evalúa, como la densidad de probabilidad, la probabilidad acumulada o la función de superviviente.mvksdensity También puede asignar ponderaciones a los valores de entrada.

Ejemplos

contraer todo

Cargue los datos del cemento Hald.

load hald

Los datos miden el calor del endurecimiento para 13 composiciones de cemento diferentes. La matriz predictora contiene la composición porcentual para cada uno de los cuatro ingredientes de cemento.ingredients La matriz de respuesta contiene el calor de endurecimiento (en cal\g) después de 180 días.heat

Calcule la densidad del kernel para las tres primeras observaciones.ingredients

xi = ingredients(1:3,:); f = mvksdensity(ingredients,xi,'Bandwidth',0.8);

Cargue los datos del cemento Hald.

load hald

Los datos miden el calor del endurecimiento para 13 composiciones de cemento diferentes. La matriz predictora contiene la composición porcentual para cada uno de los cuatro ingredientes de cemento.ingredients La matriz de respuesta contiene el calor del endurecimiento (en cal/g) después de 180 días.heat

Cree una matriz de puntos en los que estimar la densidad. En primer lugar, defina el rango y el espaciado para cada variable, utilizando un número similar de puntos en cada dimensión.

gridx1 = 0:2:22; gridx2 = 20:5:80; gridx3 = 0:2:24; gridx4 = 5:5:65;

A continuación, se usa para generar una cuadrícula completa de puntos utilizando el rango y el espaciado definidos.ndgrid

[x1,x2,x3,x4] = ndgrid(gridx1,gridx2,gridx3,gridx4);

Por último, transforme y concatenar para crear una matriz que contenga los puntos en los que se estima la densidad. Esta matriz tiene una columna para cada variable.

x1 = x1(:,:)'; x2 = x2(:,:)'; x3 = x3(:,:)'; x4 = x4(:,:)'; xi = [x1(:) x2(:) x3(:) x4(:)];

Calcule la densidad.

f = mvksdensity(ingredients,xi,...  'Bandwidth',[4.0579 10.7345 4.4185 11.5466],...  'Kernel','normpdf');

Ver el tamaño de y para confirmar que calcula la densidad en cada punto en.xifmvksdensityxi

size_xi = size(xi)
size_xi = 1×2

       26364           4

size_f = size(f)
size_f = 1×2

       26364           1

Argumentos de entrada

contraer todo

Datos de ejemplo para los que se devuelve la estimación de densidad de probabilidad, especificada como una por matriz de valores numéricos. es el número de puntos de datos (filas) en, y es el número de dimensiones (columnas).mvksdensityndnxd

Tipos de datos: single | double

Puntos en los que se evalúa la estimación de densidad de probabilidad, especificada como una matriz con el mismo número de columnas que.fx La estimación devuelta y tiene el mismo número de filas.fpts

Tipos de datos: single | double

Valor para el ancho de banda de la ventana de suavizado de kernel, especificada como un vector de valor escalar o elemento. es el número de dimensiones (columnas) de los datos de ejemplo.ddx Si es un valor escalar, se aplica a todas las dimensiones.bw

Si especifica como (predeterminado) y como una matriz de dos filas, convierte los datos delimitados para que no se delimiten mediante la transformación de registro.'BoundaryCorrection''log''Support''positive'mvksdensity El valor de está en la escala de los valores transformados.bw

La regla de oro de Silverman para el ancho de banda es

bi=σi{4(d+2)n}1(d+4),i=1,2,...,d,

donde está el número de dimensiones, es el número de observaciones, ydn σi es la desviación estándar de laith variar.[4]

Ejemplo: 'Bandwidth',0.8

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: Especifica que estima la CDF de los datos de muestra mediante la función de triángulo del núcleo.'Kernel','triangle','Function,'cdf'mvksdensity

Método de corrección de contorno, especificado como el par separado por comas que consta de y cualquiera o.'BoundaryCorrection''log''reflection'

ValorDescripción
'log'

convierte los datos delimitados para que no se delimiten mediante una de las siguientes transformaciones.mvksdensity A continuación, se transforma de nuevo a la escala delimitada original después de la estimación de densidad.

  • Si se especifica, se aplica'Support','positive'mvksdensity log(xj) para cada dimensión, donde Xj es la columna th del argumento de entrada.jx

  • Si se especifica como una matriz de dos filas que consta de los límites inferior y superior de cada dimensión, se aplica'Support'mvksdensity log((xj-Lj)/(Uj-xj)) para cada dimensión, donde Lj Y Uj son los límites inferior y superior de la dimensión TH, respectivamente.j

El valor de está en la escala de los valores transformados.bw

'reflection'

aumenta los datos delimitados agregando datos reflejados cerca de los límites y, a continuación, devuelve estimaciones correspondientes al soporte original.mvksdensity Para obtener más información, consulte.Método de reflexión

aplica la corrección de contorno sólo cuando se especifica como un valor distinto de.mvksdensity'Support''unbounded'

Ejemplo: 'BoundaryCorrection','reflection'

Función que se estima, especificada como el par separado por comas y que consta de uno de los siguientes.'Function'

ValorDescripción
'pdf'Función de densidad de probabilidad
'cdf'Función de distribución acumulativa
'survivor'Función superviviente

Ejemplo: ,'Function''cdf'

Tipo de kernel más suave, especificado como el par separado por comas que consta de y uno de los siguientes.'Kernel'

ValorDescripción
'normal' Kernel normal (gaussiano)
'box'El kernel de caja
'triangle'Kernel triangular
'epanechnikov'El kernel de Epanechnikov

También puede especificar una función del kernel que sea una función personalizada o incorporada. Especifique la función como un identificador de función (por ejemplo, o) o como un vector de caracteres o un escalar de cadena (por ejemplo, o).@myfunction@normpdf'myfunction''normpdf' El software llama a la función especificada con un argumento que es una matriz de distancias entre los valores de datos y las ubicaciones donde se evalúa la densidad, normalizadas por el ancho de banda de esa dimensión. La función debe devolver una matriz del mismo tamaño que contenga los valores correspondientes de la función del kernel.

aplica el mismo kernel a cada dimensión.mvksdensity

Ejemplo: 'Kernel','box'

Compatibilidad con la densidad, especificada como el par separado por comas que consta de y uno de los siguientes.'support'

ValorDescripción
'unbounded'Permita que la densidad se extienda sobre toda la línea real
'positive'Restrinja la densidad a valores positivos
2 por matrizdEspecifique los límites inferior y superior finitos para el soporte de la densidad. La primera fila contiene los límites inferiores y la segunda fila contiene los límites superiores. Cada columna contiene los límites de una dimensión de.x

también puede ser una combinación de variables positivas, no delimitadas y delimitadas especificadas como.'Support'[0 -Inf L; Inf Inf U]

Ejemplo: 'Support','positive'

Tipos de datos: single | double | char | string

Ponderaciones para los datos de muestra, especificadas como el par separado por comas que consta de un vector de longitud, donde se encuentran los datos de ejemplo.'Weights'size(x,1)x

Ejemplo: 'Weights',xw

Tipos de datos: single | double

Argumentos de salida

contraer todo

Valores de función estimados, devueltos como un vector. y tienen el mismo número de filas.fpts

Más acerca de

contraer todo

Distribución de kernel multivariante

Una distribución de kernel multivariado es una representación no paramétrica de la función de densidad de probabilidad (pdf) de un vector aleatorio. Puede utilizar una distribución de kernel cuando una distribución paramétrica no puede describir correctamente los datos, o cuando desea evitar hacer suposiciones sobre la distribución de los datos. Una distribución de kernel multivariado se define mediante una función de suavizado y una matriz de ancho de banda, que controlan la suavidad de la curva de densidad resultante.

El estimador de densidad de kernel multivariado es el pdf estimado de un vector aleatorio. Dejar x = (x1, x2, …, xd)' ser un vector aleatorio dimensional con una función de densidad y dejar quedf yi = (yi1, yi2, …, yid)' ser una muestra aleatoria extraída de paraf i = 1, 2, …, n, donde está el número de muestras aleatorias.n Para cualquier vectores reales de, el estimador de densidad de kernel multivariado viene dado porx

f^H(x)=1ni=1nKH(xyi),

Dónde KH(x)=|H|1/2K(H1/2x), K(·) es la función de suavizado del kernel y es la matriz de-por-ancho de banda.Hdd

utiliza una matriz de ancho de banda diagonal y un kernel de producto.mvksdensity Es decir H1/2 es una matriz cuadrada diagonal con los elementos de vector (h1, h2, …, hd) en la Diagonal principal. toma el formulario del productoK(x) K(x) = k(x1)k(x2) ⋯k(xd)Dónde k(·) es una función de suavizado de kernel unidimensional. A continuación, el estimador de densidad de kernel multivariado se convierte en

f^H(x)=1ni=1nKH(xyi)=1nh1h2hdi=1nK(x1yi1h1,x2yi2h2,,xdyidhd)=1nh1h2hdi=1nj=1dk(xjyijhj).

El estimador del kernel para la función de distribución acumulativa (CDF), para cualquier vectores reales de, es dado porx

F^H(x)=x1x2xdf^H(t)dtddt2dt1=1ni=1nj=1dG(xjyijhj),

Dónde G(xj)=xjk(tj)dtj.

Método de reflexión

El método de reflexión es un método de corrección de límites que encuentra con precisión estimadores de densidad del kernel cuando una variable aleatoria tiene compatibilidad limitada. Si se especifica, se utiliza el método de reflexión.'BoundaryCorrection','reflection'mvksdensity

Si además especifica como una matriz de dos filas que consta de los límites inferior y superior para cada dimensión, a continuación, busca el estimador del kernel de la siguiente manera.'Support'mvksdensity

  • Si es así, entonces el estimador de densidad del kernel es'Function''pdf'

         f^H(x)=1nh1h2hdi=1nj=1d[k(xjyijhj)+k(xjyijhj)+k(xjyij+hj)] Para Lj ≤ xj ≤ Uj,

    Dónde yij=2Ljyij, yij+=2UjyijY yij es el elemento TH de los datos de ejemplo TH correspondientes al argumento de entrada.jix(i,j)x Lj Y Uj son los límites inferior y superior de la dimensión TH, respectivamente.j

  • Si es así, entonces el estimador del kernel para CDF es'Function''cdf'

         F^H(x)=1ni=1nj=1d[G(xjyijhj)+G(xjyijhj)+G(xjyij+hj)G(Ljyijhj)G(Ljyijhj)G(Ljyij+hj)] Para Lj ≤ xj ≤ Uj.

  • Para obtener un estimador de kernel para una función de superviviente (cuando es), utiliza tanto'Function''survivor'mvksdensity f^H(x) Y F^H(x).

Si Adicionalmente especifica como o una matriz incluyendo, entonces encuentra el estimador de densidad del kernel reemplazando'Support''positive'[0 inf]mvksdensity [Lj Uj] con las ecuaciones anteriores.[0 inf]

Referencias

[1] Bowman, A. W., and A. Azzalini. Applied Smoothing Techniques for Data Analysis. New York: Oxford University Press Inc., 1997.

[2] Hill, P. D. “Kernel estimation of a distribution function.” Communications in Statistics – Theory and Methods. Vol. 14, Issue 3, 1985, pp. 605-620.

[3] Jones, M. C. “Simple boundary correction for kernel density estimation.” Statistics and Computing. Vol. 3, Issue 3, 1993, pp. 135-146.

[4] Silverman, B. W. Density Estimation for Statistics and Data Analysis. Chapman & Hall/CRC, 1986.

[5] Scott, D. W. Multivariate Density Estimation: Theory, Practice, and Visualization. John Wiley & Sons, 2015.

Capacidades ampliadas

Introducido en R2016a