Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Macro
Macro Forum d'entraide sur le langage Macro de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/05/2008, 11h31   #1
Invité régulier
 
Inscription : janvier 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 19
Points : 5
Points : 5
Par défaut Macro pour trouver distribution

Bonjour,

j'aimerai créer une macro SAS qui passant en paramètre une variable, on puisse la tester avec toutes les lois discrètes et continues.

Le problème est qu'il n'y a rien comme test d'adéquation sous SAS.

Voilà ce que j'ai fait pour l'instant, dans le cas continu (et encore je n'ai pas toutes les lois) comme il n'y a rien pour le cas discret.

Code :
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
DATA test;
input year engytype $ produced consumed;
cards;
1985 coal 19.33 17.48
1985 gas 16.92 17.85
1985 petro 21.23 30.92
1985 hydro 2.94 3.36
1985 nuclear 4.15 4.15
1985 geotherm 0.2 0.2
1986 coal 19.51 17.26
1986 gas 16.47 16.71
1986 petro 20.53 32.2
1986 hydro 3.03 3.4
1986 nuclear 4.47 4.47
1986 geotherm 0.22 0.22
1987 coal 20.14 18.01
1987 gas 17.05 17.67
1987 petro 19.89 32.87
1987 hydro 2.59 3.07
1987 nuclear 4.91 4.91
1987 geotherm 0.23 0.23
1988 coal 20.94 18.81
1988 gas 17.19 18.6
1988 petro 19.52 33.96
1988 hydro 2.32 2.62
1988 nuclear 5.68 5.68
1988 geotherm 0.22 0.22
;
run;
 
/* définir sur quelle table on travaille */
%let dataset=test;
 
/* définir la variable réponse */
%let y=produced;
 
/* préciser si la variable réponse est discrete ou continue */
%let indic=continue;
 
%macro test_reponse(y,indic);
%IF &indic=discrete %then %do;
/* je sais pas encore*/
		%end;
%else %IF &indic=continue %then %do;
		proc univariate DATA=&dataset;
		var &y;
		histogram / beta exponential gamma normal weibull;
		run;
		%end;
%else %do;
/* faudra afficher dans le journal une erreur */
%end;
%mend test_reponse;
 
%test_reponse(&y,&indic);
Si quelqu'un a une idée ou a déjà travaillé dessus, je suis preneuse.

Merci d'avance
SAStableau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 10h56   #2
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 810
Points : 4 810
Bonjour,
Tu peux utiliser des QQplots ... ce sont certes des tests graphiques mais ils donnent tout de même une meilleure appréciation de la distribution des variables continues
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 11h46   #3
Invité régulier
 
Inscription : janvier 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 19
Points : 5
Points : 5
Tout d'abord merci. Le problème avec qqplot est que je dois spécifier les paramètres des distributions et en réalité, je ne les connais pas. Je veux juste savoir si ça suit telle ou telle loi.

Merci d'avance
SAStableau est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h14.


 
 
 
 
Partenaires

Hébergement Web