Je fais des recherches sur le domaine de la réponse fonctionnelle des acariens. Je voudrais faire une régression pour estimer les paramètres (taux d'attaque et temps de manipulation) de la fonction Rogers type II. J'ai un ensemble de données de mesures. Comment puis-je déterminer au mieux les valeurs aberrantes?
Pour ma régression, j'utilise le script suivant dans R (une régression non linéaire): (l'ensemble de dates est un simple fichier texte à 2 colonnes appelé data.txt
fichier avec des N0
valeurs (nombre de proies initiales) et des FR
valeurs (nombre de proies mangées pendant 24 heures):
library("nlstools")
dat <- read.delim("C:/data.txt")
#Rogers type II model
a <- c(0,50)
b <- c(0,40)
plot(FR~N0,main="Rogers II normaal",xlim=a,ylim=b,xlab="N0",ylab="FR")
rogers.predII <- function(N0,a,h,T) {N0 - lambertW(a*h*N0*exp(-a*(T-h*N0)))/(a*h)}
params1 <- list(attackR3_N=0.04,Th3_N=1.46)
RogersII_N <- nls(FR~rogers.predII(N0,attackR3_N,Th3_N,T=24),start=params1,data=dat,control=list(maxiter= 10000))
hatRIIN <- predict(RogersII_N)
lines(spline(N0,hatRIIN))
summary(RogersII_N)$parameters
Pour tracer les graphiques des résidus calssiques, j'utilise le script suivant:
res <- nlsResiduals (RogersII_N)
plot (res, type = 0)
hist (res$resi1,main="histogram residuals")
qqnorm (res$resi1,main="QQ residuals")
hist (res$resi2,main="histogram normalised residuals")
qqnorm (res$resi2,main="QQ normalised residuals")
par(mfrow=c(1,1))
boxplot (res$resi1,main="boxplot residuals")
boxplot (res$resi2,main="boxplot normalised residuals")
Des questions
- Comment puis-je déterminer au mieux les points de données qui sont aberrants?
- Y a-t-il des tests que je peux utiliser dans R qui sont objectifs et me montrent quels points de données sont aberrants?
la source
Pour les valeurs aberrantes univariées, il y a le test de rapport de Dixon et le test de Grubbs en supposant la normalité. Pour tester une valeur aberrante, vous devez supposer une distribution de la population parce que vous essayez de montrer que la valeur observée est extrême ou inhabituelle pour provenir de la distribution supposée. J'ai un article dans l'American Statistician en 1982 que j'ai peut-être référencé ici avant, qui montre que le test de ratio de Dixon peut être utilisé dans de petits échantillons, même pour certaines distributions non normales. Chernick, MR (1982) "A Note on the Robustness of Dixon's Ratio in Small Samples" American Statistician p 140. Pour les valeurs aberrantes multivariées et les valeurs aberrantes dans les séries chronologiques, les fonctions d'influence pour les estimations de paramètres sont des mesures utiles pour détecter les valeurs aberrantes de manière informelle (je ne sais pas de tests formels construits pour eux bien que de tels tests soient possibles)."Valeurs aberrantes dans les données statistiques" pour un traitement détaillé des méthodes de détection des valeurs aberrantes.
la source
Voir http://www.waset.org/journals/waset/v36/v36-45.pdf , "On the outlier Detection in Nonlinear Regression" [ sic ].
Abstrait
la source
Une valeur aberrante est un point qui est «trop loin» de «une base de référence». L'astuce consiste à définir ces deux phrases! Avec la régression non linéaire, on ne peut pas simplement utiliser des méthodes univariées pour voir si une valeur aberrante est "trop loin" de la courbe la mieux ajustée, car la valeur aberrante peut avoir une énorme influence sur la courbe elle-même.
Ron Brown et moi avons développé une méthode unique (que nous appelons ROUT - Régression robuste et suppression des valeurs aberrantes) pour détecter les valeurs aberrantes avec une régression non linéaire, sans laisser les valeurs aberrantes affecter trop la courbe. Ajuster d'abord les données avec une méthode de régression robuste où les valeurs aberrantes ont peu d'influence. Cela forme la ligne de base. Utilisez ensuite les idées du False Discovery Rate (FDR) pour définir quand un point est «trop éloigné» de cette ligne de base, et il en va de même pour une valeur aberrante. Enfin, il supprime les valeurs aberrantes identifiées et ajuste les points restants de manière conventionnelle.
La méthode est publiée dans une revue en libre accès: Motulsky HJ et Brown RE, Detecting outliers when fiting data with nonlinear regression - a new method based on robust nonlinear regression and the false discovery rate , BMC Bioinformatics 2006, 7: 123. Voici le résumé:
Il n'a pas (pour autant que je sache) été implémenté dans R. Mais nous l'avons implémenté dans GraphPad Prism. et fournissez une explication simple dans l' aide de Prism .
la source
Votre question est trop générale. Il n'y a pas de meilleure méthode pour exclure les "valeurs aberrantes".
Il fallait connaître quelques propriétés sur les "valeurs aberrantes". ou vous ne savez pas quelle méthode est la meilleure. Après avoir décidé quelle méthode vous souhaitez utiliser, vous devez calibrer soigneusement les paramètres de la méthode.
la source