Accéder au contenu principal
Documents
Partager
LinkedIn
Facebook
Twitter
Copy
R DocumentationEntrée de données en RGestion des données en RGraphiques en RR InterfaceStatistiques en R

Évaluer les hypothèses des tests classiques dans R

Dans les procédures paramétriques classiques, nous supposons souvent la normalité et une variance constante pour le terme d'erreur du modèle. Les méthodes d'exploration de ces hypothèses dans un cadre ANOVA/ANCOVA/MANOVA sont discutées ici. Les diagnostics de régression sont couverts par la régression linéaire multiple.

Valeurs aberrantes

Les valeurs aberrantes pouvant affecter gravement la normalité et l'homogénéité de la variance, les méthodes de détection des observations disparates sont décrites en premier lieu.

La fonction aq.plot() du paquet mvoutlier</a > vous permet d'identifier les valeurs aberrantes multivariées en traçant le carré ordonné des distances de Mahalanobis robustes des observations par rapport à la fonction de distribution empirique du MD2i. L'entrée consiste en une matrice ou un cadre de données. La fonction produit 4 graphiques et renvoie un vecteur booléen identifiant les valeurs aberrantes.

# Detect Outliers in the MTCARS Data
library(mvoutlier)
outliers <-
aq.plot(mtcars[c("mpg","disp","hp","drat","wt","qsec")])
outliers # show list of outliers

valeurs aberrantes

Normalité univariée

Vous pouvez évaluer la normalité d'une variable à l'aide d'un graphique Q-Q.

# Q-Q Plot for variable MPG
attach(mtcars)
qqnorm(mpg)
qqline(mpg)

qqplot

Des écarts importants par rapport à la ligne suggèrent des violations de la normalité.

Vous pouvez également effectuer un test de normalité de Shapiro-Wilk avec la fonction shapiro.test(x), où x est un tableau numérique. Des fonctions supplémentaires pour tester la normalité sont disponibles dans le paquet nortest</a >.

Normalité multivariée

La MANOVA suppose une normalité multivariée. La fonction mshapiro.test( ) du paquet mvnormtest</a > produit le test de Shapiro-Wilk pour la normalité multivariée. L'entrée doit être une matrice numérique.

# Test Multivariate Normality

mshapiro.test(M)

Si nous avons un vecteur aléatoire normal multivarié p x 1, la distance de Mahalanobis au carré entre x et μ sera distribuée en chi-carré avec p degrés de liberté. Nous pouvons utiliser ce fait pour construire un graphique Q-Q afin d'évaluer la normalité multivariée.

# Graphical Assessment of Multivariate Normality
x <- as.matrix(mydata) # n x p numeric matrix
center <- colMeans(x) # centroid
n <- nrow(x); p <- ncol(x); cov <- cov(x);
d <-
mahalanobis(x,center,cov) # distances

qqplot(qchisq(ppoints(n),df=p),d,
  main="QQ Plot Assessing Multivariate Normality",
  ylab="Mahalanobis D2")
abline(a=0,b=1)

tracé mnormal qq

Homogénéité des variances

La fonction bartlett.test( ) fournit un test paramétrique d'échantillon K de l'égalité des variances. La fonction fligner.test( ) permet d'effectuer un test non paramétrique de la même manière. Dans les exemples suivants, y est une variable numérique et G est la variable de regroupement.

# Bartlett Test of Homogeneity of Variances
bartlett.test(y~G, data=mydata)

# Figner-Killeen Test of Homogeneity of Variances
fligner.test(y~G, data=mydata)

La fonction hovPlot( ) du paquet HH fournit un test graphique de l'homogénéité des variances basé sur Brown-Forsyth. Dans l'exemple suivant, y est numérique et G est un facteur de regroupement. Notez que G doit être de type facteur.

# Homogeneity of Variance Plot
library(HH)
hov(y~G, data=mydata)
hovPlot(y~G,data=mydata)

hov

Homogénéité des matrices de covariance

MANOVA et LDF supposent l'homogénéité des matrices de variance-covariance. L'hypothèse est généralement testée avec le M de Box. Malheureusement, le test est très sensible aux violations de la normalité, ce qui conduit à un rejet dans la plupart des cas typiques. Le M de Box est disponible via la fonction boxM dans le paquet biotools</a >.

Pratiquer

Suivez le cours Introduction aux statistiques en R</a > pour développer davantage vos compétences statistiques.