ฉันสร้างคำตอบของ mbq เพื่อค้นหาความเป็นไปได้ทั้งหมด นอกจากนี้ฉันทำสิ่งนี้:
- ตรวจสอบความสำคัญของทั้งสองรุ่นตามลำดับเพื่อให้แน่ใจว่าสัมประสิทธิ์มีความสำคัญ
- ตรวจสอบความแตกต่างกับผลรวมของค่าคงที่กำลังสองสำหรับแบบเต็ม
- ยืนยันโมเดลของฉันด้วยสายตา (ตรวจสอบให้แน่ใจว่าไม่ใช่เรื่องไร้สาระ)
ตรวจสอบความสำคัญทำไม นั่นเป็นเพราะจุดที่มี SSE ขั้นต่ำนั้นไม่มีความหมายหากแบบจำลองทั้งสองชิ้นนั้นเหมาะกับข้อมูลที่ไม่ดีมาก สิ่งนี้สามารถเกิดขึ้นได้สำหรับตัวแปรที่มีความสัมพันธ์สูงสองตัวแปรโดยไม่มีจุดพักที่ชัดเจนเมื่อมีการเปลี่ยนแปลงความลาดชัน
ลองตรวจสอบวิธีการง่ายๆนี้กับกรณีทดสอบง่ายๆ:
x <- c(-50:50)
y <- abs(x)
plot(x,y,pch=19)
เห็นได้ชัดว่าเบรกพอยต์เป็นศูนย์ ใช้สคริปต์ R ต่อไปนี้:
f <- function(x, y)
{
d <- data.frame(x=x, y=y)
d <- d[order(x),]
r <- data.frame(k=rep(0,length(x)-4), sums=rep(0,length(x)-4))
plm <- function(i)
{
d1 <- head(d,i)
d2 <- tail(d,-i)
# Make sure we've divided the region perfectly
stopifnot(nrow(d1)+nrow(d2) == nrow(d))
m1 <- lm(y~x, data=d1)
m2 <- lm(y~x, data=d2)
r <- list(m1, m2)
r
}
lapply(2:(nrow(d)-3), function(i)
{
r$k[i-2] <<- d[i,]$x
# Fit two piecewise linear models
m <- plm(i)
# Add up the sum of squares for residuals
r$sums[i-2] <<- sum((m[[1]]$residuals)^2) + sum((m[[2]]$residuals)^2)
})
b <- r[which.min(r$sums),]
b
}
ติดตั้งโมเดลเชิงเส้นตรงตามแนวแกนสำหรับการผสมที่เป็นไปได้ทั้งหมด:
f(x,y)
k sums
0 0
หากเราตรวจสอบค่าสัมประสิทธิ์สำหรับรุ่นที่ดีที่สุดสองแบบพวกเขาจะมีความสำคัญสูง R2 ของพวกเขาจะสูงมากเช่นกัน