Statisfaction

Le Kernel Smoothing avec rupture(s) sous SAS

Posted in French, Statistics by Jérôme Lê on 9 August 2011

Voici une petite macro SAS bien utile pour tout ceux qui souhaitent faire du Kernel Smoothing. En plus de cela, elle est adaptée au cas des variables qui présentent des ruptures (1 ou 2 max), bien connu des économètres qui font des regressions sur discontinuité.

Rappelons tout d’abord le principe du Kernel Smoothing (ou “lissage par noyau”, mais ça fait tellement moins classe). Vous avez 2 variables X et Y (continues ou discrètes) et vous souhaitez avoir une première idée de la forme de la relation qui les relient, sans imposer de forme fonctionnelle particulière. Ou comme diraient les économètres “une estimation non paramétrique” de Y=f(X) (oh yeah). Pour cela, on calcule sur des intervalles glissants de X la moyenne pondérée de Y. Le noyau permet simplement de pondérer plus fortement les points à proximité de la valeur de X à une itération donnée.

Si vous n’avez rien compris, regardez plutôt ce petit dessin tiré de Wikipédia:

Ou allez directement voir sur Wikipédia!

Lorsque votre relation présente une (ou deux) discontinuité(s), le lissage aura tendance à masquer la realité de cette rupture. Pour vous donner un exemple, supposons que vous étudiez le taux de formation (Y) en fonction de la taille d’une entreprise (en nombre de salariés, X). Vous savez qu’en général, plus il y a de salariés, plus l’entreprise aura tendance à former (économies d’échelle, facilité à remplacer les salariés absents etc…). Mais vous savez également que les syndicats ont tendance à pousser les entreprises à former. Or, aux seuils de 20 et 50 salairés, les entreprises ont des obligations en matière d’élections de représentants du personnel et de comité d’entreprise. Vous vous attendez donc à ce que le taux de formation à ces seuils “bondissent” de manière discontinue.

Dans ce cas, un lissage classique vous donnerait quelque chose comme (données réelles):

En fait, si les discontinuités à X=50 et X=20 sont perceptibles, elles tendent à être lissées car on calcule la moyenne des taux de formation (Y) en mélangeant les points au-dessus et au-dessous des discontinuités. Pour résoudre le problème, on fait glisser le noyau en le stoppant autour du ou des seuil(s). De cette manière, par exemple, à X=49.5  on ne considère dans le calcul de la moyenne que les observations vérifiant X<50 (et vice versa).

Dans ce cas, on obtient le joli graphe suivant:

Le programme se présente sous forme d’une petite  macro SAS qu’il faut paramétrer. Une notice est également fournie.

A télécharger: la macro Kernel Smooth et sa notice.

About these ads

5 Responses

Subscribe to comments with RSS.

  1. Jeremy_G said, on 9 August 2011 at 11:29

    Intéressant, où peut-on trouver la macro SAS en question ?

    Faut-il définir les ruptures à l’avance, ou y a-t-il une option pour détecter les seuils les plus probables ?

    a+,
    Jérémy

  2. Jérôme Lê said, on 9 August 2011 at 11:44

    (Désolé, je suis en train de poster…)

    Pour les paramètres, la notice explique tout. En cas de problème, hésite pas à me demander.

    Par contre le programme ne détecte pas automatiquement les seuils. En général, pour les régressions discontinues, on connait à l’avance les seuils car ils se situent au niveau des seuils institutionnels.

    Jerome

    • Jeremy_G said, on 9 August 2011 at 17:20

      Merci bien !

  3. Pierre Jacob said, on 9 August 2011 at 12:54

    Oh oui la macro en .doc, de quatre pages. Vive tout sauf SAS.

    • Jérôme Lê said, on 9 August 2011 at 16:46

      Vive drop box!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 51 other followers

%d bloggers like this: