Chọn các biến để đưa vào mô hình hồi quy tuyến tính đa biến


35

Tôi hiện đang làm việc để xây dựng một mô hình bằng cách sử dụng hồi quy tuyến tính đa biến. Sau khi loay hoay với mô hình của mình, tôi không chắc chắn làm thế nào để xác định tốt nhất các biến cần giữ và loại bỏ.

Mô hình của tôi bắt đầu với 10 dự đoán cho DV. Khi sử dụng tất cả 10 dự đoán, bốn được coi là đáng kể. Nếu tôi chỉ loại bỏ một số dự đoán rõ ràng không chính xác, một số dự đoán ban đầu không quan trọng của tôi trở nên quan trọng. Điều này dẫn tôi đến câu hỏi của tôi: Làm thế nào để đi đến việc xác định dự đoán nào sẽ đưa vào mô hình của họ? Dường như với tôi, bạn nên chạy mô hình một lần với tất cả các dự đoán, loại bỏ những thứ không đáng kể và sau đó chạy lại. Nhưng nếu chỉ loại bỏ một số trong những dự đoán đó làm cho những người khác trở nên quan trọng, tôi sẽ tự hỏi liệu tôi có đang tiếp cận sai với tất cả những điều này không.

Tôi tin rằng đây chủ đề tương tự như câu hỏi của tôi, nhưng tôi không chắc chắn tôi giải thích các cuộc thảo luận một cách chính xác. Có lẽ đây là một chủ đề thiết kế thử nghiệm, nhưng có lẽ ai đó có một số kinh nghiệm họ có thể chia sẻ.


Câu trả lời cho điều này phụ thuộc nhiều vào mục tiêu và yêu cầu của bạn: bạn đang tìm kiếm sự liên kết đơn giản, hay bạn đang nhắm đến dự đoán; bạn có khả năng diễn giải cao đến mức nào; Bạn có bất kỳ thông tin nào về các biến từ các ấn phẩm khác có thể ảnh hưởng đến quá trình không; làm thế nào về các tương tác hoặc các phiên bản tranformed của các biến: bạn có thể bao gồm các biến đó; vv Bạn cần chỉ định thêm chi tiết về những gì bạn đang cố gắng để có được một câu trả lời tốt.
Nick Sabbe

Dựa trên những gì bạn yêu cầu, điều này sẽ được dự đoán. Ảnh hưởng đến các biến khác chỉ cung cấp liên kết có thể. Không có tương tác giữa chúng. Chỉ có một giá trị cần được chuyển đổi, và nó đã được thực hiện.
cryptic_star

1
Có một lý thuyết cho biết những gì dự đoán bạn nên bao gồm? Nếu bạn có rất nhiều biến số mà bạn đã đo và không có lý thuyết, tôi khuyên bạn nên đưa ra một bộ quan sát để bạn có thể kiểm tra mô hình của mình trên dữ liệu không được sử dụng để tạo ra nó. Việc kiểm tra và xác nhận một mô hình trên cùng một dữ liệu là không đúng.
Michelle

Xác nhận chéo (như Nick Sabbe thảo luận), các phương pháp bị phạt (Dikran Marsupial) hoặc chọn các biến dựa trên lý thuyết trước đó (Michelle) đều là các tùy chọn. Nhưng lưu ý rằng lựa chọn biến về bản chất là một nhiệm vụ rất khó khăn. Để hiểu lý do tại sao nó rất có khả năng, nó có thể giúp đọc câu trả lời của tôi ở đây: thuật toán cho tự động lựa chọn mô hình . Cuối cùng, đáng để nhận ra vấn đề là cấu trúc logic của hoạt động này, chứ không phải máy tính tự động làm điều đó hay bạn tự làm điều đó cho chính mình.
gung - Phục hồi Monica

Kiểm tra cũng trả lời cho bài đăng này: stats.stackexchange.com/questions/34769/iêu
jokel

Câu trả lời:


19

Dựa trên phản ứng của bạn với nhận xét của tôi:

Bạn đang tìm kiếm dự đoán. Vì vậy, bạn không nên thực sự dựa vào (trong) ý nghĩa của các hệ số. Bạn sẽ tốt hơn để

  • Chọn một tiêu chí mô tả dự đoán của bạn cần tốt nhất (ví dụ: tỷ lệ phân loại sai, AUC của ROC, một số dạng trong số này có trọng số, ...)
  • Đối với mỗi mô hình quan tâm , đánh giá tiêu chí này. Điều này có thể được thực hiện, ví dụ như cung cấp một bộ xác nhận (nếu bạn may mắn hoặc giàu có), thông qua việc xác định giá trị chéo (thường là gấp mười lần) hoặc bất kỳ tùy chọn nào khác mà tiêu chí quan tâm của bạn cho phép. Nếu có thể cũng tìm thấy một ước tính về SE của tiêu chí cho từng mô hình (ví dụ: bằng cách sử dụng các giá trị trên các nếp gấp khác nhau trong quá trình xác định giá trị chéo)
  • Bây giờ bạn có thể chọn mô hình có giá trị tốt nhất của tiêu chí, mặc dù vậy, thông thường nên chọn mô hình phân tích nhất (biến ít nhất) nằm trong một SE có giá trị tốt nhất.

Wrt từng mô hình quan tâm : ở đây nằm khá bắt. Với 10 dự đoán tiềm năng, đó là một khối lượng xe tải của các mô hình tiềm năng. Nếu bạn đã có thời gian hoặc bộ xử lý cho việc này (hoặc nếu dữ liệu của bạn đủ nhỏ để các mô hình phù hợp và được đánh giá đủ nhanh): hãy có một quả bóng. Nếu không, bạn có thể giải quyết vấn đề này bằng các phỏng đoán có giáo dục, mô hình tiến hoặc lùi (nhưng sử dụng tiêu chí thay vì quan trọng) hoặc tốt hơn là: sử dụng một số thuật toán chọn một bộ mô hình hợp lý. Một thuật toán thực hiện điều này, là hồi quy bị phạt, đặc biệt là hồi quy Lasso. Nếu bạn đang sử dụng R, chỉ cần cắm gói glmnet và bạn đã sẵn sàng để sử dụng.


+1, nhưng bạn có thể giải thích chính xác lý do tại sao bạn sẽ "chọn mô hình phân tích nhất (biến ít nhất) nằm trong một SE có giá trị tốt nhất" không?
rolando2

Parsimony, trong hầu hết các tình huống, là một thuộc tính mong muốn: nó nâng cao khả năng diễn giải và giảm số lượng phép đo bạn cần thực hiện cho một đối tượng mới để sử dụng mô hình. Mặt khác của câu chuyện là những gì bạn nhận được cho tiêu chí của mình chỉ là một ước tính, với SE phù hợp: Tôi đã thấy khá nhiều ô hiển thị các ước tính tiêu chí đối với một số tham số điều chỉnh, trong đó giá trị 'tốt nhất' chỉ là một ngoại lệ đỉnh điểm. Như vậy, quy tắc 1 SE (tùy ý, nhưng thực tiễn được chấp nhận) bảo vệ bạn khỏi điều này với giá trị gia tăng của việc cung cấp nhiều sự khôn ngoan hơn.
Nick Sabbe

13

Không có câu trả lời đơn giản cho điều này. Khi bạn loại bỏ một số biến giải thích không đáng kể, các biến khác có tương quan với các biến có thể trở nên quan trọng. Không có gì sai với điều này, nhưng nó làm cho việc lựa chọn mô hình ít nhất là một phần nghệ thuật hơn là khoa học. Đây là lý do tại sao các thí nghiệm nhằm mục đích giữ các biến giải thích trực giao với nhau, để tránh vấn đề này.

Các nhà phân tích truyền thống đã từng bước cộng và trừ các biến cho mô hình một lần (tương tự như những gì bạn đã làm) và kiểm tra chúng riêng lẻ hoặc trong các nhóm nhỏ với các bài kiểm tra t hoặc F. Vấn đề với điều này là bạn có thể bỏ lỡ một số kết hợp các biến để trừ (hoặc thêm) trong đó hiệu ứng kết hợp của chúng (hoặc không có hiệu lực) bị ẩn bởi cộng tuyến.

Với khả năng tính toán hiện đại, có thể phù hợp với tất cả 2 ^ 10 = 1024 kết hợp các biến giải thích có thể và chọn mô hình tốt nhất theo một trong số các tiêu chí có thể, ví dụ AIC, BIC hoặc khả năng dự đoán (ví dụ: khả năng dự đoán các giá trị của một tập hợp con kiểm tra dữ liệu mà bạn đã tách khỏi tập hợp bạn sử dụng để phù hợp với mô hình của bạn). Tuy nhiên, nếu bạn đang thử nghiệm (ngầm hoặc rõ ràng) 1024 mô hình, bạn sẽ cần phải xem xét lại các giá trị p của mình từ phương pháp cổ điển - hãy thận trọng ...


Cảm ơn vì đã đi bộ qua các điểm cộng và điểm trừ của cả hai bên. Nó đã xác nhận rất nhiều những gì tôi nghi ngờ.
cryptic_star

11

Nếu bạn chỉ quan tâm đến hiệu suất dự đoán, thì có lẽ tốt hơn là sử dụng tất cả các tính năng và sử dụng hồi quy sườn để tránh quá phù hợp với mẫu đào tạo. Đây thực chất là lời khuyên được đưa ra trong phần phụ lục của chuyên khảo Millar về "lựa chọn tập hợp con trong hồi quy" , vì vậy nó đi kèm với một phả hệ hợp lý!

Lý do cho điều này là vì nếu bạn chọn một tập hợp con dựa trên ước tính hiệu suất dựa trên một mẫu dữ liệu cố định (ví dụ AIC, BIC, xác thực chéo, v.v.), tiêu chí lựa chọn sẽ có phương sai hữu hạn và do đó có thể quá phù hợp với tiêu chí lựa chọn chính nó. Nói cách khác, để bắt đầu khi bạn giảm thiểu tiêu chí lựa chọn, hiệu suất khái quát hóa sẽ được cải thiện, tuy nhiên sẽ đến lúc bạn càng giảm tiêu chí lựa chọn, việc khái quát hóa càng trở nên tồi tệ hơn. Nếu bạn không may mắn, bạn có thể dễ dàng kết thúc với mô hình hồi quy hoạt động kém hơn mô hình bạn đã bắt đầu (tức là một mô hình có tất cả các thuộc tính).

Điều này đặc biệt có thể xảy ra khi tập dữ liệu nhỏ (vì vậy tiêu chí lựa chọn có phương sai cao) và khi có nhiều lựa chọn mô hình có thể (ví dụ: chọn kết hợp các tính năng). Chính quy hóa dường như ít phù hợp hơn vì nó là một tham số vô hướng cần được điều chỉnh và điều này mang lại cái nhìn hạn chế hơn về độ phức tạp của mô hình, tức là mức độ tự do hiệu quả hơn để phù hợp với tiêu chí lựa chọn .


0

Sử dụng thư viện bước nhảy vọt. Khi bạn vẽ các biến, trục y hiển thị R ^ 2 được điều chỉnh. Bạn nhìn vào nơi các hộp có màu đen ở mức cao nhất R ^ 2. Điều này sẽ hiển thị các biến bạn nên sử dụng cho hồi quy tuyến tính bội.

Ví dụ về rượu vang dưới đây:

library(leaps)
regsubsets.out <-
  regsubsets(Price ~ Year + WinterRain + AGST + HarvestRain + Age + FrancePop,
         data = wine,
         nbest = 1,       # 1 best model for each number of predictors
         nvmax = NULL,    # NULL for no limit on number of variables
         force.in = NULL, force.out = NULL,
         method = "exhaustive")
regsubsets.out

#----When you plot wherever R^2 is the highest with black boxes,
#so in our case AGST + HarvestRain + WinterRain + Age and the dependent var.is Price----#
summary.out <- summary(regsubsets.out)
as.data.frame(summary.out$outmat)
plot(regsubsets.out, scale = "adjr2", main = "Adjusted R^2")

Điều này không có vẻ rất khác biệt với cái gọi là lựa chọn 'tập hợp con tốt nhất', có vấn đề đã biết.
gung - Phục hồi Monica

leaps tính toán rõ ràng 'các tập con tốt nhất', mặc dù nó không tư vấn cho bạn cách chọn trong số các tập con có kích thước khác nhau. (Đó là vấn đề giữa bạn và giáo sĩ thống kê của bạn.)
steveo'america

Hài hước lắm, leapsdựa trên "mã FORTRAN77 của Alan Miller [...] được mô tả chi tiết hơn trong cuốn sách 'Lựa chọn tập hợp con trong hồi quy'", một cuốn sách được Dikran nhắc đến trong câu trả lời khác cho câu hỏi này :-)
jorijnsmit

0

Bạn cũng có thể sử dụng chức năng bước trong tiêu chí thông tin Akaike. Ví dụ dưới đây. https://en.wikipedia.org/wiki/Akaike_inif_criterion

StepModel = step(ClimateChangeModel)

Phương pháp lựa chọn từng bước có rất nhiều vấn đề nổi tiếng. Đây không phải là một gợi ý tốt.
gung - Tái lập Monica

@consent với gung một số vấn đề được thảo luận tại stats.stackexchange.com/questions/69452/ mẹo
SIslam

-2

Tại sao không thực hiện phân tích tương quan Đầu tiên và sau đó loại bỏ hồi quy chỉ những người đã đăng ký với DV?


2
Đây thường là một cách kém để chọn biến nào để chọn, xem ví dụ: Sử dụng ma trận tương quan để chọn dự đoán cho hồi quy có đúng không? Một phân tích tương quan khá khác với hồi quy bội, bởi vì trong trường hợp sau chúng ta cần nghĩ về "partialling out" (độ dốc hồi quy cho thấy mối quan hệ một khi các biến khác được tính đến ), nhưng ma trận tương quan không cho thấy điều này.
Cá bạc

Điều này không cung cấp một câu trả lời cho câu hỏi. Một khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào ; thay vào đó, cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi . - Từ đánh giá
Sycorax nói Phục hồi

1
@GeneralAbrial Nó gây ấn tượng với tôi rằng đây một câu trả lời cho câu hỏi, mặc dù ngắn gọn. Nó không phải là một giải pháp tốt cho vấn đề, nhưng đó là những gì up / downvote dành cho. (Tôi nghĩ rằng "tại sao không" được dự định là một câu hỏi tu từ, chứ không phải là một yêu cầu làm rõ từ tác giả.)
Silverfish

-4

Cố vấn của tôi đưa ra một cách khác có thể để đi về điều này. Chạy tất cả các biến của bạn một lần và sau đó loại bỏ các biến không đáp ứng một số ngưỡng (chúng tôi đặt ngưỡng của chúng tôi là p <0,25). Tiếp tục lặp lại theo cách đó cho đến khi tất cả các biến nằm dưới giá trị 0,25 đó, sau đó báo cáo các giá trị đó là đáng kể.


1
Xin chào allie, đó là những gì @Peter Ellis đã đề cập trong đoạn thứ hai của câu trả lời của anh ấy. Câu thứ hai của ông có vấn đề mà kỹ thuật này đưa ra. Bạn có một lý thuyết, đó là cho bạn biết những gì dự đoán sẽ đưa vào mô hình của bạn?
Michelle

Có, @Michelle có quyền nhấn mạnh trách nhiệm đối với phương pháp này. Nó có thể tạo ra kết quả rất tùy ý.
rolando2

Vâng, có một lý thuyết đằng sau tất cả, mà chúng tôi đang hy vọng mở rộng. Cụ thể, chúng tôi đang xem xét các tín hiệu xã hội nhất định (như lời nói) tương tác như thế nào. Chúng tôi biết những người làm hoặc không có ảnh hưởng. Tuy nhiên, chúng tôi đang cố gắng cung cấp các phiên bản chi tiết hơn. Vì vậy, bài phát biểu có thể được chia thành câu hỏi, ý kiến, đánh giá, v.v.
cryptic_star

2
Được rồi, vì vậy bạn đang làm phân tích thăm dò. :) Bạn có thể thử các kết hợp khác nhau, nhưng bạn sẽ cần kiểm tra mô hình mà bạn kết thúc với dữ liệu mới. Theo định nghĩa, với những gì bạn đang làm, bạn sẽ có mô hình "tốt nhất" cho dữ liệu của mình, nhưng nó có thể không hoạt động nếu bạn thu thập một bộ dữ liệu khác.
Michelle
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.