Tại sao mọi người sẽ sử dụng KNN cho hồi quy?


26

Từ những gì tôi hiểu, chúng ta chỉ có thể xây dựng hàm hồi quy nằm trong khoảng của dữ liệu huấn luyện.

Ví dụ: (chỉ một trong các bảng là cần thiết): nhập mô tả hình ảnh ở đây

Làm thế nào tôi có thể dự đoán trong tương lai bằng cách sử dụng một hồi quy KNN? Một lần nữa, nó dường như chỉ gần đúng một chức năng nằm trong khoảng thời gian của dữ liệu đào tạo.

Câu hỏi của tôi: những lợi thế của việc sử dụng một hồi quy KNN là gì? Tôi hiểu rằng nó là một công cụ rất mạnh để phân loại, nhưng có vẻ như nó sẽ hoạt động kém trong kịch bản hồi quy.


Bạn có thể làm rõ những gì bạn có nghĩa là "dự đoán trong tương lai"? Bạn có chuỗi thời gian & bạn muốn thực hiện dự báo hay bạn đang cố gắng phù hợp với mối quan hệ giữa 2 biến và muốn sử dụng điều đó trong tương lai để đoán giá trị Y từ giá trị X đã biết?
gung - Phục hồi Monica

1
Ví dụ: nếu tôi muốn dự đoán giá trị Y sao cho X = 15 từ hình ảnh trên. Một hồi quy KNN sẽ không cắt nó phải không?

1
Tôi đồng ý với bạn rằng nếu bạn được đào tạo trên một tập hợp với nhưng dự kiến ​​rằng bạn có thể thấy các giá trị của vượt xa những gì có trong dữ liệu của bạn thì các phương thức cục bộ không tham số có thể không lý tưởng. Thay vào đó, bạn có thể muốn sử dụng kiến ​​thức miền đó và xác định mô hình tham số bao gồm kiến ​​thức của bạn về cách 'không quan sát' dự kiến ​​sẽ hành xử. x xx[0,5]xx
Meadowlark Bradsher

1
Một ví dụ về KNN đang được sử dụng thành công cho hồi quy là điều dự đoán bóng chày PECOTA của Nate Silver. Bạn có thể đọc về những ưu và nhược điểm từ bài viết trên Wikipedia về PECOTA hoặc các bài báo như thế này: macleans.ca/authors/colby-cosh/ phỏng
Flounderer

6
Ngoài ra, để đưa ra một quan điểm tổng quát hơn, khi bạn trở nên am hiểu về thống kê (hoặc khai thác dữ liệu / học máy, v.v.), bạn sẽ thấy rằng câu trả lời cho các câu hỏi rất chung chung như của bạn thường sẽ là một phiên bản được diễn giải của 'nó phụ thuộc'. Biết những gì 'nó phụ thuộc' vào và tại sao kiến ​​thức.
Meadowlark Bradsher

Câu trả lời:


17

Các phương pháp địa phương như K-NN có ý nghĩa trong một số tình huống.

Một ví dụ mà tôi đã làm trong công việc ở trường phải làm với việc dự đoán cường độ nén của các hỗn hợp khác nhau của các thành phần xi măng. Tất cả các thành phần này tương đối không bay hơi đối với phản ứng hoặc lẫn nhau và KNN đã đưa ra dự đoán đáng tin cậy về nó. Nói cách khác, không có biến độc lập nào có phương sai lớn không tương xứng để trao đổi cho mô hình hoặc riêng lẻ hoặc có thể bằng tương tác lẫn nhau.

Lấy thứ này bằng một hạt muối vì tôi không biết về một kỹ thuật điều tra dữ liệu kết luận rõ ràng điều này nhưng theo trực giác thì có vẻ hợp lý rằng nếu các tính năng của bạn có một số mức độ chênh lệch tương xứng, tôi không biết tỷ lệ nào, bạn có thể có Ứng viên KNN. Tôi chắc chắn muốn biết nếu có một số nghiên cứu và kỹ thuật kết quả được phát triển cho hiệu ứng này.

Nếu bạn nghĩ về nó từ góc độ miền tổng quát, có một lớp ứng dụng rộng lớn trong đó các 'công thức' tương tự mang lại kết quả tương tự. Điều này chắc chắn dường như mô tả tình hình dự đoán kết quả của việc trộn xi măng. Tôi sẽ nói rằng nếu bạn có dữ liệu hành xử theo mô tả này và ngoài ra, thước đo khoảng cách của bạn cũng tự nhiên đối với miền và cuối cùng là bạn có đủ dữ liệu, tôi sẽ tưởng tượng rằng bạn sẽ nhận được kết quả hữu ích từ KNN hoặc phương pháp cục bộ khác .

Bạn cũng đang nhận được lợi ích của sự thiên vị cực kỳ thấp khi bạn sử dụng các phương pháp địa phương. Đôi khi, mô hình cộng gộp (GAM) cân bằng độ lệch và phương sai bằng cách khớp từng biến riêng lẻ bằng KNN sao cho:

y^= =f1(x1)+f2(x2)++fn(xn)+ε

Phần phụ gia (các ký hiệu cộng) bảo vệ chống lại phương sai cao trong khi việc sử dụng KNN thay cho bảo vệ chống lại sai lệch cao.fn(xn)

Tôi sẽ không viết tắt KNN nhanh như vậy. Nó có vị trí của nó.


1
Câu trả lời này về chia tỷ lệ dữ liệu cho knn có thể giúp thể hiện ý của bạn bằng "mức độ chênh lệch tỷ lệ". stats.stackexchange.com/questions/287425/ Ấn
eric_kernfeld

5

Tôi không muốn nói điều đó nhưng thực ra câu trả lời ngắn gọn là, "dự đoán về tương lai" thực sự không thể xảy ra với một knn cũng như với bất kỳ trình phân loại hoặc hồi quy hiện có nào khác.

Chắc chắn bạn có thể ngoại suy dòng hồi quy tuyến tính hoặc siêu phẳng của một SVM nhưng cuối cùng bạn không biết tương lai sẽ ra sao, đối với tất cả những gì chúng ta biết, dòng này có thể chỉ là một phần nhỏ của một thực tế cong. Điều này trở nên rõ ràng khi bạn xem xét các phương thức Bayes như các quy trình Gaussian, bạn sẽ nhận thấy một sự không chắc chắn lớn ngay khi bạn rời khỏi "miền đầu vào đã biết".

Tất nhiên, bạn có thể cố gắng khái quát hóa từ những gì xảy ra hôm nay đến những gì có thể xảy ra vào ngày mai, điều này có thể dễ dàng thực hiện với một hồi quy knn (ví dụ số khách hàng năm ngoái trong thời gian Giáng sinh có thể cho bạn một gợi ý hay về số của năm nay). Chắc chắn các phương pháp khác có thể kết hợp xu hướng và vân vân nhưng cuối cùng bạn có thể thấy nó hoạt động tốt như thế nào khi nói đến thị trường chứng khoán hoặc dự đoán thời tiết dài hạn.


+1 để thận trọng chống ngoại suy và thảo luận về hành vi (tương đối bảo thủ) của KNN khi ngoại suy.
eric_kernfeld

KNN bảo thủ hơn hồi quy tuyến tính khi ngoại suy chính xác vì hành vi được OP lưu ý: nó chỉ có thể đưa ra dự đoán trong phạm vi giá trị Y đã quan sát được. Đây có thể là một lợi thế trong rất nhiều tình huống.
eric_kernfeld

1

Đầu tiên là một ví dụ cho "Làm thế nào tôi dự đoán được trong tương lai bằng cách sử dụng bộ hồi quy KNN?".

Sbạnnt+1Sbạnnt..Sbạnnt-6
Sbạnnt

weektSbạnnt..Sbạnnt-6tomorrow(weekt))Sbạnnt+1

weekt
week
tomorrow0..tomorrow9
predtôict(week)tomorrow0..tomorrow9

Điều chỉnh trọng lượng, xem ví dụ ngược đường trọng-IDW-suy-với-python ,
và khoảng cách số liệu cho "người láng giềng gần" trong 7d.

"Những lợi thế của việc sử dụng một hồi quy KNN là gì?"
Đối với những bình luận tốt của người khác, tôi sẽ dễ dàng viết mã và hiểu và mở rộng dữ liệu lớn.
Nhược điểm: nhạy cảm với dữ liệu và điều chỉnh, không hiểu biết nhiều .




XY
Yt= =b0Xt+b1Xt-1+...
Yt+1
Yt+1= =một0Yt+một1Yt-1+...

Vì vậy, dòng đầu tiên của bạn "chúng tôi chỉ có thể xây dựng hàm hồi quy nằm trong khoảng thời gian của dữ liệu đào tạo" dường như là về từ "hồi quy" khó hiểu.)


1

Từ Giới thiệu về Học thống kê , phần 3.5:

Trong một tình huống thực tế trong đó không xác định được mối quan hệ thực sự, người ta có thể rút ra kết luận rằng KNN nên được ưu tiên hơn so với hồi quy tuyến tính vì tệ nhất sẽ kém hơn một chút so với hồi quy tuyến tính nếu mối quan hệ thực sự là tuyến tính và có thể tốt hơn đáng kể kết quả nếu mối quan hệ thực sự là phi tuyến tính.

Nhưng có những ràng buộc (không phải từ sách giáo khoa, chỉ là những gì tôi đã kết luận):

  1. một số lượng quan sát đủ cho mỗi người dự đoán.
  2. số lượng dự đoán không nên quá lớn.
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.