Я занимаюсь исследованиями в области функциональной реакции клещей. Я хотел бы сделать регрессию для оценки параметров (скорость атаки и время обработки) функции Роджерса типа II. У меня есть набор данных измерений. Как я могу лучше всего определить выбросы?
Для моей регрессии я использую следующий сценарий в R (нелинейная регрессия): (набор дат представляет собой простой текстовый data.txt
файл с двумя столбцами, называемый файлом со N0
значениями (количество исходной добычи) и FR
значениями (количество съеденной добычи в течение 24 часов):
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
Для построения графиков остатков я использую следующий скрипт:
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")
Вопросов
- Как я могу наилучшим образом определить, какие точки данных являются выбросами?
- Могу ли я использовать в R тесты, которые являются объективными и показывают, какие точки данных являются выбросами?
источник
Для одномерных выбросов есть критерий отношения Диксона и критерий Граббса, предполагающий нормальность. Чтобы проверить выбросы, вы должны принять распределение населения, потому что вы пытаетесь показать, что наблюдаемое значение является экстремальным или необычным для предполагаемого распределения. У меня есть статья в журнале American Statistician в 1982 году, на которую я мог ссылаться здесь ранее, в которой показано, что критерий отношения Диксона можно использовать в небольших выборках даже для некоторых ненормальных распределений. Черник, М.Р. (1982) «Замечание об устойчивости отношения Диксона в малых выборках», Американский статистик, стр. 140. Для многомерных выбросов и выбросов во временных рядах функции влияния для оценок параметров являются полезными мерами для неформального обнаружения выбросов (я не знаю, формальных тестов, построенных для них, хотя такие тесты возможны).«Выбросы в статистических данных» для подробной обработки методов обнаружения выбросов.
источник
См. Http://www.waset.org/journals/waset/v36/v36-45.pdf , «Об обнаружении выбросов в нелинейной регрессии» [ sic ].
Аннотация
источник
Выделение - это точка, которая «слишком далека» от «некоторой базовой линии». Хитрость заключается в том, чтобы определить обе эти фразы! При нелинейной регрессии нельзя просто использовать одномерные методы, чтобы увидеть, находится ли выброс «слишком далеко» от кривой наилучшего соответствия, поскольку выброс может оказать огромное влияние на саму кривую.
Рон Браун и я разработали уникальный метод (который мы называем ROUT - Робастная регрессия и удаление выбросов) для обнаружения выбросов с нелинейной регрессией, не позволяя выбросу слишком сильно влиять на кривую. Сначала подгоните данные с помощью надежного метода регрессии, где выбросы имеют небольшое влияние. Это формирует базовую линию. Затем используйте идеи частоты ложных открытий (FDR), чтобы определить, когда точка находится «слишком далеко» от этой базовой линии, и поэтому является выбросом. Наконец, он удаляет идентифицированные выбросы и традиционно подходит к остальным точкам.
Метод опубликован в журнале открытого доступа: Motulsky HJ и Brown RE, Обнаружение выбросов при подборе данных с помощью нелинейной регрессии - новый метод, основанный на надежной нелинейной регрессии и частоте ложных открытий , BMC Bioinformatics 2006, 7: 123. Вот тезисы:
Он не был реализован (насколько я знаю) в R. Но мы реализовали его в GraphPad Prism. и предоставьте простое объяснение в помощи Призмы .
источник
Ваш вопрос слишком общий. Не существует единственного лучшего способа исключить "выбросы".
Вы должны были знать некоторые свойства на «выбросы». или вы не знаете, какой метод является лучшим. После того, как вы решите, какой метод вы хотите использовать, вам необходимо тщательно откалибровать параметры метода.
источник