Main Content

bootstrp

Muestreo de arranque

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 estadísticas en cada ejemplo mediante y devuelve los resultados de 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 su almacenamiento en .bootfunbootstat

Los argumentos de entrada tercero y posterior ( ) son datos (escalares, vectores de columna o matrices) utilizados para crear entradas para . crea cada muestra de arranque mediante el muestreo con el reemplazo 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 una matriz -by- de índices de arranque, .nnbootbootsam Cada columna contiene índices de los valores que se extrajeron de los conjuntos de datos originales para constituir el ejemplo de arranque correspondiente.bootsam Por ejemplo, si cada uno contiene 16 valores y , entonces es una matriz de 16 por 4.d1,...nboot = 4bootsam La primera columna contiene los índices de los 16 valores extraídos de , para la primera de las cuatro muestras de arranque, la segunda columna contiene los índices para la segunda de las cuatro muestras de arranque, y así sucesivamente.d1,... (Los índices de arranque son los mismos para todos los conjuntos de datos de entrada.) Para obtener las muestras de salida sin aplicar una función, establezca en vacío ( ).bootsambootfun[]

bootstat = bootstrp(...,'Name',Value) utiliza 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 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 argumentos de entrada no escalares a .weightsbootstrp Para obtener una réplica de arranque, las muestras con reemplazo utilizan estos pesos como probabilidades de muestreo multinomial.bootstrpNN

  • : el valor es una estructura que contiene opciones que especifican si se deben calcular iteraciones de arranque en paralelo y 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, calcula las iteraciones de arranque en paralelo.'UseParallel'trueParallel Computing Toolbox™ Si el no está instalado, el cálculo se produce en modo serie.Parallel Computing Toolbox El valor predeterminado es , es decir, el cálculo en serie.false

    • — Se establece para calcular en paralelo de forma reproducible.UseSubstreamstrue El valor predeterminado es .false Para calcular de forma reproducible, establezca en un tipo que permita substreams: o .Streams'mlfg6331_64''mrg32k3a'

    • — Una matriz de objetos o celdas de dichos objetos.StreamsRandStream Si no especifica , utiliza la secuencia o secuencias predeterminadas.Streamsbootstrp Si elige especificar , utilice un solo 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 arranque 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 vuelven a muestrear 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);

Muestre los primeros 5 coeficientes de correlación arrancados.

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

    0.9874
    0.4918
    0.5459
    0.8458
    0.8959

Mostrar 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 en todas las muestras de arranque. El mínimo de muestra es positivo, lo que indica que la relación entre la puntuación LSAT y el GPA no es accidental.

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

se = std(bootstat)
se = 0.1285 

En este ejemplo se muestra cómo estimar la densidad del núcleo de los medios arrancados.

Calcular una muestra de 100 medios arrancados de muestras aleatorias tomadas del vector Y.

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

Trazar una estimación de la densidad de estos medios arrancados.

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

En este ejemplo se muestra cómo calcular y trazar las medias y las desviaciones estándar de 100 muestras arrancadas de un vector de datos.

Calcular una muestra de 100 medias arrancadas 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);

Trazar los pares de estimación de arranque.

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 arrancando los residuos.

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 arrancando 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