• Técnicas de Simulación y Remuestreo
  • Prólogo
  • 1 Introducción a la simulación
    • 1.1 Conceptos básicos
      • 1.1.1 Ejemplo
      • 1.1.2 Ventajas e inconvenientes de la simulación
      • 1.1.3 Aplicaciones de la simulación
    • 1.2 Tipos de números aleatorios
      • 1.2.1 Números aleatorios puros
      • 1.2.2 Números cuasi-aleatorios
      • 1.2.3 Números pseudo-aleatorios
    • 1.3 Números aleatorios en R
      • 1.3.1 Opciones
      • 1.3.2 Paquetes de R
      • 1.3.3 Tiempo de CPU
    • 1.4 Ejercicios
  • 2 Generación de números pseudoaleatorios
    • 2.1 Generadores congruenciales lineales
    • 2.2 Extensiones
    • 2.3 Análisis de la calidad de un generador
      • 2.3.1 Repetición de contrastes
      • 2.3.2 Baterías de contrastes
    • 2.4 Ejercicios
  • 3 Análisis de resultados de simulación
    • 3.1 Convergencia
      • 3.1.1 Detección de problemas de convergencia
      • 3.1.2 Precisión
    • 3.2 Determinación del número de generaciones
    • 3.3 El problema de la dependencia
      • 3.3.1 Periodo de calentamiento
    • 3.4 Observaciones
  • 4 Simulación de variables continuas
    • 4.1 Método de inversión
      • 4.1.1 Algunas distribuciones que pueden simularse por el método de inversión
      • 4.1.2 Ventajas e inconvenientes
      • 4.1.3 Inversión aproximada
    • 4.2 Método de aceptación rechazo
      • 4.2.1 Algoritmo
      • 4.2.2 Densidades acotadas en un intervalo cerrado
      • 4.2.3 Eficiencia del algoritmo
      • 4.2.4 Elección de la densidad auxiliar
      • 4.2.5 Ejemplo: inferencia bayesiana
    • 4.3 Modificaciones del método de aceptación-rechazo
      • 4.3.1 Muestreo por rechazo adaptativo (ARS)
      • 4.3.2 Método del cociente de uniformes
    • 4.4 Método de composición (o de simulación condicional)
    • 4.5 Métodos específicos para la generación de algunas distribuciones notables
      • 4.5.1 Método de Box-Müller
      • 4.5.2 Simulación de la distribución beta
  • 5 Simulación de variables discretas
    • 5.1 Método de la transformación cuantil
      • 5.1.1 Eficiencia del algoritmo
    • 5.2 Método de la tabla guía
    • 5.3 Método de Alias
    • 5.4 Simulación de una variable discreta con dominio infinito
    • 5.5 Otros métodos
    • 5.6 Métodos específicos para generación de distribuciones notables
    • 5.7 Ejercicios
  • 6 Simulación de distribuciones multivariantes
    • 6.1 Simulación de componentes independientes
    • 6.2 El método de aceptación/rechazo
    • 6.3 Factorización de la matriz de covarianzas
    • 6.4 Método de las distribuciones condicionadas
    • 6.5 Simulación condicional e incondicional
      • 6.5.1 Simulación condicional de una normal multivariante
      • 6.5.2 Simulación condicional a partir de un modelo ajustado
    • 6.6 Simulación basada en cópulas
      • 6.6.1 Cópulas Arquimedianas
      • 6.6.2 Simulación
    • 6.7 Simulación de distribuciones multivariantes discretas
      • 6.7.1 Simulación de una variable discreta bidimensional
      • 6.7.2 Simulación de tablas de contingencia
  • 7 Métodos Monte Carlo
    • 7.1 Integración Monte Carlo
      • 7.1.1 Integración Monte Carlo clásica
      • 7.1.2 Caso general
    • 7.2 Muestreo por importancia
      • 7.2.1 Remuestreo (del muestreo) por importancia
    • 7.3 Optimización Monte Carlo
      • 7.3.1 Algoritmos de optimización Monte Carlo
      • 7.3.2 Temple simulado
      • 7.3.3 Algoritmos genéticos
    • 7.4 Métodos Monte Carlo en Inferencia Estadística
      • 7.4.1 Distribución en el muestreo
      • 7.4.2 Intervalos de confianza
      • 7.4.3 Contrastes de hipótesis
      • 7.4.4 Comparación de estimadores
  • 8 Técnicas de reducción de la varianza
    • 8.1 Variables antitéticas
      • 8.1.1 Ejemplo: Integración Monte Carlo
      • 8.1.2 Generación de variables antitéticas
    • 8.2 Estratificación
    • 8.3 Variables de control
    • 8.4 Números aleatorios comunes
    • 8.5 Ejercicios
  • 9 Métodos de remuestreo
    • 9.1 Introducción
    • 9.2 El Bootstrap uniforme
    • 9.3 Herramientas disponibles en R sobre bootstrap
      • 9.3.1 El paquete boot
      • 9.3.2 Extensiones del bootstrap uniforme con el paquete boot
      • 9.3.3 Ejemplo: Bootstrap uniforme multidimensional
  • 10 Extensiones del bootstrap uniforme
    • 10.1 Deficiencias del bootstrap uniforme
    • 10.2 Bootstrap paramétrico
    • 10.3 Bootstrap suavizado
    • 10.4 Bootstrap basado en modelos
      • 10.4.1 Remuestreo de las observaciones
      • 10.4.2 Bootstrap residual
  • 11 Aplicaciones del remuestreo
    • 11.1 Estimación del sesgo y la precisión de un estimador
    • 11.2 Intervalos de confianza bootstrap
      • 11.2.1 Aproximación normal
      • 11.2.2 Método percentil directo
      • 11.2.3 Método percentil básico
      • 11.2.4 Método percentil-t
      • 11.2.5 Método BCa
      • 11.2.6 Ejemplo: IC bootstrap para el coeficiente de correlación
    • 11.3 Contrastes de hipótesis bootstrap
      • 11.3.1 Contrastes bootstrap paramétricos
      • 11.3.2 Contrastes de permutaciones
      • 11.3.3 Contrastes bootstrap semiparamétricos
  • Apéndices
  • A Bondad de Ajuste y Aleatoriedad
    • A.1 Métodos de bondad de ajuste
      • A.1.1 Histograma
      • A.1.2 Función de distribución empírica
      • A.1.3 Gráficos P-P y Q-Q
      • A.1.4 Contraste chi-cuadrado de Pearson
      • A.1.5 Contraste de Kolmogorov-Smirnov
    • A.2 Diagnosis de la independencia
      • A.2.1 Métodos para detectar dependencia
      • A.2.2 Gráfico secuencial
      • A.2.3 Gráfico de dispersion retardado
      • A.2.4 El correlograma
      • A.2.5 Test de rachas
      • A.2.6 El contraste de Ljung-Box
    • A.3 Contrastes específicos para generadores aleatorios
      • A.3.1 Contraste de frecuencias
      • A.3.2 Contraste de series
      • A.3.3 El contraste del poker
      • A.3.4 El contraste del coleccionista
  • B Integración numérica
    • B.1 Integración numérica unidimensional
      • B.1.1 Método del trapezoide
      • B.1.2 Regla de Simpson
      • B.1.3 Cuadratura adaptativa
      • B.1.4 Comandos de R
    • B.2 Integración numérica bidimensional
      • B.2.1 Representación gráfica
      • B.2.2 Método del trapezoide
      • B.2.3 Comandos de R
  • C Introducción al procesamiento en paralelo en R
    • C.1 Introducción
    • C.2 Paquetes en R
    • C.3 Ejemplos
      • C.3.1 Procesamiento en paralelo con la función boot()
      • C.3.2 Estudio de simulación
  • D Soluciones ejercicios
    • D.1 Capítulo 1 Introducción a la simulación
      • D.1.1 Ejercicio 1.1
      • D.1.2 Ejercicio 1.2
      • D.1.3 Ejercicio 1.3
      • D.1.4 Ejercicio 1.4
      • D.1.5 Ejercicio 1.5
    • D.2 Capítulo 2 Generación de números pseudoaleatorios
      • D.2.1 Ejercicio 2.1
    • D.3 Capítulo 5 Simulación de variables discretas
      • D.3.1 Ejercicio 5.1
  • Referencias
    • Bibliografía básica
    • Bibliografía complementaria
    • Enlaces
  • Bibliografía
  • Published with bookdown

Técnicas de Simulación y Remuestreo

Técnicas de Simulación y Remuestreo

Rubén Fernández Casal (ruben.fcasal@udc.es)

Ricardo Cao (rcao@udc.es)

Julián Costa (julian.costa@udc.es)

Edición: Enero de 2023. Impresión: 2025-03-05

Prólogo

Este libro, en proceso de elaboración, contiene los apuntes de la asignatura de Simulación Estadística del Máster en Técnicas Estadísticas y material de apoyo a la docencia de la asignatura de Técnicas de Simulación y Remuestreo del Grado en Ciencia e Ingeniería de Datos de la UDC.

Este libro ha sido escrito en R-Markdown empleando el paquete bookdown y está disponible en el repositorio rubenfcasal/simbook de Github. Este libro es una “segunda edición”, la anterior (Fernández-Casal R. y Cao R., 2022, Simulación Estadística) está disponible en la rama primera_edicion de este repositorio.

Se puede acceder a la versión en línea a través del siguiente enlace:

https://rubenfcasal.github.io/simbook/index.html.

donde puede descargarse en formato pdf.

Para poder ejecutar los ejemplos mostrados en el libro es recomendable emplear el paquete simres, no disponible actualmente en CRAN, aunque se puede instalar la versión de desarrollo en GitHub):

# install.packages("remotes")
# remotes::install_github("rubenfcasal/simres")
remotes::install_github("rubenfcasal/simres", INSTALL_opts = "--with-keep.source")

Alternativamente se pueden emplear los ficheros de la carpeta codigo.

Para instalar los paquetes necesarios se puede emplear los siguientes comandos:

pkgs <- c('tictoc', 'boot', 'randtoolbox', 'MASS', 'DEoptim', 'nortest', 'geoR', 'copula',
          'sm', 'car', 'tseries', 'forecast', 'plot3D', 'rgl', 'rngWELL', 'randtoolbox')
install.packages(setdiff(pkgs, installed.packages()[,"Package"]), 
                 dependencies = TRUE)

# Si aparecen errores debidos a incompatibilidades entre las versiones de los paquetes, 
# probar a ejecutar en lugar de lo anterior:
# install.packages(pkgs, dependencies = TRUE) # Instala todos...

Para generar el libro (compilar) serán necesarios paquetes adicionales, para lo que se recomendaría consultar el libro de “Escritura de libros con bookdown” en castellano.

En la Sección Enlaces de las Referencias se incluyen recursos adicionales, incluyendo algunos que pueden ser útiles para el aprendizaje de R.

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (esperamos poder liberarlo bajo una licencia menos restrictiva más adelante…).