ฉันกำลังวิจัยเกี่ยวกับการตอบสนองการทำงานของไร ฉันต้องการทำการถดถอยเพื่อประเมินพารามิเตอร์ (อัตราการโจมตีและเวลาจัดการ) ของฟังก์ชัน Rogers type II ฉันมีชุดข้อมูลของการวัด ฉันจะกำหนดค่าผิดปกติได้ดีที่สุดอย่างไร
สำหรับการถดถอยของฉันฉันใช้สคริปต์ต่อไปนี้ใน R (การถดถอยเชิงเส้นที่ไม่ใช่): (dateet เป็นไฟล์ข้อความ 2 คอลัมน์แบบง่าย ๆ ที่เรียกว่า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
สำหรับการพล็อตกราฟ calssic residual ฉันใช้สคริปต์ต่อไปนี้:
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 ซึ่งมีวัตถุประสงค์และแสดงให้ฉันเห็นจุดข้อมูลที่เป็นค่าผิดปกติหรือไม่?