> Statistiques > Analyse de données > bootstraping
bootstraping
jackknife : pour calculer le jackknife d'une statistique (ici la médiane) appliquée à un échantillon :
bootstrap :
- objectif est d'estimer non seulement la moyenne d'une statistique, mais aussi sa dispersion et/ou des intervalles de confiance.
- stratégie : prendre des sous-échantillons de l'ensemble des individus disponibles et estimer dessus une statistique pour voir quelle est sa moyenne et sa distribution.
- on peut faire ça avec la librairie boot.
Exemple d'utilisation de la fonction boot sur l'estimation d'une moyenne :
- code :
library(boot)
v <- rnorm(100)
meanFunction <- function(x, i) return(mean(x[i]))
bt <- boot(data = v, statistic = meanFunction, R = 1000)
- meanFunction est la fonction à utiliser sur un sous-échantillon de v (prend le vecteur v et un vecteur d'index à extraire et renvoie la statistique).
- 1000 : nombre de samplings.
- pour chaque sampling, boot prend un sample de taille n où n est le nombre d'individus des données (avec replace = TRUE, bien sûr).
- bt$t0 : renvoie une estimation de la statistique.
- bt$t : renvoie les 1000 estimations (permet de calculer la standard deviation de la statistique).
boot prend comme arguments :
- data : les données à utiliser.
- statistic : une fonction qui prend en argument :
- les données à utiliser.
- un vecteur d'indices pour le sampling
- des arguments supplementaires qui sont ceux passés à la fonction boot
- R : le nombre d'itérations.
Exemple d'utilisation sur l'estimation d'une régression :
- On crée une fonction qui prend les données, un vecteur d'indices pour le sampling, et une formule : myFunc <- function(data, indices, formula) {data <- data[indices, ]; fit <- lm(formula, data); return(coefficients(fit))}
- Puis, on appelle la fonction boot : bt <- boot(data = fr, statistic = myFunc, R = 1000, formula = y ~ x)
- bt$t0 : vecteur à 2 éléments (car coefficients(fit) en renvoie 2) qui sont les valeurs moyennes de l'ordonnée à l'origine et la pente.
- bt$t : matrice 1000 x 2 (car 1000 itérations et coefficients(fit) a 2 éléments) avec les valeurs obtenus lors de chaque itération.
Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R