Tại sao hồi quy tuyến tính không thể dự đoán kết quả của một chuỗi xác định đơn giản?


9

Một đồng nghiệp của tôi đã gửi cho tôi vấn đề này rõ ràng là làm cho các vòng trên internet:

If $3 = 18, 4 = 32, 5 = 50, 6 = 72, 7 = 98$, Then, $10 =$ ?

Câu trả lời dường như là 200.

3*6  
4*8  
5*10  
6*12  
7*14  
8*16  
9*18  
10*20=200  

Khi tôi thực hiện hồi quy tuyến tính trong R:

data     <- data.frame(a=c(3,4,5,6,7), b=c(18,32,50,72,98))  
lm1      <- lm(b~a, data=data)  
new.data <- data.frame(a=c(10,20,30))  
predict  <- predict(lm1, newdata=new.data, interval='prediction')  

Tôi có:

  fit      lwr      upr  
1 154 127.5518 180.4482  
2 354 287.0626 420.9374  
3 554 444.2602 663.7398  

Vì vậy, mô hình tuyến tính của tôi dự đoán .10=154

Khi tôi vẽ dữ liệu, nó trông có vẻ tuyến tính ... nhưng rõ ràng tôi đã giả sử một cái gì đó không đúng.

Tôi đang cố gắng học cách sử dụng tốt nhất các mô hình tuyến tính trong R. Cách thích hợp để phân tích chuỗi này là gì? Tôi đã đi sai ở đâu?


7
À . (i) Biểu thức của vấn đề là vô nghĩa. Làm thế nào có thể 3 = 18? Chắc chắn ý định là một cái gì đó như ; (ii) nếu bạn có thể thấy đủ để viết , , v.v., chắc chắn bạn có thể thấy đủ để chia số hạng thứ hai trong mỗi số đó ( , , v.v.) rồi viết: , , v.v. và ngay lập tức phát hiện ra bậc hai, . (Bạn đã làm phần khó khăn, bước tiếp theo thậm chí còn đơn giản hơn!)18 = 3 × 6 32 = 4 × 8 6 = 3 × 2 8 = 4 × 2 18 = 3 × 3 × 2 32 = 4 × 4 × 2 f ( x ) = 2 x 2f(3)=1818=3×632=4×86=3×28=4×218=3×3×232=4×4×2f(x)=2x2
Glen_b -Reinstate Monica

4
Ngoài ra, vấn đề có chỉ định một tiêu chí nội dung thông tin tối thiểu cho câu trả lời không? Nếu tôi nhớ toán học của mình một cách chính xác, có vô số hàm vô hạn phù hợp với những điểm này, tất cả đều đưa ra các câu trả lời khác nhau cho . Tôi không điển hình, nhưng email thời gian xứng đáng với nó. f(10)
ngôi sao sáng

1
@TrevorAlexander nếu bạn nghĩ rằng câu hỏi này là một sự lãng phí thời gian, tại sao phải trả lời nó? Rõ ràng một số người thấy nó thú vị.
jwg

Câu trả lời:


23

Một mô hình hồi quy, chẳng hạn như mô hình phù hợp bằng cách lm()ngầm giả định rằng quy trình tạo dữ liệu cơ bản là xác suất . Bạn đang giả định rằng quy tắc bạn đang cố gắng mô hình hóa là xác định . Do đó, có một sự không phù hợp giữa những gì bạn đang cố gắng làm và cách bạn đang cố gắng để làm điều đó.

Có những phần mềm khác (tức là không phải R) được thiết kế rõ ràng để tìm / khớp chức năng đơn giản nhất với dữ liệu xác định (một ví dụ sẽ là Eureqa ). Có thể có một gói R cho điều đó (mà tôi không biết), nhưng R được dành cho mô hình thống kê dữ liệu xác suất.

Đối với câu trả lời lm()đã cho bạn, nó có vẻ hợp lý, và có thể đúng. Tuy nhiên, tôi tập hợp bối cảnh trong đó vấn đề này được trình bày mạnh mẽ ngụ ý rằng nó nên được hiểu là xác định. Nếu đó không phải là trường hợp và bạn tự hỏi liệu sự phù hợp có hợp lý hay không, một điều bạn có thể nhận thấy là hai điểm dữ liệu cực đoan nằm trên đường hồi quy, trong khi dữ liệu ở giữa đều nằm dưới nó. Điều này cho thấy một hình thức chức năng xác định sai. Điều này cũng có thể được nhìn thấy trong phần dư so với âm mưu được trang bị ( plot(lm1, which=1):

nhập mô tả hình ảnh ở đây

Đối với mô hình phù hợp bởi @AlexWilliams, có vẻ tốt hơn nhiều:

nhập mô tả hình ảnh ở đây


17
+1 Cốt truyện còn lại kể câu chuyện theo cách mà người ta không thể bỏ lỡ. Thật vậy, nó cho thấy lý do tại sao OP 'trông tuyến tính' thường gây hiểu lầm - nhiều chức năng cong có thể trông 'gần như thẳng' nếu chúng ta chỉ nhìn vào một vài điểm không gần với một bước ngoặt. Nếu bạn nghĩ đó là tuyến tính, hãy lấy dòng đó ra và xem những gì còn sót lại!
Glen_b -Reinstate Monica

1
Thông tin cực kỳ hữu ích! Cảm ơn bạn, tôi thực sự đánh giá cao nó
Brett Phinney

1
Điều này hoàn toàn không có gì để làm với sự phân biệt giữa dữ liệu xác suất và xác định. Hồi quy tuyến tính sẽ phù hợp và ngoại suy dữ liệu xác định nếu nó là tuyến tính. Nó sẽ không dự đoán tốt cho dữ liệu xác suất nếu mô hình cơ bản là bậc hai.
JWG

3
@jwg: Nó có rất nhiều việc phải làm với nó. Hoặc bạn sẽ luôn phù hợp với một chuỗi các quan sát với đa thức bậc khi không có đa thức bậc thấp nào cho một sự phù hợp hoàn hảo? ( n - 1 )n(n1)
Scortchi - Phục hồi Monica

Tôi không nghĩ rằng anh ấy đang tìm kiếm một sự phù hợp hoàn hảo. Anh ta đang cố gắng để hiểu tại sao giá trị ngoại suy lại quá xa vời.
JWG

22

Xu hướng là bậc hai không tuyến tính. Thử:

lm1 <- lm(b~I(a^2), data=data)

Cập nhật: Đây là mã.

data <- data.frame(a=c(3,4,5,6,7),b=c(18,32,50,72,98))
lm1 <- lm(b~I(a^2), data=data)
new.data <- data.frame(a=c(10,20,30))
predict(lm1, newdata = new.data, interval='prediction')

Và đầu ra:

   fit  lwr  upr
1  200  200  200
2  800  800  800
3 1800 1800 1800

Câu trả lời này có vẻ hơi tròn đối với tôi: toàn bộ vấn đề là nhận ra hành vi bậc hai. Bạn chỉ ra một cách chính xác rằng một khi hành vi bậc hai được chỉ định, hồi quy tuyến tính có thể tìm thấy các hệ số. Nhưng thực tế, bạn đã thực hiện phân tích quan trọng vào thời điểm bạn viết ra dòng đầu tiên của câu trả lời này.
whuber

5
@whuber - Câu hỏi là tại sao một mô hình tuyến tính thất bại. Nó thất bại vì dạng chức năng không phải là tuyến tính, nó là bậc hai. Tôi muốn đưa ra câu trả lời đơn giản và cho điểm. Câu trả lời của Gung thực hiện tốt việc đi sâu vào chi tiết và cho thấy cách bạn có thể sử dụng các lô còn lại để đưa ra một mô hình tốt hơn. (Tôi chỉ làm nó trên bút và giấy.) Tôi đồng ý câu trả lời của anh ấy chi tiết và đầy đủ hơn và tôi đã nâng cao nó.
Alex Williams

13

Tôi ngần ngại để thêm vào các câu trả lời tuyệt vời được đưa ra bởi Alex Williams và gung, nhưng có một điểm nữa mà tôi nghĩ nên được thực hiện. Câu hỏi sử dụng cụm từ 'hồi quy tuyến tính' và 'mô hình tuyến tính', có thể gợi ý rằng chúng có nghĩa giống nhau. Tuy nhiên, ý nghĩa thông thường của 'hồi quy tuyến tính' đề cập đến Mô hình hồi quy tuyến tính cổ điển (CLRM) trong đó 'tuyến tính' có nghĩa là 'tuyến tính trong các tham số'. Đây là một điều kiện trên các tham số, không phải trên các biến độc lập. Vì vậy, một mô hình bậc hai như:

Yi=β1+β2Xi2

β1β2

Yi=β1+β2Xi

Xi


1
Tôi luôn có một thời gian khó nhớ điều này. Đây là một bổ sung tuyệt vời cho các câu trả lời khác.
naught101
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.