L'action copulaFit estime les paramètres pour un type de copule spécifié. Elle est utile pour modéliser la structure de dépendance entre plusieurs variables aléatoires indépendamment de leurs distributions marginales.
| Paramètre | Description |
|---|---|
| copulatype | Spécifie le type de la copule à estimer. Les types disponibles incluent les copules archimédiennes (CLAYTON, FRANK, GUMBEL) et elliptiques (NORMAL, T). |
| table | Spécifie la table de données d'entrée contenant les variables à analyser. |
| var | Spécifie la liste des noms de variables pour l'ajustement de la copule. |
| corrtable | Spécifie la table de données qui contient la matrice des corrélations de Pearson à utiliser lors de l'ajustement d'une copule t. |
| df | Spécifie une valeur initiale pour les degrés de liberté (df) lors de l'ajustement d'une copule t. |
| display | Spécifie la liste des tables de résultats à créer. Si omis, toutes les tables sont générées. |
| initialvalues | Fournit les valeurs initiales pour l'optimisation numérique. Pour les copules archimédiennes, les valeurs initiales sont calculées par la méthode de calibration. |
| KendallCorrtable | Spécifie la table de données qui contient la matrice des corrélations de Kendall à utiliser lors de l'ajustement d'une copule t. |
| margApproxOpts | Spécifie les options pour l'approximation de la fonction de distribution marginale empirique par la méthode adaptative. |
| marginals | Spécifie la distribution marginale des variables individuelles. 'EMPIRICAL' utilise la distribution empirique, 'UNIFORM' suppose que les données sont déjà transformées en pseudo-échantillons uniformes. |
| method | Spécifie la méthode d'estimation des paramètres. 'MLE' (Maximum Likelihood Estimation) est la méthode par défaut, 'CAL' (Calibration) utilise une méthode basée sur la corrélation de Kendall. |
| name | Spécifie un identifiant pour l'ajustement, stocké comme une variable ID dans la table de sortie spécifiée par le paramètre `store`. |
| optimizer | Spécifie les paramètres qui contrôlent divers aspects du processus d'estimation des paramètres. |
| outpseudo | Spécifie la table de sortie pour sauvegarder les pseudo-échantillons avec des distributions marginales uniformes. |
| outputTables | Spécifie la liste des tables de résultats à sortir en tant que tables CAS. |
| plot | Spécifie les options pour produire des graphiques de diagnostic et de corrélation. |
| store | Stocke les propriétés du modèle et les résultats de l'ajustement dans un item store pour une utilisation ultérieure, par exemple avec l'action `copulaSimulate`. |
| theta | Spécifie une valeur initiale pour le paramètre de dépendance thêta des copules archimédiennes. |
| tolerance | Spécifie la tolérance autorisée pour l'ajustement. |
| varSummary | Si TRUE, produit une table décrivant les propriétés statistiques de base des variables du modèle. |
Ce bloc de code SAS crée une table CAS nommée 'simdata' avec 1000 observations et deux variables, 'y1' et 'y2', qui suivent une distribution log-normale. Ces données seront utilisées pour ajuster un modèle de copule.
| 1 | DATA mycas.simdata(keep=y1 y2); |
| 2 | call streaminit(123); |
| 3 | DO i = 1 to 1000; |
| 4 | x1 = rand('NORMAL'); |
| 5 | x2 = 0.6*x1 + 0.8*rand('NORMAL'); |
| 6 | y1 = exp(x1/2); |
| 7 | y2 = exp(x2/2); |
| 8 | OUTPUT; |
| 9 | END; |
| 10 | RUN; |
Cet exemple montre comment ajuster une copule de Clayton simple en utilisant la méthode de la vraisemblance maximale (MLE) sur les variables 'y1' et 'y2' de la table 'simdata'.
| 1 | PROC CAS; |
| 2 | copula.copulaFit / |
| 3 | TABLE={name='simdata'}, |
| 4 | var={'y1', 'y2'}, |
| 5 | copulaType='CLAYTON', |
| 6 | method='MLE'; |
| 7 | RUN; |
Cet exemple ajuste une copule t en utilisant la méthode de calibration (CAL). Il spécifie une valeur initiale pour les degrés de liberté (df=5), demande un résumé des variables, génère des graphiques de diagnostic (scatter plot) et stocke le modèle ajusté dans un item store nommé 'myfit' pour une utilisation ultérieure.
| 1 | PROC CAS; |
| 2 | copula.copulaFit / |
| 3 | TABLE={name='simdata'}, |
| 4 | var={'y1', 'y2'}, |
| 5 | copulaType='T', |
| 6 | method='CAL', |
| 7 | df=5, |
| 8 | varSummary=true, |
| 9 | plot={scatter=true}, |
| 10 | store={name='myfit', replace=true}; |
| 11 | RUN; |