Scénario de test & Cas d'usage
Creación de datos de niveles de ríos con inyección aleatoria de valores nulos (missing values).
| 1 | DATA mycas.river_levels; |
| 2 | call streaminit(777); |
| 3 | DO i = 1 to 1000; |
| 4 | u = rand('UNIFORM'); |
| 5 | v = rand('UNIFORM'); |
| 6 | /* Simulación Gumbel simple inversa no exacta, solo para estructura */ |
| 7 | level_river_A = (-log(u)); |
| 8 | level_river_B = (-log(v)) + 0.5 * level_river_A; |
| 9 | /* Introducir 5% de nulos */ |
| 10 | IF rand('UNIFORM') < 0.05 THEN level_river_A = .; |
| 11 | IF rand('UNIFORM') < 0.05 THEN level_river_B = .; |
| 12 | OUTPUT; |
| 13 | END; |
| 14 | RUN; |
| 1 | PROC CAS; |
| 2 | copula.copulaFit / |
| 3 | TABLE={name='river_levels'}, |
| 4 | var={'level_river_A', 'level_river_B'}, |
| 5 | copulaType='GUMBEL', |
| 6 | theta=2.0, |
| 7 | tolerance=1e-6, |
| 8 | varSummary=true; |
| 9 | RUN; |
La acción NO debe fallar. Debe identificar y excluir automáticamente las filas con valores nulos (missing values) antes del análisis. El 'varSummary' debe reflejar el número de observaciones realmente utilizadas versus el total. El parámetro Theta debe converger a un valor positivo indicando dependencia en la cola superior.