Sunteți pe pagina 1din 37

SEMIN

Lissage
etestimationfonctionnelleavecR
ChristophePOUZAT
LaboratoiredePhysiologieCrbrale
CNRSULR8118,UniversitParisDescartes

SEMINRduMNHN|12Fvrier2009

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat

Lissage et estimation fonctionnelle avec R

Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs

Christophe Pouzat

Le probl`
eme
Variance
Splines de lissage

Laboratoire de Physiologie C
er
ebrale, CNRS UMR 8118, Universit
e
Paris-Descartes
e-mail: christophe.pouzat@gmail.com
web:
http://www.biomedicale.univ-paris5.fr/physcerv/C_Pouzat.html

gss
smooth.spline
Retour aux
donn
ees
La suite

12 Fevrier 2009

De quoi va-t-on parler ?


Preliminaires : les donnees
Caracterisation des reponses aux odeurs
Le probl`eme
Homogeneite et stabilisation de la variance

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage

Splines de lissage

gss
smooth.spline

General Smoothing Spline


La fonction smooth.spline
Retour aux donnees
La suite

Retour aux
donn
ees
La suite

Enregistrement in vivo dans le premier relais


olfactif dun insecte

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees

Une blatte (Periplaneta americana) en position avec la


sonde denregistrement. Photos par Laurent Moreaux et
Antoine Chaffiol.

La suite

Donnees brutes et detection

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Vue de lexterieur, lactivite des neurones se manifeste par


lemission dimpulsions electriques tr`es br`eves : les potentiels
dactions. Enregistrements par Nicole Lindemann et Antoine
Chaffiol.

Dautres techniques sont aussi applicables `a ce


syst`eme

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Un exemple denregistrement de patch-clamp couple `a


limagerie calcique. Ici une cellule unique est enregistree.
Donnees obtenues par Moritz Paehler et Peter Kloppenburg
(Universite de Cologne).

Proprietes des decharges brutes

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Sur des temps courts (ici 5 s) les decharges sont bien


approximees par des processus de Poisson.

Un exemple de reponse `a une stimulation


olfactive

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Il est difficile de distinguer quoi que ce soit avec ce type de


representation (la valve controllant larrivee de lodeur est
ouverte dans la partie grisee).

Estimation de la frequence de decharge


instantanee par moyennage des reponses

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

En moyennant les reponses des 20 stimulations et en


discretisant le temps on obtient quelque chose de plus clair
(taille de la fenetre de discretisation : 10 ms).

Estimation de la frequence de decharge


instantanee par moyennage des reponses

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

En moyennant les reponses des 20 stimulations et en


discretisant le temps on obtient quelque chose de plus clair
(taille de la fenetre de discretisation : 50 ms).

Estimation de la frequence de decharge


instantanee par moyennage des reponses

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

En moyennant les reponses des 20 stimulations et en


discretisant le temps on obtient quelque chose de plus clair
(taille de la fenetre de discretisation : 250 ms).

Le probl`eme : quelle taille de bin choisir ?

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

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

Lissage et
estimation
fonctionnelle avec
R

Un peu de formalisme

Christophe Pouzat
Pr
eliminaires : les
donn
ees

Toutes les fonctions de R que nous allons voir


consid`erent (au moins dans leur version de base) que les
observations, Yi , et le predicteur (variable indepenante),
xi (i = 1, . . . , n) sont relies par le mod`ele de regression :
Yi = (xi ) + i ,

i = 1, . . . , n

Les i sont supposes etre des variables aleatoires


independantes et identiquement distribuees (IID) de
moyenne 0 et de variance 2 .

R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Homogeneite de la variance

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat

Avant daller plus loin il peut-etre utile de verifier que


lhypoth`ese IID pour les i est raisonnable.

On peut le faire avec un Bootstrap en


re-echantillonnant les 20 stimulations.

Commencons par calculer le nombre total devenements


par bin :

Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline

>
+
+
+
>

citronC <- sapply(allCitron,


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

Retour aux
donn
ees
La suite

Homogeneite de la variance

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat

Lestimateur de bootstrap du nombre total


devenements par bin est alors :

Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme

>
+
+
+
+
+
+
>

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)

Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Homogeneite de la variance

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Ici les i dependent clairement des (xi ).

Stabilisation de la variance

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat

On se souvient que les decharges spontanees


correspondent approximativement `a des processus de
Poisson (homog`enes).
On peut alors penser que les reponses aux odeurs
correspondent approximativement `a des processus de
Poisson inhomog`ene.

Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage

On se souvient aussi quune distribution de Poisson de


param`etre 15 est approximativement gaussienne avec
une variance egale `a la moyenne.

gss

On se souvient peut-etre que la racine carree dune


variable aleatoire de Poisson (de param`etre 15) est
approximativement gaussienne de variance 0.25 quelque
soit la valeur du param`etre.

La suite

smooth.spline
Retour aux
donn
ees

Stabilisation de la variance

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme

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


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

Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Lissage et
estimation
fonctionnelle avec
R

Stabilisation de la variance

Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Ici les i dependent nettement moins des

p
(xi ).

Distribution des

p
(xi )

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

p
Graphes quantiles-quantiles des (xi ) obtenus par
bootstrap (reponse au citronellal, bin de 50 ms).

Lissage et
estimation
fonctionnelle avec
R

Smoothing Splines 1

Christophe Pouzat
Pr
eliminaires : les
donn
ees

Given data :

R
eponses aux
odeurs

Yi = (xi ) + i ,

i = 1, . . . , n

Le probl`
eme
Variance

where xi [0, 1] and i N(0, 2 ), we want to find


minimizing :

Splines de lissage
gss
smooth.spline

n
1X

i=1

(Yi (xi ))2 +

Z
0

d 2

2

dx 2

dx

Retour aux
donn
ees
La suite

Lissage et
estimation
fonctionnelle avec
R

Smoothing Splines 2

Christophe Pouzat

A simple example with simulated data

Pr
eliminaires : les
donn
ees

y
0

R
eponses aux
odeurs

Variance

Splines de lissage

La suite

0.2

smooth.spline
Retour aux
donn
ees

0.0

gss

Le probl`
eme

0.4

0.6
x

0.8

1.0

Lissage et
estimation
fonctionnelle avec
R

Smoothing Splines 3

Christophe Pouzat
Pr
eliminaires : les
donn
ees

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

R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage

(x) =

m1
X
=0

d (x) +

n
X

ci R1 (xi , x)

i=1

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

gss
smooth.spline
Retour aux
donn
ees
La suite

Lissage et
estimation
fonctionnelle avec
R

Smoothing Splines 4

Christophe Pouzat

0.4
0.2
0.0

0.4

0.6

0.8

1.0

Le probl`
eme

0.4

Variance

0.6
0.0

0.2

0.4

0.6

0.8

1.0

0.0

0.2

0.4

0.6

0.8

Penalized basis fct # 80

0.2
0.0

0.4

0.6
x

0.8

1.0

Splines de lissage
gss
smooth.spline
Retour aux
donn
ees

0.4

0.2

0.2
0.0

La suite

0.6

0.6

0.4

0.2

0.2
0.0
0.2
0.4

0.2

1.0

0.4

Penalized basis fct # 60


0.4

Penalized basis fct # 40

0.6
0.0

R
eponses aux
odeurs

0.2

0.2
0.0
0.6

0.4

0.2

0.2
0.0
0.2
0.4
0.6

0.2

0.4

0.0

Pr
eliminaires : les
donn
ees

Penalized basis fct # 20

0.4

Linear unpenalized term

0.4

Cst. unpenalized term

0.0

0.2

0.4

0.6
x

0.8

1.0

0.0

0.2

0.4

0.6
x

0.8

1.0

Lissage et
estimation
fonctionnelle avec
R

Smoothing Splines 5 : What about ?

Christophe Pouzat

= 0.5

= 0.05

0.4

0.6

0.8

1.0

0.2

0.4

0.4

0.6
x

0.8

1.0

Variance
0.6

y
0

0.2

0.4

0.6
x

0.8

1.0

0.8

1.0

Splines de lissage
gss

0.0

4
0.4

Le probl`
eme

4
2

0.2

0.2

R
eponses aux
odeurs

0.0

0.0

0.2

smooth.spline
Retour aux
donn
ees

La suite

0.0

1.0

4
2
y
0

0.8

0.6

= 5e06

= 5e05

= 5e04

0.0

0.2

0.0

Pr
eliminaires : les
donn
ees

= 0.005

0.4

0.6
x

0.8

1.0

Smoothing Splines 6 : Cross-Validation


Ideally we would like such that :

Christophe Pouzat

Pr
eliminaires : les
donn
ees

1X
( (xi ) (xi ))2
n

R
eponses aux
odeurs

i=1

is minimized... but we dont know the true . So we choose


minimizing :
1
V0 () =
n

n
X

Le probl`
eme
Variance
Splines de lissage
gss

[i]
( (xi )

Yi )

[k]

1X
(Yi (xi ))2 +
n

smooth.spline
Retour aux
donn
ees

i=1

where is the minimizer of the delete-one functional :

i6=k

Lissage et
estimation
fonctionnelle avec
R

Z
0

d 2 2
dx
dx 2

La suite

Lissage et
estimation
fonctionnelle avec
R

Smoothing Splines 7

Christophe Pouzat

0.25

0.30
x

0.35

0.40

smooth.spline

Retour aux
donn
ees

4
0.20

gss

Splines de lissage

0.20

0.25

0.30
x

0.35

0.40

La suite

0.40

0.35

= 5e06

0.30

Variance

0.25

0.20

= 5e05

0.40

= 5e04

0.35

Le probl`
eme

0.30

0.25

0.20

0.40

0.35

0.30

0.25

0.20

R
eponses aux
odeurs

Pr
eliminaires : les
donn
ees

= 0.005

= 0.05

= 0.5

0.20

0.25

0.30
x

0.35

0.40

Lissage et
estimation
fonctionnelle avec
R

Smoothing Splines 8

Christophe Pouzat
= 0.001581139

Pr
eliminaires : les
donn
ees

1.8

Variance

1.4

Retour aux
donn
ees

1.2

La suite

12

10

8
log()

14

0.0

0.2

smooth.spline

gss

Splines de lissage

rss

Le probl`
eme

R
eponses aux
odeurs

1.6

GCV
Exact

0.4

0.6
x

0.8

1.0

Smoothing Splines 9 : The Theory (worked out


by Grace Wahba) also gives us confidence bands

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat

Data, Conf. Band, Actual

Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs

y
0

Le probl`
eme

Splines de lissage

gss

smooth.spline

0.2

Retour aux
donn
ees
La suite

0.0

Variance

0.4

0.6
x

0.8

1.0

General Smoothing Spline

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees

La methodologie des splines de lissage avec param`etre


de lissage estime par validation croisee est mise en
oeuvre dans le paquet gss (General Smoothing Spline)
developpe par Chong Gu (Universite de Purdue).

R
eponses aux
odeurs

Nous utilisons dabord la fonction ssanova0 :

gss

Le probl`
eme
Variance
Splines de lissage

smooth.spline

> XX <- seq(1.025,13.975,0.05)


> GF1 <- ssanova0(citronSC.hat ~ XX)

Retour aux
donn
ees
La suite

Ajustement avec ssanova0

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Les intervalles de confiance sont obtenus avec :


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

Variation autour de ssanova0

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs

Avec ssanova0 il est possible de fixer la variance des i


au moment de la validation croisee :

Le probl`
eme
Variance
Splines de lissage

> s2 <- mean(citronSC.hat.var)


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

gss
smooth.spline
Retour aux
donn
ees
La suite

Variation autour de ssanova0

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Il ny a pas grande difference.

Fonction smooth.spline

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees

Le paquet stats contient la fonction smooth.spline


similaire `a ssanova0 mais moins puissante.
smooth.spline ne gen`ere pas dintervalles de
confiance.

R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline

> SF <- smooth.spline(XX,citronSC.hat,


+ all.knots=TRUE)

Retour aux
donn
ees
La suite

Fonction smooth.spline

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

Les intervalles de confiance sont ceux de ssanov0.

Retour aux donnees

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees
R
eponses aux
odeurs
Le probl`
eme
Variance
Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite

La suite

Lissage et
estimation
fonctionnelle avec
R
Christophe Pouzat
Pr
eliminaires : les
donn
ees

On peut jouer avec dautres arguments de


smooth.spline, mais globalement, lessentiel a ete
couvert.

R
eponses aux
odeurs
Le probl`
eme
Variance

ssanova0 peut-etre utilisee avec plusieurs predicateurs.

Le paquet gss met en oeuvre des tests pour evaluer le


role de differents predicateurs.

Avec gss, les i peuvent avoir une distribution


binomiale, Poisson, inverse gaussienne, etc. Il faut alors
utiliser la fonction gssanova0.

Splines de lissage
gss
smooth.spline
Retour aux
donn
ees
La suite