J'utilise Proc Robustreg pour la détection de points aberrants (outliers) dans une distribution masse vs longueur. L'illustration de la relation et des 'outliers' se fait avec Proc GPlot avec l'option 'Annotate=', laquelle annotation utilise la sortie de Proc Robustreg. L'essentiel du programme se lit ainsi :
J'aimerais indiquer sur les graphiques le nombre d'observations utilisées pour évaluer la régression. Existe-t-il une option dans Robustreg pour que cette information apparaissent dans le dataset Out=Daig_Out? Si l'option n'existe pas et qu'il est évalué autrement, doit-il être inséré dans mon Work.Annote ou bien peut-on utiliser 2 dataset différents dans l'option Annotate= dans la Proc GPlot?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Proc Robustreg Data=Work.Carbio Method=Mm; By Sourc_Mb Nbpc_Mb No_Relmb Espgen; Model Lnmasse = Lnlong / Diagnostics(All) Leverage; Output Out=Diag_Out R=Resid Sr=Stdres Outlier=Otlr Leverage=Lvr Rho=R; Run; Data Work.Annote; Length Function Color $8; Retain Function 'Label' Xsys Ysys '2' Hsys '1' Style 'Arial'; Set Work.Diag_Out; If Otlr=1 Then Do; Function='Label'; X=Lnlong; Y=Lnmasse; Color='Red/Bold'; Position='8'; Text=Trim((Left(Put(V_Long,4.)))||'-'||(Left(Put(V_W,6.1)))); Output; End; Run; Proc Gplot Data=Work.Carbio; Note Box=2 Color=Red Font='Arial' Height=3Pct Move=(72,25) "Point Aberrant" Move=(-15,-3) "(V_Long - V_W)" ; By Sourc_Mb Nbpc_Mb No_Relmb No_Stnmb Espgen; Plot Lnmasse * Lnlong=3 / Vaxis=Axis1 Haxis=Axis2 Hminor=0 Vminor=0 Regeqn Annotate=Work.Annote; /* Utilisation des annotations définies dans Work.Annote */ By Espgen Esp N_Espf; Run;
Merci à l'avance pour le partage d'information.
Partager