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.

bootstrp

Bootstrap muestreo

Sintaxis

bootstat = bootstrp(nboot,bootfun,d1,...)
[bootstat,bootsam] = bootstrp(...)
bootstat = bootstrp(...,'Name',Value)

Descripción

bootstat = bootstrp(nboot,bootfun,d1,...) dibuja muestras de datos de arranque, calcula las estadísticas de cada ejemplo utilizando y devuelve los resultados en la matriz. debe ser un entero positivo. es un identificador de función especificado con.nbootbootfunbootstatnbootbootfun@ Cada fila de contiene los resultados de aplicar a una muestra de arranque.bootstatbootfun Si devuelve una matriz o matriz, esta salida se convierte en un vector de fila para el almacenamiento.bootfunbootstat

Los argumentos de entrada tercero y posterior () son datos (escalares, vectores de columna o matrices) utilizados para crear entradas. crea cada ejemplo de bootstrap mediante muestreo con sustitución de las filas de los argumentos de datos no escalares (estos deben tener el mismo número de filas). acepta datos escalares sin cambios.d1,...bootfunbootstrpbootfun

[bootstat,bootsam] = bootstrp(...) Devuelve un-por-matriz de índices de arranque,.nnbootbootsam Cada columna contiene índices de los valores extraídos de los conjuntos de datos originales para constituir la muestra de arranque correspondiente.bootsam Por ejemplo, si cada uno contiene 16 valores y, a continuación, es una matriz de 16 por 4.d1,...nboot = 4bootsam La primera columna contiene los índices de los 16 valores extraídos de, para el primero de los cuatro ejemplos de arranque, la segunda columna contiene los índices de la segunda de las cuatro muestras de arranque, y así sucesivamente.d1,... (Los índices de bootstrap son los mismos para todos los conjuntos de datos de entrada.) Para obtener las muestras de salida sin aplicar una función, establezca en Empty ().bootsambootfun[]

bootstat = bootstrp(...,'Name',Value) usa argumentos adicionales especificados por uno o más argumentos de par.Name,Value Los pares nombre-valor deben aparecer después de los argumentos de datos. Los pares de nombre-valor disponibles:

  • — Pesos de observación.'Weights' El valor debe ser un vector de números no negativos con al menos un elemento positivo.weights El número de elementos en debe ser igual al número de filas en los argumentos de entrada no escalar a.weightsbootstrp Para obtener una réplica de bootstrap, las muestras se obtienen con el reemplazo utilizando estas ponderaciones como probabilidades de muestreo multinomial.bootstrpNN

  • : El valor es una estructura que contiene opciones que especifican si se calculan las iteraciones de arranque en paralelo y se especifica cómo utilizar números aleatorios durante el muestreo de arranque.'Options' Cree la estructura de opciones con.statset Los parámetros aplicables son:statset

    • — Si está instalado, calcule las iteraciones de bootstrap en paralelo.'UseParallel'trueParallel Computing Toolbox™ Si no está instalado, el cálculo se produce en modo serie.Parallel Computing Toolbox El valor predeterminado es, es decir computación serial.false

    • : Se configura para que se calcule en paralelo de forma reproducible.UseSubstreamstrue El valor predeterminado es.false Para calcular reproduciblemente, establezca un tipo que permita subsecuencias: o.Streams'mlfg6331_64''mrg32k3a'

    • — Un objeto o matriz de celdas de estos objetos.StreamsRandStream Si no se especifica, utiliza la secuencia o secuencias predeterminadas.Streamsbootstrp Si decide especificar, utilice un único objeto excepto en el casoStreams

      • EsUseParalleltrue

      • EsUseSubstreamsfalse

      En ese caso, utilice una matriz de celdas del mismo tamaño que el grupo paralelo.

Ejemplos

contraer todo

En este ejemplo se muestra cómo calcular un error estándar de coeficiente de correlación mediante el remuestreo de bootstrap de los datos de ejemplo.

Cargue un conjunto de datos que contenga las puntuaciones LSAT y el GPA de la escuela de derecho para 15 estudiantes. Estos 15 puntos de datos se remuestrean para crear 1000 conjuntos de datos diferentes, y la correlación entre las dos variables se calcula para cada conjunto de datos.

load lawdata rng default  % For reproducibility [bootstat,bootsam] = bootstrp(1000,@corr,lsat,gpa);

Visualice los primeros 5 coeficientes de correlación bootstrapped.

bootstat(1:5,:)
ans = 5×1

    0.9874
    0.4918
    0.5459
    0.8458
    0.8959

Visualice los índices de los datos seleccionados para las primeras 5 muestras de arranque.

bootsam(:,1:5)
ans = 15×5

    13     3    11     8    12
    14     7     1     7     4
     2    14     5    10     8
    14    12     1    11    11
    10    15     2    12    14
     2    10    13     5    15
     5     1    11    11     9
     9    13     5    10     3
    15    15    15     3     3
    15    11     1     2     4
      ⋮

figure histogram(bootstat)

El histograma muestra la variación del coeficiente de correlación entre todas las muestras de bootstrap. La muestra mínima es positiva, indicando que la relación entre la puntuación LSAT y el GPA no es accidental.

Por último, calcule un estándar de bootstrap de error para el coeficiente de correlación estimado.

se = std(bootstat)
se = 0.1285 

Este ejemplo muestra cómo estimar la densidad del kernel de los medios bootstrapped.

Calcule una muestra de 100 medios bootstrapped de muestras aleatorias tomadas del vector Y.

rng default;  % For reproducibility y = exprnd(5,100,1); m = bootstrp(100,@mean,y);

Trace una estimación de la densidad de estos medios bootstrapped.

figure; [fi,xi] = ksdensity(m); plot(xi,fi);

Este ejemplo muestra cómo calcular y trazar las medias y desviaciones estándar de las muestras bootstrapped 100 de un vector de datos.

Calcule una muestra de 100 medios bootstrapped y desviaciones estándar de muestras aleatorias tomadas del vector.y

rng('default')  % For reproducibility y = exprnd(5,100,1); stats = bootstrp(100,@(x)[mean(x) std(x)],y);

Trace los pares de estimación de bootstrap.

plot(stats(:,1),stats(:,2),'o')

Este ejemplo muestra cómo estimar los errores estándar para un vector de coeficiente en una regresión lineal mediante el arranque de los residuales.

Cargue los datos de ejemplo.

load hald

Realice una regresión lineal y calcule los residuos.

x = [ones(size(heat)),ingredients]; y = heat; b = regress(y,x); yfit = x*b; resid = y - yfit;

Calcule los errores estándar mediante el arranque de los residuos.

se = std(bootstrp(...          1000,@(bootr)regress(yfit+bootr,x),resid))
se = 1×5

   56.1752    0.5940    0.5815    0.5989    0.5691

Capacidades ampliadas

Introducido antes de R2006a