Tôi đang làm nghiên cứu về lĩnh vực đáp ứng chức năng của ve. Tôi muốn thực hiện một hồi quy để ước tính các tham số (tốc độ tấn công và thời gian xử lý) của hàm Rogers loại II. Tôi có một bộ dữ liệu đo lường. Làm thế nào tôi có thể xác định tốt nhất các ngoại lệ?
Đối với hồi quy của tôi, tôi sử dụng tập lệnh sau trong R (hồi quy phi tuyến tính): (dateet là tệp văn bản 2 cột đơn giản được gọi là data.txt
tệp có N0
giá trị (số lượng con mồi ban đầu) và FR
giá trị (số lượng con mồi đã ăn trong 24 giờ):
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
Để vẽ đồ thị phần dư calssic tôi sử dụng tập lệnh sau:
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")
Câu hỏi
- Làm thế nào tôi có thể xác định tốt nhất các điểm dữ liệu là ngoại lệ?
- Có các thử nghiệm nào tôi có thể sử dụng trong R là mục tiêu và cho tôi biết điểm dữ liệu nào là ngoại lệ không?