Marianne Tenand - ENS Ulm TD d économétrie Introduction à STATA Faire des graphes sous STATA : Les commandes de base Lorsque vous analysez des données, il est bon de commencer par les décrire. Certaines statistiques descriptives se comprennent parfaitement lorsqu elles sont présentées sous la forme de tableau, alors que d autres informations sont plus lisibles si elles sont présentées sous forme graphique. STATA permet très facilement de produire des graphiques. Une première possibilité est d utiliser l assistant à la création de graphiques qui est intégré au logiciel. Pour cela, il suffit de sélectionner l onglet «Graph» dans la barre d onglet qui s affiche tout en haut de votre écran lorsque vous êtes sur STATA. L assistant est très intuitif : vous allez pouvoir choisir le type de graphique, les variables à représenter, les éventuelles conditions que vous voulez imposer (par exemple, ne représenter que la consommation d alcool des moins de 80 ans). Vous pouvez ensuite explorer les options avancées pour définir les noms des axes, ajouter des légendes, un titre, changer les couleurs, etc. Une deuxième possibilité, qui s avère plus efficace dès qu on commence à connaître les commandes de base, est de «parler» directement à STATA via la fenêtre Command. La commande essentielle à connaître est GRAPH TWOWAY. Cette commande vous permet de signaler à STATA que vous désirez qu il vous fasse un graphique. Il va falloir ensuite lui spécifier quelle(s) variable(s) vous souhaitez représenter et sous quelle forme. Je vous propose quelques exemples à titre illustratif ; pour une présentation plus complète, je vous renvoie aux guides et tutoriels disponibles sur Internet listés dans les slides d introduction à STATA que je vous avais présentés lors du 1 er cours (notamment la section sur les graphiques du site de UCLA : www.ats.ucla.edu/stat/stata/). Supposons que j aie une base de données individuelles très simple, avec seulement 2 variables: - l âge de l individu (variable age) - la dépense totale de soins engagés par l individu dans l année (variable depense) Si on veut regarder la distribution de la dépense de soins, on peut soit : - estimer une densité > graphe de type kdensity - faire un histogramme > graphe de type hist Si on veut représenter la densité empirique, on peut procéder ainsi : graph twoway (kdensity depense)
Pour obtenir un histogramme, on tape : graph twoway (hist depense) (avec le graphique de type histogramme, par défaut l axe des abscisses prend le nom du label associé à la variable x). Le problème des dépenses de soins est qu elles peuvent être extrêmement élevées pour un très petit nombre d individus, ce qui gêne la représentation graphique. Si je regarde le 99 ème percentile de la distribution, je constate que pas plus de 1 % de l échantillon ne consomme plus de 896 euros par an en soins. Je peux donc demander à STATA de me représenter la distribution empirique en utilisant uniquement les observations qui ont une dépense inférieure à ce montant : graph twoway (kdensity depense if depense <= 896 )
Supposons maintenant que je veuille comparer les dépenses des personnes âgées avec les personnes de moins de 60 ans. Je peux obtenir deux courbes sur le même graphique de cette manière : graph twoway (kdensity depense if depense <= 896 & age < 60 ) /// (kdensity depense if depense <= 896 & age >= 60) Les deux blocs d instruction pour les graphiques sont délimités par des parenthèses. Rappelez-vous que les /// ne sont pas obligatoires, mais ils sont pratiques puisqu ils vous permettent de revenir à la ligne tout en poursuivant la même commande. L ennui c est qu à la lecture je risque de ne plus savoir quelle courbe correspond à quel groupe. Je peux donc définir moi-même des couleurs différentes pour les deux courbes, et ajouter une légende explicite : graph twoway (kdensity depense if depense <= 896 & age < 60, lcolor(blue)) /// (kdensity depense if depense <= 896 & age >= 60, lcolor(pink)),/// legend(label (1 "Dépenses des jeunes") label(2 "Dépenses des /// vieux"))
On voit que pour ajouter une option propre à l une des deux courbes (par exemple, la couleur bleue pour les dépenses des jeunes) on met une virgule puis l option au sein même du bloc concernant la courbe qui nous intéresse (ici, celle des jeunes). En revanche, les options qui concernent l ensemble du graphique (ici la légende) sont insérées après les blocs concernant les courbes (à nouveau par une virgule). On peut encore améliorer la présentation de ce graphique, en lui ajoutant un titre, des titres pour les axes, etc. Par exemple : graph twoway (kdensity depense if depense <= 896 & age < 60, lcolor(blue)) /// (kdensity depense if depense <= 896 & age >= 60, lcolor(pink)),/// Xline(132, lcolor(black) lpattern(dash) lwidth(thick)) /// title("distribution des dépenses de soins, par groupe d âge") /// xtitle("dépense de soins annuelle") ytitle("densité") /// legend(label (1 "Dépenses des jeunes") label(2 "Dépenses des /// vieux")) (l option xline(valeur) permet d ajouter à la représentation une ligne verticale au niveau ici d une dépense égale à 132 euros, qui correspond à la médiane des dépenses de soins dans l ensemble de la population ; les options qui sont associées à la représentation de cette ligne verticale indiquent qu elle doit être noire, en pointillée, et plus large que par défaut.
D autres types de graphique sont possibles, évidemment. Par exemple, vous pouvez représenter la dépense de soins en fonction de l âge avec le type de graphique scatter, et les valeurs prédites issues d une régression linéaire simple des dépenses sur l âge, avec lfit : graph twoway (scatter depense age if depense < 896) /// (lfit depense age if depense < 896), /// title("dépenses de soins en fonction de l âge") /// xtitle("age") ytitle("dépenses de soins en euros par an") /// legend(label(1 "Dépense de soins") label(2 "Prédiction de la /// dépense")) Il ne vous reste plus qu à vous lancer Avec les graphiques comme avec les autres commandes STATA on fait au début généralement beaucoup de fautes. Soyez patients, et regardez bien la syntaxe des graphes et options que vous utilisez. Vous pouvez à tout moment taper h graph twoway, ou h hist (etc.), pour obtenir des informations sur la commande que vous utilisez.