Lissage et estimation fonctionnelle avec R -...

37
 SEMIN- Lissage et estimation fonctionnelle avec R Christophe POUZAT Laboratoire de Physiologie Cérébrale CNRS ULR 8118, Université Paris-Descartes SEMIN-R du MNHN | 12 Février 2009

Transcript of Lissage et estimation fonctionnelle avec R -...

   

SEMIN­Lissageet estimation fonctionnelle avec R

Christophe POUZATLaboratoire de Physiologie CérébraleCNRS ULR 8118, Université Paris­Descartes

SEMIN­R du MNHN | 12 Février 2009

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Lissage et estimation fonctionnelle avec R

Christophe Pouzat

Laboratoire de Physiologie Cerebrale, CNRS UMR 8118, UniversiteParis-Descartes

e-mail: [email protected]:

http://www.biomedicale.univ-paris5.fr/physcerv/C_Pouzat.html

12 Fevrier 2009

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

De quoi va-t-on parler ?

Preliminaires : les donnees

Caracterisation des reponses aux odeurs

Le probleme

Homogeneite et stabilisation de la variance

Splines de lissage

General Smoothing Spline

La fonction smooth.spline

Retour aux donnees

La suite

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Enregistrement in vivo dans le premier relaisolfactif d’un insecte

Une blatte (Periplaneta americana) “en position” avec lasonde d’enregistrement. Photos par Laurent Moreaux etAntoine Chaffiol.

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Donnees brutes et detection

Vue de l’exterieur, l’activite des neurones se manifeste parl’emission d’impulsions electriques tres breves : les potentielsd’actions. Enregistrements par Nicole Lindemann et AntoineChaffiol.

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

D’autres techniques sont aussi applicables a cesysteme

Un exemple d’enregistrement de patch-clamp couple al’imagerie calcique. Ici une cellule unique est enregistree.Donnees obtenues par Moritz Paehler et Peter Kloppenburg(Universite de Cologne).

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Proprietes des decharges ”brutes”

Sur des temps courts (ici 5 s) les decharges sont bienapproximees par des processus de Poisson.

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Un exemple de reponse a une stimulationolfactive

Il est difficile de distinguer quoi que ce soit avec ce type derepresentation (la valve controllant l’arrivee de l’odeur estouverte dans la partie grisee).

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Estimation de la frequence de dechargeinstantanee par moyennage des reponses

En “moyennant” les reponses des 20 stimulations et endiscretisant le temps on obtient quelque chose de plus clair(taille de la fenetre de discretisation : 10 ms).

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Estimation de la frequence de dechargeinstantanee par moyennage des reponses

En “moyennant” les reponses des 20 stimulations et endiscretisant le temps on obtient quelque chose de plus clair(taille de la fenetre de discretisation : 50 ms).

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Estimation de la frequence de dechargeinstantanee par moyennage des reponses

En “moyennant” les reponses des 20 stimulations et endiscretisant le temps on obtient quelque chose de plus clair(taille de la fenetre de discretisation : 250 ms).

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Le probleme : quelle taille de bin choisir ?

Decharge du reseau entre 5.5 et 8.5 s en reponse au melange.

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Un peu de formalisme

I Toutes les fonctions de R que nous allons voirconsiderent (au moins dans leur version de base) que lesobservations, Yi , et le predicteur (variable indepenante),xi (i = 1, . . . , n) sont relies par le modele de regression :

Yi = η(xi ) + εi , i = 1, . . . , n

I Les εi sont supposes etre des variables aleatoiresindependantes et identiquement distribuees (IID) demoyenne 0 et de variance σ2.

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Homogeneite de la variance

I Avant d’aller plus loin il peut-etre utile de verifier quel’hypothese IID pour les εi est raisonnable.

I On peut le faire avec un Bootstrap enre-echantillonnant les 20 stimulations.

I Commencons par calculer le nombre total d’evenementspar bin :

> citronC <- sapply(allCitron,+ function(l) {+ hist(l,seq(1,14,0.05),plot=FALSE)$counts+ } )> citronC.hat <- apply(citronC,1,sum)

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Homogeneite de la variance

I L’estimateur de bootstrap du nombre totald’evenements par bin est alors :

> citronC.boot <- sapply(1:1000,+ function(idx) {+ myCol <- sample(1:20,20,replace=TRUE)+ bootD <- citronC[,myCol]+ apply(bootD,1,sum)+ }+ )> citronC.hat.var <- apply(citronC.boot,1,var)

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Homogeneite de la variance

Ici les εi dependent clairement des η(xi ).

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Stabilisation de la variance

I On se souvient que les decharges spontaneescorrespondent approximativement a des processus dePoisson (homogenes).

I On peut alors penser que les reponses aux odeurscorrespondent approximativement a des processus dePoisson inhomogene.

I On se souvient aussi qu’une distribution de Poisson deparametre ≥ 15 est approximativement gaussienne avecune variance egale a la moyenne.

I On se souvient peut-etre que la racine carree d’unevariable aleatoire de Poisson (de parametre ≥ 15) estapproximativement gaussienne de variance 0.25 quelquesoit la valeur du parametre.

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Stabilisation de la variance

> citronSC.hat <- sqrt(apply(citronC,1,sum))> citronSC.hat.var <- apply(sqrt(citronC.boot),+ 1,var)

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Stabilisation de la variance

Ici les εi dependent nettement moins des√η(xi ).

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Distribution des√

η(xi)

Graphes quantiles-quantiles des√η(xi ) obtenus par

bootstrap (reponse au citronellal, bin de 50 ms).

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Smoothing Splines 1

Given data :

Yi = η(xi ) + εi , i = 1, . . . , n

where xi ∈ [0, 1] and εi ∼ N(0, σ2), we want to find ηλ

minimizing :

1

n

n∑i=1

(Yi − ηλ(xi ))2 + λ

∫ 1

0

(d2ηλ

dx2

)2dx

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Smoothing Splines 2

●●●

●●●

●●

●●

● ●

●●●

●●

●●

●●

● ●●

●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

−4

−2

02

4

A simple example with simulated data

x

y

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Smoothing Splines 3

It can be shown (but it’s not exactly trivial) that, for a givenλ, the solution of the functional minimization problem canbe expressed on a finite basis :

ηλ(x) =m−1∑ν=0

dν φν(x) +n∑

i=1

ci R1(xi , x)

where the functions, φν(), and R1(xi , ), are known.

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Smoothing Splines 4

0.0 0.2 0.4 0.6 0.8 1.0

−0.

6−

0.4

−0.

20.

00.

20.

4

Cst. unpenalized term

x

0.0 0.2 0.4 0.6 0.8 1.0

−0.

6−

0.4

−0.

20.

00.

20.

4

Linear unpenalized term

x

0.0 0.2 0.4 0.6 0.8 1.0

−0.

6−

0.4

−0.

20.

00.

20.

4

Penalized basis fct # 20

x

0.0 0.2 0.4 0.6 0.8 1.0

−0.

6−

0.4

−0.

20.

00.

20.

4

Penalized basis fct # 40

x

0.0 0.2 0.4 0.6 0.8 1.0

−0.

6−

0.4

−0.

20.

00.

20.

4

Penalized basis fct # 60

x

0.0 0.2 0.4 0.6 0.8 1.0−

0.6

−0.

4−

0.2

0.0

0.2

0.4

Penalized basis fct # 80

x

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Smoothing Splines 5 : What about λ ?

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

−4

−2

02

4

λλ == 0.5

x

y ●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

−4

−2

02

4

λλ == 0.05

x

y ●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

−4

−2

02

4

λλ == 0.005

x

y

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

−4

−2

02

4

λλ == 5e−04

x

y ●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

−4

−2

02

4

λλ == 5e−05

x

y ●

●●

●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0−

4−

20

24

λλ == 5e−06

x

y

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Smoothing Splines 6 : Cross-Validation

Ideally we would like λ such that :

1

n

n∑i=1

(ηλ(xi )− η(xi ))2

is minimized... but we don’t know the true η. So we chooseλ minimizing :

V0(λ) =1

n

n∑i=1

(η[i ]λ (xi )− Yi )

2

where η[k]λ is the minimizer of the “delete-one” functional :

1

n

∑i 6=k

(Yi − ηλ(xi ))2 + λ

∫ 1

0

(d2ηλ

dx2

)2dx

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Smoothing Splines 7

●●

●●

● ●

0.20 0.25 0.30 0.35 0.40

−4

−3

−2

−1

0

λλ == 0.5

x

y

●●

●●

● ●

0.20 0.25 0.30 0.35 0.40

−4

−3

−2

−1

0

λλ == 0.05

x

y

●●

●●

0.20 0.25 0.30 0.35 0.40

−4

−3

−2

−1

0

λλ == 0.005

x

y

●●

●●

● ●

●●

●●

●●

● ●

● ●

●●

●●

0.20 0.25 0.30 0.35 0.40

−4

−3

−2

−1

0

λλ == 5e−04

x

y

●●

●●

● ●

●●

●●

●●

0.20 0.25 0.30 0.35 0.40

−4

−3

−2

−1

0

λλ == 5e−05

x

y

●●

●●

0.20 0.25 0.30 0.35 0.40−

4−

3−

2−

10

λλ == 5e−06

x

y

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Smoothing Splines 8

−14 −12 −10 −8 −6 −4

1.2

1.4

1.6

1.8

log((λλ))

rss

GCV

Exact

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

−4

−2

02

4

λλ == 0.001581139

x

y

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Smoothing Splines 9 : The Theory (worked outby Grace Wahba) also gives us confidence bands

0.0 0.2 0.4 0.6 0.8 1.0

−4

−2

02

4Data, Conf. Band, Actual ηη

x

y ●

●●●

●●●

●●

●●

● ●

●●●

●●

●●

●●

● ●●

●●

●●

●●

●●

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

General Smoothing Spline

I La methodologie des splines de lissage avec parametrede lissage estime par validation croisee est mise enoeuvre dans le paquet gss (General Smoothing Spline)developpe par Chong Gu (Universite de Purdue).

I Nous utilisons d’abord la fonction ssanova0 :

> XX <- seq(1.025,13.975,0.05)> GF1 <- ssanova0(citronSC.hat ~ XX)

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Ajustement avec ssanova0

Les intervalles de confiance sont obtenus avec :

> estGF1 <- predict(GF1,+ newdata=data.frame(XX=XX),se=TRUE)

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Variation autour de ssanova0

I Avec ssanova0 il est possible de fixer la variance des εiau moment de la validation croisee :

> s2 <- mean(citronSC.hat.var)> GF2 <- ssanova0(citronSC.hat ~ XX,+ method="u",varht=s2)

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Variation autour de ssanova0

Il n’y a pas grande difference.

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Fonction smooth.spline

I Le paquet stats contient la fonction smooth.splinesimilaire a ssanova0 mais “moins puissante”.

I smooth.spline ne genere pas d’intervalles deconfiance.

> SF <- smooth.spline(XX,citronSC.hat,+ all.knots=TRUE)

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Fonction smooth.spline

Les intervalles de confiance sont ceux de ssanov0.

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

Retour aux donnees

Lissage etestimation

fonctionnelle avecR

Christophe Pouzat

Preliminaires : lesdonnees

Reponses auxodeurs

Le probleme

Variance

Splines de lissage

gss

smooth.spline

Retour auxdonnees

La suite

La suite

I On peut “jouer” avec d’autres arguments desmooth.spline, mais globalement, l’essentiel a etecouvert.

I ssanova0 peut-etre utilisee avec plusieurs predicateurs.

I Le paquet gss met en oeuvre des tests pour evaluer lerole de differents predicateurs.

I Avec gss, les εi peuvent avoir une distributionbinomiale, Poisson, inverse gaussienne, etc. Il faut alorsutiliser la fonction gssanova0.