Statistiques non-paramétriques :
Ch. 3. Économétrie non-paramétrique 2016-17
M2 CEE
Pr. Philippe Polomé, Université Lumière Lyon 2
2016 – 2017
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Densités & histogrammes lissés
I
On commence par une analyse non-conditionnelle
I Une régression est une analyse conditionnelle
I Ici on veut la courbe des “y”
I Possiblementy est multidimensionnel
I
On va regarder une façon de présenter un histogramme
I de façon graphique
I en lissant les bords avec un “kernel smoother”
I Smooth : lisser
I Kernel : noyau
I “Densité par lissage noyau”
I ou “densité noyau”
Histogramme
I
Un histogramme
I est une estimation non-paramétrique de la densitéf(x)d’une vax
I que l’on forme en divisant le support dex en intervalles également espacés
I et en calculant la fraction de l’échantillon dans chaque intervalle
I
Dans R
I Données DataFrame cps
I Dans package AER
I Si vous utilisez le projet “Cours R” du cours de programmation
I vous avez le fichier cps qui est chargé (sur les salaires)
I Fonction hist( )
I est un basique de R
I pas besoin de charger un package
I hist(cps$wage)
Histogramme dans R : personnalisations
hist(cps$wage, main="Histogramme du salaire dans cps",
xlab="salaire", border="blue", col="green", xlim=c(0,50), las=1, breaks=10)
I
breaks est le nombre d’intervalles
I Peut changer beaucoup l’aspect
I On y revient + loin
I
Mettre les noms d’axes & de couleurs entre “ ”
I
las sert a changer la présentation des label sur Y (0,1,2,3)
I
On peut présenter des proba avec “prob=1”
I Plutôt que des fréq. abs.
I
On peut ajouter une densité lisse par dessus avec
I lines(density(cps$wage))
I Cette densité lisse est prédéfinie
I On va explorer des méthodes pour la tracer
Histogramme dans R ! np2016.r
Effet de la bandwidth dans un histogramme ! np2016.r
hist(cps$wage, breaks=10)
I
breaks est le nombre d’intervalles
I Donc de leur largeur, appelébandwidth
I
Exercice
I Ajuster le nombre d’intervalles
I Changer la couleur
Estimateur Histogramme
I
Plus formellement, dans un histogramme,
I on veut estimer la densitéf(x0)d’une v.a. scalaire continuex
I évaluée enx0
I
Si on a un échantillon
{xi,i =1
, ...,N},I l’estimateur histogrammedef (x0)est fˆhist(x0) = 1
N XN
i=1
1(x0 h<xi<x0+h) 2h
I 2hest la longueur de l’intervalle
I base du rectangle
I 1(A)est une fonction indicatrice=1 siAarrive et 0 sinon
I Donc : on compte le nbr d’obs.autourdex0dans un rayonh
I C’est un estimateurlocalcar il n’utilise que de l’info locale
Densité noyau
I
Cette procédure amène à une
estimation de la densitéqui en escalier
I Même si la véritable densité est lisse
I
On réécrit l’estimateur Histogramme comme
fˆhist(x0) =1
Nh XN i=1
1 2
1✓|xi x0| h <
1
◆
I
L’estimateur
densité noyauDN généralise cette définition
I en remplaçant la fonction1(.)par une alternativeK(.) fˆNOYAU(x0) = 1
Nh XN
i=1
K
✓xi x0 h
◆
I K(·)est dite “fonction noyau” (kernel)
I un “kernel” est simplement une fonction de pondération
I hest appelé largeur de bande
I Paramètre de lissage oubandwidth
Densité noyau
I
Un estimateur noyau d’une densité
I est donc une version lisse de sonhistogramme
I évaluée en chaque point de l’échantillon
I au lieu de quelques points comme dans l’histogramme I
Cet estimateur est souvent appelé Rosenblatt–Parzen
I Rosenblatt (1956), Parzen (1962)
Densité noyau
I
La fonction noyau
Kest positive, intégrable et à valeurs réelles
I Souvent sym autour de 0, on notez = x xh0
I L’uniforme 121(|z|<1)correspond à l’histogramme
I Quadratique 34 1 z2 1(|z|<1)
I Gaussienne(0,1):(2⇡) 1/2exp z2/2
I Gaussienne µ, 2 :(2⇡) 1/2exp✓ ⇣z µ⌘2
/2
◆
I Le choix (arbitraire) du noyau est réputé comme peu influent sur l’estimateur
I h, le paramètre de lissage, est plus difficile à choisir
I Le + petit le + lisse
I Mais trop petit, il provoque l’apparition de détails artificiels sur le graphe
I car trop peu de données entrent dans l’intervalle
I Trop grand, la majorité du relief est effacée
Kernel smoother : Exemple dans R ! np2016.r
I
Charger/installer le package KernSmooth
I library("KernSmooth")
I
wage_bkde<-bkde(cps$wage, kernel = "normal", bandwidth=1)
I Utiliser la variable “wage” dans le DataFrame cps
I Kernel (noyau K) : normal
I Bandwidth : 1 : arbitraire
I
plot(wage_bkde, xlab = "wage", ylab="density")
I Graphique
I
plot(wage_bkde, col=rev(rainbow(400, s = 1, v = 1, start = 0, end = max(1,400 - 1)/400, alpha = 1)), xlab = "wage", ylab="density")
I la couleur reflète la valeur de wage pas celle de density
Kernel smoother : Exemple 2D ! np2016.r
I
Densité des observations en bivarié
I bivariatekernel density estimatorbkde2D( )
I
cps_bkde<-bkde2D(cbind(cps$experience, log(cps$wage)), bandwidth=c(3.5, 0.5), gridsize=c(200, 200))
I bkde2D ne fonctionne pas tout à fait comme bkde
I Il faut choisir la bandwidth et la taille de la grille sur chacune des 2 dimensions
I expérience & log(wage)
I
image(cps_bkde$x1, cps_bkde$x2, cps_bkde$fhat, col=rev(gray.colors(10, gamma=1)), xlab = "experience", ylab="log(wage)")
I “heatmap” / courbes de niveau
I
Exercice
I Récupérer les données CPS1988 du même AER
I Répéter l’analyse en 1D et 2D
I Changer la bandwidth dans chaque cas
Interpréter les densités
I
Sur le fond, la densité noyau (univariée) est une ligne
I que l’on dessine
I qui s’ajuste d’une certaine manière au nuage de points
I concrètement : elle représente la fréquence locale en chaque point
I
On est proche d’une logique de régression
I Il faut conditionner
I Il y a d’autres façons de dessiner
I Splines, “nearest neighbor”, “neural network”...
I Dans ce cours, on reste sur le noyau.
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Propriétés de l’estimateur noyau univarié
I
On vient de voir un exemple bivarié (2D)
I
La fonction kernel doit se comporter comme une densité
I de moyenne nulle
I et de variance finie Z
K(z)dz=1 Z
zK(z)dz =0 Z
z2K(z)dz =2<1
I Le support est généralement 1,+1
Erreur carrée moyenne (mean square error) MSE
I
Les fonctions noyau sont svt choisies sur un critère de MSE
I
Le bias de l’estimateur
fˆNOYAU(x)est
fˆ(x) f (x)(on laisse tomber “NOYAU” quand il n’y a pas confusion)
I
La MSE est
msefˆ(x) =E biais2 =varfˆ(x) +biais2
on peut montrer que
biaisfˆ(x)t h2
2
@f (x)
@x2 2 varfˆ(x)t f (x)
nh Z
K2(z)dz
Erreur carrée moyenne (mean square error) MSE
I
On voit que
I La variancediminueavec la bandwidthh
I Le biaisaugmenteavec le carré de la bandwidthh
I Le biais augmente avec la dérivée 2ºde f()
I il est donc au + fort autour du/des pics de la distribution I
Les propriétés qu’on a vu ont lieu en un point
I
On peut intégrer le mse sur
zpour obtenir une mse globale
imsefˆ(x) =Z
msefˆ(x)dx
I
On cherche alors le kernel
Ket la bandwidth
hqui minimisent
imseErreur carrée moyenne (mean square error) MSE
I
Le Kernel optimal est
Ke(z) = ( 3
4p
5
1
15z2 p5
z p5
0
sinonqu’on appelle kernel d’Epanechnikov du nom de son inventeur
I
Il se fait que pas mal de kernels ont des propriétés semblables
I donc le kernel est souvent choisi pour des raisons informatiques
I le kernel gaussien est le + souvent choisi
Choix de bandwidth
I
Au contraire du Kernel,
I l’optimisation précédente n’amène pas à une bandwidth utilisable en pratique
I Mais la bandwidth détermine l’ajustement bien plus que le kernel
I
Il est important d’en choisir une appropriée au problème traité
I Il y a 4 grandes approches 1. Heuristique (rule of thumb) 2. Plug-in – je ne poursuis pas 3. Validation croisée
3.1 par MC 3.2 par MV 4. Bootstrap
Heuristique “référence”
I
Le principe est d’utiliser le kernel choisi pour calculer la bandwidth optimale
I
Comme souvent ce kernel est le kernel gaussien
I Ça donne une bandwidth de 1.06 n 1/5
I nest la taille d’éch.
I est l’écart-type de la normale utilisée dans le kernel
I en pratique, on prendˆl’écart-type de l’échantillon
Autres méthodes
I
Validation croisée par MC
I Il est possible d’estimer le imse à partir de l’éch.
I Cet imse dépend du bandwidth
I On peut alors choisir le bandwidth qui minimise l’imse
I Cette approche est la meilleure de celles présentées
I mais est sensible à de petites variations des données (arrondis...)
I
Validation croisée par maximum de vraisemblance
I Même idée que la précédente, autre façon d’estimer le imse
I Tend à sur-lisser (gommer les variations)
I
Par bootstrap
I Toujours l’idée d’estimer le imse
I Trop exigeante sur le plan calculatoire
Conclusion
I
On pourrait poursuivre avec
I Comment estimer une densité discrète
I Comment estimer une multivariée
I Illustration graphique prochaine dia I
On va plutôt passer à l’analyse conditionnelle
I Prélude à la régression
I
Sur l’estimation d’une densité inconditionnelle
I La comparaison n’est pas tellement “paramétrique” vs. np
I car paramétrique est souvent mal spécifié, donc inconsistant
I alors que np ne peut pas être mal spécifié
I mais par contre est assez inefficient
Estimations de densités multivariées par np dans R ! np2016.r
I #### dynamic bivariate density plot avec donnees simulees
I Exécuter le programme
I Sélectionner tout le progr
I jusque#### FIN dynamic bivariate density plot simulation normales
I et “run”
I Mettez en grand la fenêtre de sortie + zoom out
I ‘sliders’ and ‘pickers’ qui permettent de changer
I kernel function, kernel order, scale factors, azimuthal viewing direction, number of training, and number of evaluation observations
I et immédiatement voir l’impact I
Idem
I #### dynamic bivariate density plot avec donnees réelles Geyser
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Estimation d’une densité conditionnelle
I
La densité conditionnelle est sous-jacente à l’analyse de régression
I Mais est rarement modélisée directement
I En np, il est plus clair de passer par cette étape
I
Soit
f (.)la densité jointe de
(X,Y)I pour rappel Pr{X x,Y y}=RxRy
f (.)dydx =f(x,y)
I µ(.)la densité marginale de X
I µ(.) =R f(.)dY
I “integrateY out”
I
Pour la suite,
I Y est la variable dépendante
I est expliquée
I X est un régresseur
I est explicative
Densité conditionnelle
I
La densité conditionnelle est
Pr
{Y y|X x}=g(y|x) =f (x,y)/µ(x)I
L’estimateur noyau de cette densité est
ˆg(y|x) = ˆf (x,y)/µˆ(x)
I µ(xˆ )est l’estimateur noyau univarié vu à la section précédente
I fˆ(x,y)est une extension bivariée de cet estimateur
I Il faudrait discuter le choix de bandwidth
Densité conditionnelle : R ! np2016.r
I #### Least-squares cross-validated conditional density estimation
I Prend un peu de temps, selon la machine
I Peu d’output car pas 1 regression
I Plot possible
I on voit un graphique mal orienté
I Surtout là pour illustrer une commande interne
I Rarement appelée directement I
Exercice
I Changer les parmètres de la normale bivariée
I corrélation élevée, ou
I moyennes non-nulles
I variances fort différentes
Régresseurs non-pertinents
I
On voit bien que pour estimer une fonction
g(.)I conditionnelle à pls régresseurs
I il faut intégrer pls fois
I pour obtenir la distribution multidim. des régresseurs I
On peut montrer que la convergence de
fˆ(.)à
f (.)I détériore rapidement lorsque le nombre de variables continue augmente
I “malédiction de la dimensionalité”
I
Il est donc important en np
I d’éviter les régresseurs non-pertinents
I Idéalement, ils sont “smoothed out” :
I Pour unx non pertinent, le graphe dey reste le même pour tous les niveaux dex
Régresseurs non-pertinents
I
Hall et al. (2004) montre que
I Une version de la validation croisée par MC
I assigne automatiquement un fort paramètre de lissage aux régresseurs non-pertinents
I leur dist. marginale tend à l’uniforme
I cela supprime leur contribution à la variance de l’estimateur
I et donc montre qu’ils sont indép. de la variable expliquée
I Les variables pertinentes par contre sont lissées de façon usuelle
I Pas vers l’uniforme
I
Donc choisir la validation croisée par MC
I permet de trier les régresseurs pertinents et non.
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Cas bivarié
I
Cet estimateur de régression est connu aussi sous le nom
“Nadaraya–Watson”
I de ceux qui l’ont proposé
I
On ne prend qu’un régresseur pour commencer
I par simplicité de notation
Moyenne conditionnelle g ˆ (x )
I
Par définition, la moyenne conditionnelle de
Ycontinue est
g(x) =Z
yg(y|x)dy = Z
yf (y,x)
f (x) dy = m(x) f (x)
où
g(y|x)est la densité conditionnelle de la section précédente et
m(x) =Ryf (y,x)dy
I
L’estimateur Kernel Local Constant KLC
I est celui défini à la section précédente
ˆ g(x) =
Z
yfˆ(y,x) fˆ(x) dy=
Pn i=1yiK
✓xi x h
◆
Pn
i=1K
✓xi x h
◆
I c’est un estimateur consistant de la moyenne conditionnelle
Biais et variance
I
L’estimateur Kernel Local Constant KLC
I souffre de “biais sur les bords”
I p.e. on peut calculer dans le cas bivarié que biais th2 1
2g00(x) +g0(x)f0(x) f (x)
!
2
I Quand on approche du “bord” des données
I f(x)!0 donc le biais augmente
I Ce problème n’est pas partagé par l’estimateur “polynome local” de la section suivante car le 2ºterme à l’intérieur de la parenthèse disparait dans le cas linéaire
Bandwidths : optimale et basée sur données
I
La bandwidth optimale de l’estimateur KLC
I dépend de quantités inconnues, comme précédemment
I Elle ne peut être calculée dans le cas de régression
I On va donc utiliser une bandwidth basée sur les données
I
Deux calculs de bandwidth basés sur les données
I Sont populaires
I Validation croisée moindres carrés (cfr section précédente)
I Minimiser le critère d’information d’Akaike (Hurvich)
I On a montré qu’ils sont asymptotiquement équivalents
Régresseurs pertinents et non-pertinents
I
Il a été montré (cfr sect. densité cond.) que
I la validation croisée par MC
I mène à un lissage optimal des 2 types de régresseurs
I Les non-pertinents n’ont plus d’effet sur la variance de l’estimateur
I
La malédiction de la dimensionalité
I implique que les non-pertinents doivent être retirés de la régression
I afin de réduire le bruit autour des pertinents
Effets marginaux avec KLC “ ˆ (x )”
I
On appelle “effet marginal” ou “réponse”
I L’effet dex surg(x) =R
yg(y|x)dy
I donc sur la moyenne conditionnelle dey
I Par analogie avec le modèle de régression linéairey =x +✏
I on appelle cette réponse (x) I (x) =@g(x)
@x = f (x)m0(x) m(x)f0(x) f2(x)
I puisqueg(x) = m(x) f(x)
I donc (x) = m0(x)
f (x) g(x)f0(x) f (x)
I
On remplace par les estimations de ces valeurs
Effets marginaux avec KLC “ ˆ (x )”
I ˆ (x) =mˆ0(x)
fˆ(x) gˆ(x)fˆ0(x) fˆ(x)
avec
I mˆ(x) = 1 nh
Pn i=1yiK
✓xi x h
◆
I mˆ0(x) = 1 nh2
Pn i=1yiK0
✓xi x h
◆
I fˆ(x) = 1 nh
Pn
i=1K
✓xi x h
◆
I fˆ0(x) = 1 nh2
Pn i=1K0
✓xi x h
◆
I
Attention
I L’effet marginal n’est jamais constant comme en régression linéaire
I On verra mieux dans les exemples I
En multivarié (plusieurs régresseurs)
I C’est plus compliqué
I Mais le fond est le même
Conclusion de la sous-section
I
On a donc un estimateur de régression np
I Kernel Local Constant
I à Validation croisée moindres carrés
I pour laquelle
I Les régresseurs non-pertinents disparaissent d’eux mêmes
I on peut calculer les effets marginaux I
On va voir un autre estimateur
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Analogie
I
Le KLC peut être réécrit comme minimisation de
ˆg(x)⌘min
a
Xn i=1
(yi a)K
✓xi x h
◆
I
On généralise en mettant un polynome à la place de
aI Le plus populaire est le linéaire ˆ
g(x)⌘min
a,b
Xn i=1
(yi a b(xi x))2K
✓xi x h
◆
qui s’interprête en disant qu’autour d’un pointx0, la régression est approx. linéaire
g(x0)ta+b(x0 x)
I C’est l’estimateur Kernel Local Polynomial (ou linéaire) KLP ou KLL
Propriétés
I
Le terme
aest alors la moyenne conditionnelle
g(x)I Comme l’intercept dans une régression linéaire
I
Le terme
best la pente,
I donc l’effet d’un changement marginal dex surg(x)
I c’est-à-dire le ˆ (x)de l’estimateur KLC
I
Cet estimateur KLP souffre moins du “biais de bord” que KLC
I mais est sujet à des problème de singularité
I lorsqu’il y a localement peu de données I
On peut calculer des biais et variances approximés
I comme avec KLC
I
Les régresseurs non-pertinents
I ne disparaissent pas d’eux-mêmes
I ne sont pas “smoothed-out” comme avec KLC
I provoquent une variabilité excessive
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Un exemple simulé bivarié ! np2016.r
I #### Regr. ex. sim. bivarie
I Sortie postcript
I Juste pour montrer les options
I Si ça ne marche pas pour vous, remplacez par pdf
I ou exécutez seulement la commande plot
I Les graphes ne sont pas très “smooth”
I C’est parce que n est petit (50)
I Les sorties sont assez pauvres
I Pas aussi clair que pour lm( )
I Sauf les graphiques
I
Exercice. Répétez le programme en changeant
I la taille d’éch. à 100
I la façon de générery
I p.e. comme la somme ou le ratio de 2 normales pour avoir une dist. bimodale
Ex. Comparaison des méthodes de choix de Bandwidth ! np2016.r
I #### Regr. ex. bandwidth
I
5 bw
I 2 arbitraires : under & over
I 2 cross-validation : Moindres carrés et AIC
I 1 plug-in
I
Plot en 4 tableaux
I Regroupe les 2 cv
I
Exercice
I séparer le plot des 2 cv en 2 et supprimer le plug-in
I Changer les 2 bw arbitraires under et over pour les reserrer
Et le t dans tout ça ?
I
Comment voit-on la significativité de l’effet marginal ?
I
Les graphes mettent des intervales de confiance
I On va voir ça dans le prochain exemple
I
La section suivante “Test d’hypothèse consistant”
I présente des tests formels (non graphiques)
Ex. Multivariate Mixed-Data Application ! np2016.r
I #### Ex. regr. mixte (cont. & cat)
I Part 1 et part 2
I Constater graphiquement que la significativité n’est pas constante
I Puisque l’intervalle de confiance évolue selonx I
Exercice
I Répliquer en changeant la CV ou le kernel (LC au lieu de LL)
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Intro
I
On ne revient pas sur les tests np de la 1º partie du cours
I il s’agit de tests en contexte de régression
I
Soit tester une spécification paramétrique
I Permet de justifier une approche np
I
Soit tester la significativité des régresseurs d’une régression np
I l’équivalent des t-stats
I Un régresseur parmi pls
I On n’a pas d’équivalent au testF
Un test de significativité pour des régressions np
I
Il y a pls approches
I On prend ici celle de Racine qui accepte des régresseurs continus & cat.
I
On va regarder d’abord cat.
I puis continu
Un test de significativité : régresseurs catégoriques
I
Soit
I z le régr. cat qui peut être non-pertinent
I X tous les autres régresseurs
I L’hyp. nulle est
H0:E(Y|X,z) =E(Y|X) presque partout
L’alternative est que l’égalité est en fait6=(2-tailed)
I
Pour simplifier on écrit
I g(x) =E(Y|x)etm(x,z) =E(Y|X,z)
I disons que z prendc valeurs dont la 1ºest zéro
I sic=2, z est une dichotomique, le cas le + fréquent
I H0peut alors s’écrirem(x,z =l) =m(x,z =0)8l
Un test de significativité : régresseurs catégoriques
I
La stat de test est
I =
c 1
X
l=1
Enh
m(x,z =l) m(x,z =
0)
2ioI
Pour la calculer
I On prend les valeurs estimées par KLC ou KLL dem
I On somme sur toutes lesl6=0
I et sur toutes les obs.
I On voit bien queI 0
I et quez est non signif. siI est proche de zéro I
Il n’y a pas de distribution connue
I Il faut faire du bootstrap
I Mis en oeuvre dansnpsigtest( )
I On verra dans l’exemple
Un test de significativité : régresseurs continus
I H0
est la même,
I mais “presque partout”
I car on a en quelque sorte1catégories
I Équivalent à @E(y|x,z)
@z = (z) =0 presque partout
I
La stat de test est
I =En[ (z)]2o
I On calcule son estimation KLC ou KLLIn=1nPn
i=1ˆ (zi)2
I Comme dans le cas catégorique, la dist. deIn est inconnue
I On utilise bootstrap
Ex. Multivariate Mixed-Data Application ! np2016.r
I
On poursuit l’exemple précédent – part 3
I # Part 3 Tests de significativite
I Simple : on passe l’objet bw
I
Le package
I distingue le cat et le cont
I fait le test adéquat
I
Pas de test sur plusieurs coef conjointement
Tester une spécification paramétrique
I
On veut tester si un modèle
param. est correct H0 : E(Y|x) =m(x, 0)pour presque tous les
xpour un certain
0vecteur
(p⇥1) de paramètres
et
m(x, )une fonction connue (possiblement non-linéaire(
I
En définissant
µi =yi m(xi, 0)
alors on peut écrire
Ho : E(µi|xi) =
0
pour presque toutes les valeurs possibles de
xTester une spécification paramétrique
I
Une idée pour construire la stat de test est
I de dire que comme il faut vérifierH0 pour presque tous lesx
I on pourrait calculerE(µi|xi)pour chaquex
I prendre le carré
I et regarder si la somme de ces carrés ne devient pas trop grande
I Comme on faisait dans le test du 2 I
Comme on ne voit pas plusieurs
xI Il faut calculer la somme des carrés indirectement
I En utlisant les résidusµˆi du modèle paramétrique
I Et une technique de bootstrap
I La stat calculée se nommeJn I Mis en oeuvre dansnpcmstest( )
Tester une spécification paramétrique – exemple ! np2016.r
I
On poursuit l’exemple précédent – part 4
I # 4. Test de specification param.
I On prend un modèle linéaire classique du modèle np qu’on a estimé auparavant
lwage= 0+ 1Femme+ 2Marie´+ 3Educ+ 4Exp+ 5Tenure Rem. Tenure = job permament, possiblement CDI
I Ici, on obtient une p-valeur <5% largement
I R le modèle linéaire I
Exercice
I Refaites le test en ajoutant l’exp. quadratique
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Qualité de l’ajustement (Goodness-of-Fit)
I
Essentiellement, une mesure de
R2en np
R2 = [Pni=1(yi y) (ˆ¯ yi y¯)]2 Pn
i=1(yi y)¯ 2Pn
i=1(ˆyi y¯)2 ˆ
yi
est la valeur ajustée de
yiI doncˆg(xi)
I
0
R2 1
I 1 est un ajustement parfait
I 0 aucun pouvoir prédictif au-delà de la moyenne inconditionnelle
I
Dans le cas d’un modèle linéaire
I estimé par MCO
I avec un intercept
I Cette définition duR2 produit le même chiffre que la définition classique
I basée sur les résidus
Régression np – résumé de l’approche kernel
I
D’abord il faut calculer une bw
I bw.all<- npregbw
I on peut préciser ici LL ou LC & la cross-validation I
Ensuite la régression
I model.np <- npreg(bws=bw.all)
I summary(model.np) présente la qualité de l’ajustement
“R-squared”
I À ce stade on peut “plot”
I avec les marges d’erreur I
Puis les tests
I Significativité des régresseurs
I Spécification paramétrique
I Si celle-ci n’est pas rejetée, mieux vaut l’utiliser, car + efficiente
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Rappel
I
Un panel est une coupe transversale
I répétée dans le tempst
I en principe sur les mêmesi
I sauf attrition, qu’on suppose non-endogène
I Pour simplifier tous lesi sont observésT fois I
Lorsque
Test grand
I chaque série dei peut analysée séparemment en séries temp.
I qu’on ne voit pas pour np
I
Donc, on se place en panels courts :
n! 1mais
Tcst
I
Les données de panel sont notées
hyit,xitiPanels non-paramétriques
I
Dans le modèle panel linéaire
yit=↵i +xit0 +✏it
on pouvait accepter que
I ↵i soit la partie constante dans le temps, pari, du terme d’erreur
I qu’elle soit corrélée avecxit (les “effets fixes”)
I car on pouvait s’en débarrasser par les estimateurs within ou différence 1º
I Cette hyp. d’additivité de l’hétérogénéité inobservée
I Fait disparaitre les régresseurs constants dans le temps
I Alors que c’est svt eux qu’on voudrait étudier I
En np, on n’a pas d’hyp. d’additivité
I Un série d’estimateurs ont été proposés
Panel dans np
I
Le package np propose l’estimateur suivant
I
Soit le modèle np
yit =g(xit) +uit
g(.)
est une fonction lisse inconnue
xcontient
qrégresseurs
E(uit|xi1, . . . ,xiT) =
0 exogénéité stricte
I
On introduit l’hétérogénéité inobservée constante dans le temps
I par une variable discrètenon-ordonnée
i=i,i =1, ...,n ce qui introduit de faitncatégories
I Ces cat nous rapprochent du contexte de la régression np
I avec un mélange de régresseurs cat. et continus
Panel dans np
I
Si le “régresseur” catégorique n’est pas significatif
I Les pentes sont les mêmes pour tous les régresseurs
I Cela pointe donc vers un intercept différent pari
I si les moyennes conditionnelles pari sont différentes entre elles I
Par contre, s’il est significatif
I Les pente pari sont différentes
I Donc les données de différents i ne sont pas mélangeables
I
L’analyse Panel n’est donc pas complètement implémentée dans np
I Car l’endogénéité ne parait pas traitée / éliminée comme avec effets fixes
I mais np apporte un complément d’analyse
Panel dans np – exemple ! np2016.r
I #### Ex. regr. panel
I Ex. Répliquer en changeant CV ou kernel (LC / LL)
I
Panel annuel sur les coûts de 6 cies aériennes US
I 15 ans 1970 à 1984 (cylindré)
I airlinei traité comme factor non-ordonné
I yeart factor ordonné
I log of cost lcost, log output (passagers⇥miles), log prix fuel lpf, “load factor” lf capacité utilisée moyenne de la flotte
I
BW : petite pour “airline”
I suggère de ne pas mélanger les données
I
Dans le plot diapo suivante
I On voit un effet marqué par airline (t↵i)
I Mais des pentes plutôt linéaires
I Indiquerait donc que les données sont assez homogènes pour être mélangée
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Méthodes semi-paramétriques sp
I
Assez populaires
I
Combinent des éléments des 2 approches
I Compromis
I S’appuient sur des paramètres
I Donc inconsistant en cas de fausse spécification I
Utiles lorsque
I La malédiction de la dimensionalité fait que le np ne fonctionne pas bien
I On veut utiliser un modèle paramétrique pour seulement une partie des régresseurs
I ...
I
Pas une méthodo
I plutôt un cahier de recettes propres à des cas particuliers
4 cas sp implémentés dans np
I
Extensions du modèle linéaire
I Modèles partiellement linéaires
I Les splines sont un autre cas partiellement linéaire
I Coefficients aléatoires
I
Modèles à index unique
I y dichotomique
I y inconnu
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Modèle partiellement linéaire
I
Modèle d’apparence simple
I Mais le calcul de bandwidth le rend assez lourd
I Bien plus qu’un modèle paramétrique
I Du moins quand on base la bandwidth sur les données I
Un modèle sp linéaire
yi =xi0 +g(zi) +ui
x
et ont la signification habituelle avec
prégresseurs
I un’est pas corrélée avecx ou z
I mais peut être hétéroscédastique
I z comprendq régresseurs
I g()n’est pas spécifiée
I
L’important est d’obtenir un estimateur consistant de
I Puisque quand on l’a,g()est estimée par régression np de y xˆsurg(x)
Estimation de
I
Dans le modèle sp linéaire
yi =xi0 +g(zi) +ui
on prend l’espérance conditionnelle à
zE(yi|zi) =E(xi|zi)0 +g(zi)
en soustrayant les 2 :
yi E(yi|zi) = (xi E(xi|zi))0 +g(zi) +ui I
On ne connait ni
E(yi|zi)ni
E(xi|zi)I Mais on peut les estimer par regr. np de façon consistante
I Régression car espérance conditionnelle
Estimation de
I
Soit
Eˆ(yi|zi)et
Eˆ(xi|zi)ces estimations
I
On écrit
˜
yi =yi Eˆ(yi|zi)
et
x˜i =xi Eˆ(xi|zi)alors
ˆp.lin´eaire =h
X˜0X˜i 1 X˜0Y˜
I
À présent, on réécrit le modèle sp linéaire
yi xi0ˆp.lin=g(zi) +✏ioù le
uidevient un
✏iI pour souligner qu’au lieu de , on utilise ˆp.lin
I Ce modèle est alors estimé par une des techniques np vues
Modèle partiellement linéaire – exemple ! np2016.r
I
Données Wage 1
I Comme précédemment
I ### Modele partiellement lineaire
I Commande principale
I npplregbw pour la bw
I npplreg(bw) pour la régression
I Bug pour le plot ?
I Exercice : au lieu de exper, traiter educ comme non-linéaire
I Exper en quadratique
I Exercice : traiter educ et exper comme non-linéaires
I
Les t-stats ?
Modèle à coefficients aléatoires
I
Coefficients “lissés” ou “variables”
8>
>>
><
>>
>>
:
yi =↵(zi) +xi0 (zi) +ui
=⇣
1
+xi0⌘ ↵(zi) (zi)! +ui
=wi0 (zi) +ui
I
en mots : les coef
↵et sont des fonctions de
zI non-spécifiées & lisses
I comme ça, on va pouvoir les estimer par np
Modèle à coefficients aléatoires
I
Prémultiplier par
wiI et prendre l’espérance conditionelle àzi
E[wiyi|zi] =Eh
wiwi0|zii
(zi) +E[wiui|zi] (zi)sort de l’espérance car il est déjà conditionnel àzi I
On se retrouve dans une situation proche du modèle
partiellement linéaire
I On peut exprimer (zi)comme dans MCO (zi) = (E[wiyi|zi]) 1Eh
wiwi0|zii
I Les espérances conditionnelles surzi peuvent être estimées par np
I En utilisant l’ensemble de l’échantillon, pas L à L
Modèle à coefficients aléatoires – exemple ! np2016.r
I
Données Wage 1
I ### Modele a coefficients aleatoires
I Commande principale
I npscoefbw pour la bw
I npscoef(bw,betas=TRUE) pour les coef
I Assez peu d’output
I Comment interprêter les moyennes des coefs aléatoires ?
I
Exercice
I Essayer de calculer les t-stats (sans garantie)
I
Sommaire
Estimation de fonction de densité et probabilité
Histogramme Choisir la bandwidth Estimation d’une densité conditionnelle
Régression
Kernel Local Constant KLC Kernel Local Polynomial KLL
Exemples
Test d’hypothèses Qualité de l’ajustement Modèles à données de panel Modèles semiparamétriques
Intro
Extensions du modèle linéaire Modèles à index unique Résumé
Index unique / “Single index”
I
Modèles de forme
yi =g⇣ Xi0 ⌘
+ui
où les notations sont celles du MRL avec
qrégresseurs
et
E(ui|Xi) =0
I Xi0
est une forme linéaire (= un index)
I dont on ne connait pas les paramètres
I
Lorsque
g()est
I identité : MRL
I La fonction de probabilité Logistique ou normale : Logit / probit
Single index semi-paramétriques
I
On a un modèle semi-paramétrique lorsque
I g(.)est une fonction inconnue, non-spécifiée
I “Semi” car paramètres
I inconnus également I
+ flexible que paramétrique
I moins susceptible à la malédiction de la dimensionalité
I carxi0 est de fait un seul régresseur
I On appelle cela une “réduction de la dimensionalité”
I Donc convergence + rapide de l’estimation
Identification
I
Avant de pouvoir estimer,
I il faut que le modèle soit identifiable
I c’est-à-dire qu’il ait la capacité de produire une estimation
I et que ce soit de manière unique I
Plus précisément, si on a
1obs.
I peut-on théoriquement découvrir les vrais paramètres (ou fonction) du modèle de manière unique ?
I
Ex. 1. le MRL
y =↵+X +✏,
E(✏|x) =0 est identifiable
I ssiX0X est invertible
I
Ex. 2. Modèle probit Pr
(↵+X +✏<0)
I Soity=1 ssi ↵+X +✏<0,✏⇠n 0, 2
I Comme(↵+X +✏<0) () a(↵+X +✏<0),a>0,
I il résulte que 2 n’est pas identifiable
I Probit est partiellement identifiable avec ce type de données
Identification des modèles single-index
I
Le MRL comme Probit sont 2 cas particuliers de single index
I On voit donc 2 conditions d’identification
I Il faut aussi queg()ne soit pas une fonction constante
I g(X ) =c8X
I
Soit 2 constantes quelconque et
6=0, alors
I E(Y|X =x) =g⇣ x0 ⌘
et
I E(Y|X =x) =g⇤⇣
+ x0 ⌘
I sont dites “observationnellement équivalentes”
I Même si on connaissait la distribution de(Y,X)
I On ne pourrait pas distinguer ces 2 modèles (savoir lequel est le bon)
I Il faut donc des restrictions additionnelles
I pour identifier etg()
Identification des modèles single-index
I
La restriction sur est appelée
normalisation de localisationI Le point glisse sur le support
I Essentiellement la moyenne
I Est obtenue en imposant queX ne contienne pas de constante
I (y compris des combinaisons lin. des col. deX) I
Sur :
normalisation d’échelleI Essentiellement la variance, la dispersion
I Est obtenu en imposant qu’un des coef. de soit égal à un
I
Il faut aussi que
I g()soit différentiable (sans preuve)
I un au moins des éléments deX soit une variable continue
I diapo suivante
Single-index à variables catégoriques uniquement
I
Soit
X = (X1,X2)à supports
{0,1} pour les 2 éléments de
XI On normalise le coef deX1 à 1
I Normalisation d’échelle
I Le modèleE(Y|X =x) =g⇣ x0 ⌘
devient
I E(Y|X =x) =g(x1+x2 2) I
Supposons que les données soient t.q.
(x1,x2) E(Y|X =x) g(x1+x2 2)
(0,
0) 0 g(0)
(1,
0) 0.1 g(1)
(0,
1) 0.3 g(
2)(1,
1) 0.4 g(1
+ 2)I
Comme on peut choisir à la fois
g()et
2I il y a1de solutions : pas identifié
2 cas sont traité dans le package np
I
Ichimura :
yest continu
I
Klein & Spady :
yest une dichotomique
I Intéressant car on n’a pas d’équivalent logit/probit en np
Ichimura : y est continu
I
Si on connaissait
g()I On pourrait estimer par Moindres Carrés Non-Linéaires ˆ⌘arg min1
n X
i
Wi(yi g(x))2
Wi est un poids, sur lequel on ne s’attarde pas ici
I À cause de la non-linéarité deg():
I Il n’y a pas de solution analytique
I On n’a que des approches numériques I
On ne connait pas
g()I Et on ne peut pas appliquer un estimateur Kernel
I car on ne connait pas
I
Ichimura propose une modification de MC non-lin.
I dans laquelleg()est estimé par un kernel modifié
Ichimura – exemple ! np2016.r
I
Même exemple avec wage1 qu’on a déjà utilisé
I ### Ichimura
I
L’estimateur d’Ichimura est invoqué en 2 étapes comme toujours
I npindexbw pour la bandwidth
I pour les coefficients
I
La fonction
g()n’est pas dans l’output
I puisqu’on l’estime de façon np
I Par contre la commande semble accepter de calculer un gradient
I Exercice : plot du gradient
I Les coefficient sont comparables avec un modèle linéaire
I au sens où on peut comparer leur impact relatif I
La méthode est intensive en ordinateur
I Avec bcp de données : long
Estimateur de Klein & Spady
I
Ici,
yest dichotomique
I Alorsg⇣ xi0 ⌘
=Pr{Y =1|X =xi}
I
Si
g()était connue,
I alors l’estimation se ferait par max. vraisemblance
I Avant de poursuivre, on va faire un rappel sur MV
Maximum de vraisemblance
I
La fonction de densité de probabilité d’une va
yI conditionnellement à des paramètres✓
I est notéef(y|✓)
I
Si on a un éch. de
nobs. iid de cette va
I Alors, on peut définir la densité jointe de l’éch. comme le produit des densités de chaque obs.
f (y1, ...,yn|✓) = Yn i=1
f(yi|✓) =L(✓|y)
I Cette densité jointe est appeléefonction de vraisemblance (likelihood)
I Très souvent, on prend le log lnL(✓|y) =
Xn i=1
lnf (yi|✓)
Maximum de vraisemblance
I
Il est souvent nécessaire de généraliser pour introduire des régresseurs
I
Soit le MRL
yi =xi +✏iI On suppose que✏est normale
I avec moyenne 0 & variance 2
I Doncyi est normale
I avec moyenneµi=xi et variance 2 I
Donc, les obs. de la va
ne sont pas iidI Elles ont des moyennes différentes
I Mais elles restent indépendantes
I Et on peut les standardiser pour qu’elles aient la même moyenne
I Ça donne la fonction de vraisemblance lnL(✓|y,X) =P
lnf (yi|xi,✓) = 12Pn i=1
hln 2+ln(2⇡) + (yi xi )2/ 2i
Maximum de vraisemblance : Probit
I
Le même MRL avec un seul régresseur + 1 cst
yi = 1+ 2xi +✏ioù
✏i|xi ⇠n0
, 2I
Context d’un achat important, p.e. une voiture
I xi est le revenu dei
I yi est la 6=entre la disposition à payerpi⇤, et le prix de la voiturepi
I
On n’observe pas
yimais seulement si
iachète la voiture ou non
I Soityi⇤=1 lorsqueyi=pi⇤ pi >0
I Et doncyi⇤=0 sinon
I (quels sont cesi qu’on “n’observe pas” acheter ?)
Maximum de vraisemblance : Probit
I
La proba d’achat est
Pr
{yi⇤=1|
1, 2, ,xi} =Pr
{yi >0|
1, 2, ,xi}=
Pr
{ 1+ 2xi +✏i >0|
1, 2, ,xi}=
Pr
{✏i > 1 2xi| 1, 2, ,xi}=
Pr
{✏i/ >( 1 2xi)/ | 1, 2, ,xi}=
Pr
{zi >( 1 2xi)/ | 1, 2, ,xi}où
zia une dist. normale standard
I