La acción copulaSimulate simula datos a partir de un modelo de cópula especificado. Es útil para estudios de Monte Carlo, análisis de escenarios y para comprender las estructuras de dependencia entre múltiples variables aleatorias. Puede simular a partir de cópulas elípticas (Normal y t de Student) y de Arquímedes (Clayton, Frank, Gumbel).
| Parámetro | Descripción |
|---|---|
| define | Especifica la información relevante sobre la cópula que se utiliza para la simulación. |
| copulatype | Especifica el tipo de cópula. Puede ser 'NORMAL', 'T', 'CLAYTON', 'FRANK' o 'GUMBEL'. |
| corrTable | Especifica el conjunto de datos que contiene la matriz de correlaciones de Pearson para simular cópulas elípticas. |
| df | Especifica los grados de libertad. Esta opción solo se puede usar para cópulas t de Student. |
| KendallCorrtable | Especifica el conjunto de datos que contiene la matriz de correlaciones de Kendall para simular cópulas elípticas. |
| name | Especifica el nombre de la definición de la cópula. |
| SpearmanCorrtable | Especifica el conjunto de datos que contiene la matriz de correlaciones de Spearman para simular cópulas Gaussianas. |
| theta | Especifica el valor del parámetro para las cópulas de Arquímedes. |
| display | Especifica la lista de tablas de visualización que desea que la acción cree. |
| margApproxOpts | Especifica las opciones utilizadas al aproximar la función de distribución marginal empírica utilizando el método adaptativo. |
| ndraws | Especifica el número de observaciones a generar para la simulación. |
| outempirical | Especifica el conjunto de datos de salida para contener el resultado de la simulación utilizando márgenes empíricos. |
| outputTables | Especifica la lista de tablas de visualización que desea que se generen como tablas CAS. |
| outuniform | Especifica el conjunto de datos de salida para contener el resultado de la simulación en márgenes uniformes. |
| plot | Especifica las opciones utilizadas para producir gráficos de correlación. |
| restore | Restaura las propiedades del modelo y las estimaciones finales desde el almacén de elementos especificado y utiliza la información restaurada para realizar la simulación. |
| seed | Especifica la semilla para generar números aleatorios para la simulación. |
| table | Especifica la tabla de datos de entrada que contiene los datos para estimar las distribuciones marginales empíricas. |
| tolerance | Especifica la tolerancia permitida para la simulación. |
| var | Especifica la lista de nombres de variables para el conjunto de datos de salida. |
Este paso crea una tabla CAS que contiene una matriz de correlación de Pearson. Esta tabla se utilizará en los ejemplos para simular datos desde una cópula Gaussiana o t de Student.
| 1 | DATA mycas.corr_data; LENGTH _name_ $ 8; INFILE DATALINES; INPUT _name_ $ y1 y2 y3; DATALINES; |
| 2 | y1 1.0 0.6 0.5 |
| 3 | y2 0.6 1.0 0.7 |
| 4 | y3 0.5 0.7 1.0 |
| 5 | ; RUN; |
Este ejemplo muestra cómo simular 10,000 observaciones desde una cópula Gaussiana tridimensional utilizando una matriz de correlación de Pearson predefinida. Los resultados con márgenes uniformes se guardan en una tabla llamada 'mycas.simu_unif'.
| 1 | |
| 2 | PROC CAS; |
| 3 | ACTION copula.copulaSimulate / define={copulaType="NORMAL", corrTable={name="corr_data"}} ndraws=10000 seed=1234 outuniform={name="simu_unif", replace=true} var={"y1", "y2", "y3"}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
Este ejemplo simula 5,000 observaciones desde una cópula t de Student con 5 grados de libertad, lo que introduce una mayor dependencia en las colas en comparación con la cópula Gaussiana. Utiliza la misma matriz de correlación y genera un panel de gráficos de dispersión para visualizar las dependencias bivariadas de las variables simuladas.
| 1 | |
| 2 | PROC CAS; |
| 3 | ACTION copula.copulaSimulate / define={copulaType="T", df=5, corrTable={name="corr_data"}} ndraws=5000 seed=5678 outuniform={name="simu_t_unif", replace=true} var={"y1", "y2", "y3"} plot={scatter=true}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
Este ejemplo primero simula datos con márgenes uniformes desde una cópula de Clayton, que es útil para modelar la dependencia en la cola inferior. Luego, utiliza una tabla de datos existente ('mycas.my_data') para transformar las simulaciones uniformes a los márgenes empíricos de los datos originales, guardando el resultado en 'mycas.simu_clayton_emp'.
| 1 | |
| 2 | PROC CAS; |
| 3 | ACTION copula.copulaSimulate / TABLE={name='my_data'} define={copulaType='CLAYTON', theta=2} ndraws=2000 seed=123 var={'y1','y2'} outempirical={name='simu_clayton_emp', replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
Una institución financiera necesita realizar pruebas de estrés en una cartera de inversiones compuesta por tres activos principales (Bonos, Acciones Tecnológicas, Materias Prima...
Una compañía de seguros desea estimar las reservas de capital necesarias para el próximo año fiscal. Para obtener un intervalo de confianza preciso al 99.9%, necesitan simular u...
Un analista logístico estudia el riesgo de interrupción en la cadena de suministro. Los fallos en los proveedores suelen desencadenar fallos en la producción (dependencia asimét...