copula

copulaFit

Descripción

La acción `copulaFit` del conjunto de acciones de Modelado de Cópulas se utiliza para estimar los parámetros de un tipo de cópula específico basándose en datos de entrada. Este proceso es fundamental para modelar la estructura de dependencia entre múltiples variables aleatorias, independientemente de sus distribuciones marginales. La acción soporta varios tipos de cópulas y métodos de estimación.

copula.copulaFit / table={...}, var={'y1', 'y2', ...}, copulatype="CLAYTON" | "FRANK" | "GUMBEL" | "NORMAL" | "T" <, ...opciones adicionales>;
Parámetros
ParámetroDescripción
copulatypeEspecifica el tipo de cópula a estimar. Puede ser CLAYTON, FRANK, GUMBEL, NORMAL o T.
tableEspecifica la tabla de datos de entrada que contiene las variables a modelar.
varEspecifica la lista de nombres de variables para el ajuste de la cópula.
corrtableEspecifica la tabla que contiene la matriz de correlaciones de Pearson para usar al ajustar una cópula t.
dfEspecifica un valor inicial para los grados de libertad (df) al ajustar una cópula t.
displayEspecifica las tablas de resultados que se mostrarán en la salida.
initialvaluesProporciona valores iniciales para la optimización numérica.
KendallCorrtableEspecifica la tabla que contiene la matriz de correlaciones de Kendall para usar al ajustar una cópula t.
margApproxOptsEspecifica las opciones utilizadas al aproximar la función de distribución marginal empírica.
marginalsEspecifica la distribución marginal de las variables individuales. Puede ser 'EMPIRICAL' o 'UNIFORM'.
methodEspecifica el método para estimar los parámetros. Puede ser 'MLE' (Máxima Verosimilitud) o 'CAL' (Calibración).
nameEspecifica un identificador para el ajuste, que se almacena como una variable de ID en la tabla de salida.
optimizerEspecifica los parámetros que controlan el proceso de estimación de parámetros.
outpseudoEspecifica la tabla de salida para guardar las pseudo-muestras con distribuciones marginales uniformes.
outputTablesEspecifica la lista de tablas de visualización para generar como tablas CAS.
plotEspecifica las opciones utilizadas para producir gráficos de diagnóstico y visualización.
storeAlmacena las propiedades del modelo y los resultados del ajuste en un almacén de elementos (item store).
thetaEspecifica un valor inicial para el parámetro theta de las cópulas de Arquímedes.
toleranceEspecifica la tolerancia que se permite para el ajuste.
varSummarySi es TRUE, produce una tabla que describe propiedades estadísticas básicas de las variables del modelo.
Creación de Datos de Ejemplo

Este paso crea una tabla CAS llamada `mycas.simdata` con dos variables, `y1` y `y2`, que exhiben una cierta dependencia. Estos datos se utilizarán para ajustar un modelo de cópula.

¡Copiado!
1DATA mycas.simdata(keep=y1 y2);
2 call streaminit(123);
3 DO i = 1 to 1000;
4 x1 = rand('NORMAL');
5 x2 = rand('NORMAL');
6 y1 = exp(0.5 * x1);
7 y2 = exp(0.2 * x1 + 0.8 * x2);
8 OUTPUT;
9 END;
10RUN;

Ejemplos

Este ejemplo muestra cómo ajustar una cópula Clayton a las variables `y1` y `y2` de la tabla `mycas.simdata` utilizando el método de máxima verosimilitud (MLE).

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 copula.copulaFit /
3 TABLE={name='simdata'},
4 var={'y1', 'y2'},
5 copulaType='CLAYTON',
6 method='MLE';
7RUN;
Resultado :
La salida mostrará las estimaciones de los parámetros para la cópula Clayton, incluyendo el parámetro theta y las estadísticas de ajuste del modelo. También se mostrará un resumen de las variables y la información del ajuste.

Este ejemplo ajusta una cópula t, que es más flexible para modelar la dependencia en las colas. Se especifica un valor inicial para los grados de libertad (`df`). Además, se utiliza la opción `store` para guardar el modelo ajustado en un almacén de elementos llamado `mycas.copulastore` y la opción `outpseudo` para generar una tabla con las pseudo-muestras.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 copula.copulaFit /
3 TABLE={name='simdata'},
4 var={'y1', 'y2'},
5 copulaType='T',
6 df=5,
7 method='MLE',
8 store={name='copulastore', replace=true},
9 outpseudo={name='pseudosamples', replace=true};
10RUN;
Resultado :
La salida incluirá las estimaciones para los parámetros de la cópula t (grados de libertad y matriz de correlación). Además, se creará un almacén de elementos `mycas.copulastore` que contiene el modelo y una tabla `mycas.pseudosamples` con las pseudo-muestras transformadas.

FAQ

¿Cuál es el propósito de la acción `copula.copulaFit` en SAS Viya?
¿Qué tipos de cópulas se pueden estimar con la acción `copulaFit`?
¿Para qué se utiliza el parámetro `table`?
¿Qué especifica el parámetro `var`?
¿Qué métodos de estimación están disponibles a través del parámetro `method`?
¿Qué significa el parámetro `marginals` y qué opciones tiene?
¿Cómo se puede guardar el modelo ajustado para su uso posterior?
Al ajustar una cópula t, ¿cómo se puede proporcionar una matriz de correlación inicial?
¿Es posible especificar valores iniciales para los parámetros de optimización?

Escenarios asociados

Caso de uso
Modelado de Dependencia de Activos y Persistencia del Modelo

Un banco de inversión necesita analizar la estructura de dependencia entre dos clases de activos principales (Acciones y Bonos) para mejorar su cálculo de Valor en Riesgo (VaR)....

Caso de uso
Estimación de Cópula T en Datos Masivos de Siniestralidad

Una aseguradora multinacional desea modelar la dependencia de cola (eventos extremos simultáneos) entre tres líneas de negocio: Automóvil, Hogar y Salud. El conjunto de datos es...

Caso de uso
Robustez ante Valores Faltantes con Cópula Gumbel (Eventos Extremos)

Un departamento de hidrología estudia la probabilidad conjunta de desbordamientos de ríos (niveles extremos). Los sensores de campo a menudo fallan, generando valores nulos (mis...