Làm thế nào để chọn chuyển đổi tốt nhất để đạt được tuyến tính?


10

Tôi muốn thực hiện nhiều hồi quy tuyến tính và sau đó để dự đoán các giá trị mới với phép ngoại suy nhỏ. Tôi có biến phản hồi của mình trong phạm vi từ -2 đến +7 và ba yếu tố dự đoán (phạm vi khoảng +10 - +200). Việc phân phối gần như bình thường. Nhưng mối quan hệ giữa phản ứng và các yếu tố dự đoán không phải là tuyến tính, tôi thấy các đường cong trên các ô. Ví dụ như thế này: http://cs10418.userapi.com/u17020874/153949434/x_9898cf38.jpg

Tôi muốn áp dụng một chuyển đổi để đạt được tuyến tính. Tôi đã cố gắng biến đổi biến trả lời bằng cách kiểm tra các hàm khác nhau và xem xét các ô kết quả để thấy mối quan hệ tuyến tính giữa đáp ứng và các yếu tố dự đoán. Và tôi thấy rằng có nhiều hàm có thể cho tôi mối quan hệ tuyến tính rõ ràng. Ví dụ: các chức năng

t1=log(y+2.5)

t2=1log(y+5)

t3=1y+5

t4=1(y+10)3

t5=1(y+3)13 v.v ... cho kết quả tương tự: http://cs10418.userapi.com/u17020874/153949434/x_06f13dbf.jpg

Sau khi tôi sẽ chuyển đổi ngược lại các giá trị dự đoán (cho là và cứ thế). Các bản phân phối ít nhiều giống với bình thường.t=1(y+10)3y=1t1310

Làm cách nào tôi có thể chọn chuyển đổi tốt nhất cho dữ liệu của mình? Có một cách định lượng (và không quá phức tạp) để đánh giá tuyến tính? Để chứng minh rằng chuyển đổi được chọn là tốt nhất hoặc tự động tìm nó nếu có thể.

Hoặc cách duy nhất là thực hiện hồi quy đa tuyến tính?


Tôi đã cố gắng cải thiện định dạng của các công thức của bạn nhưng có thể đã đưa ra một số sai lầm - vui lòng kiểm tra.
Peter Ellis

Tôi không tin anh. Về mặt toán học, đến thể có mối quan hệ tuyến tính với biến thứ sáu trong phạm vi . Tôi nghĩ rằng bạn có thể đã phạm sai lầm trong việc tính toán các biến đổi này của . t1t50200y
whuber

1
@whuber Cảm ơn bạn đã trả lời. Tôi đã thực hiện các âm mưu trong R cs9579.userapi.com/u17020874/153949434/z_9fa17c02.jpg cs9579.userapi.com/u17020874/153949434/z_7fa6891c.jpg
nadya

2
Bạn đúng. Điều đó thật đáng kinh ngạc khi một loạt các biểu hiện lại của y sẽ vẫn tồn tại trong mối quan hệ tuyến tính với r. Cảm ơn đã chia sẻ điều đó. Nếu bạn vẽ các phần dư, bạn sẽ thấy rằng trông tốt nhất, và sau đó không cần biểu thức lại : . 1/(y+5)rplot(lm(1/(y+5)~r))
whuber

Câu trả lời:


14

Đây là một phần của một nghệ thuật, nhưng có một số điều tiêu chuẩn, đơn giản mà người ta luôn có thể cố gắng.

Điều đầu tiên cần làm là thể hiện lại biến phụ thuộc ( ) để làm cho phần bình thường. Điều đó không thực sự áp dụng trong ví dụ này, khi các điểm dường như rơi dọc theo một đường cong phi tuyến trơn tru với rất ít sự phân tán. Vì vậy, chúng tôi tiến hành bước tiếp theo.y

Điều tiếp theo là thể hiện lại biến độc lập ( ) để tuyến tính hóa mối quan hệ. Có một cách đơn giản, dễ dàng để làm điều này. Chọn ba điểm đại diện dọc theo đường cong, tốt nhất là ở cả hai đầu và giữa. Từ hình đầu tiên, tôi đọc các cặp theo thứ tự = , và . Không có bất kỳ thông tin nào khác ngoài vẻ luôn dương, một lựa chọn tốt là khám phá các phép biến đổi Box-Cox cho các quyền hạn khác nhau , thường được chọn là bội số của hoặc và thường là giữar(r,y)(10,7)(90,0)(180,2)r r(rp1)/pp1/21/31 và . (Giá trị giới hạn khi tiến đến là .) Phép biến đổi này sẽ tạo ra mối quan hệ tuyến tính gần đúng với điều kiện độ dốc giữa hai điểm đầu tiên bằng độ dốc giữa cặp thứ hai.1p0log(r)

Ví dụ: độ dốc của dữ liệu chưa được truyền là = - và = . Đây là khá khác nhau: một là khoảng bốn lần khác. Thử cho độ dốc của , v.v., hoạt động đến và : bây giờ một trong số chúng chỉ gấp đôi cái kia, đây là một cải tiến. Tiếp tục theo cách này (một bảng tính là thuận tiện), tôi thấy rằng hoạt động tốt: sườn đang và(07)/(9010)0.088(20)/(18090)0.022p=1/2(07)/(901/211/2101/211/2)16.632.4p07.36.6, gần như cùng một giá trị. Do đó, bạn nên thử một mô hình có dạng . Sau đó lặp lại: khớp một dòng, kiểm tra các phần dư, xác định một phép biến đổi của để làm cho chúng xấp xỉ đối xứng và lặp lại.y=α+βlog(r)y

John Tukey cung cấp chi tiết và nhiều ví dụ trong cuốn sách kinh điển Phân tích dữ liệu khám phá (Addison-Wesley, 1977). Ông đưa ra các thủ tục tương tự (nhưng liên quan nhiều hơn một chút) để xác định các biến đổi ổn định phương sai của . Một bộ dữ liệu mẫu mà ông cung cấp như một bài tập liên quan đến dữ liệu thế kỷ về áp suất hơi thủy ngân đo được ở các nhiệt độ khác nhau. Theo quy trình này cho phép người ta khám phá lại mối quan hệ Clausius-Clapeyron ; phần dư cho phù hợp cuối cùng có thể được hiểu theo nghĩa các hiệu ứng cơ học lượng tử xảy ra ở khoảng cách nguyên tử!y


Cảm ơn bạn đã cho lời khuyên của việc chuyển đổi Box-Cox. Liệu có ý nghĩa gì khi kiểm tra R bình phương của lm (1 / (y + 5) ~ r) và lm của các hàm khác và sau đó để so sánh các bình phương R này không?
nadya

Nó có ý nghĩa khi rđược cố định, bởi vì sau đó là một proxy cho phương sai của phần dư. Tuy nhiên, nếu bạn đang diễn đạt lại (biến độc lập), thì là vô dụng hoặc gây hiểu lầm: xem stats.stackexchange.com/questions/13314/ Lỗi . R2rR2
whuber

Rất cám ơn đã trả lời! Tôi sẽ không biến đổi các biến độc lập của mình
nadya

@whuber: Giả sử tôi chỉ có một biến duy nhất , quy tắc tốt để chọn phép biến đổi là gì? Tôi có cuốn sách EDA của Tukey, nhưng tôi thấy khó tìm được đường đi. Rất nhiều dường như được tập trung vào biểu hiện lại bằng bút và giấy. Bất kỳ trang / chương bạn tìm thấy rất có giá trị? y
Erich Schubert

@Erich Mỗi bit của cuốn sách đó đều rất bổ ích: sau tất cả, nếu bạn có thể làm gì đó bằng bút chì và giấy, thì bạn có thể lập trình một máy tính để làm điều đó :-). Với một biến duy nhất thường là tốt để biến đổi nó thành đối xứng (phân phối theo kinh nghiệm của nó); Tukey gọi đây là "một thỏa thuận nhỏ." Một cách đơn giản để xác định một phép biến đổi như vậy được mô tả trong phần 3E, "Tìm kiếm nhanh". Nó minh họa những gì có thể học được từ một cái nhìn tóm tắt về chữ N (Tukey gợi ý tóm tắt 7 hoặc 9 chữ cái). Có được kỹ năng đó có giá trị hơn việc có một chương trình máy tính thực hiện các phép tính cho bạn.
whuber

1

Nếu biến trả lời của bạn (hay đúng hơn, cái sẽ trở thành phần dư của biến trả lời của bạn) trên thang đo ban đầu có phân phối Bình thường như bạn ngụ ý, thì việc chuyển đổi nó để tạo mối quan hệ tuyến tính với các biến khác sẽ có nghĩa là nó không còn là Bình thường nữa và nó cũng sẽ thay đổi mối quan hệ giữa phương sai và giá trị trung bình của nó. Vì vậy, từ phần mô tả của bạn, tôi nghĩ rằng bạn nên sử dụng hồi quy phi tuyến tính tốt hơn là chuyển đổi phản hồi. Mặt khác, sau khi chuyển đổi tuyến tính của phản hồi, bạn sẽ cần một cấu trúc lỗi phức tạp hơn (mặc dù đây có thể là vấn đề phán đoán và bạn sẽ cần kiểm tra, sử dụng các phương pháp đồ họa).

Ngoài ra, điều tra chuyển đổi của các biến giải thích . Cũng như các phép biến đổi thẳng, bạn cũng có tùy chọn thêm vào các thuật ngữ bậc hai.

Tổng quát hơn, biến đổi là một nghệ thuật hơn là một khoa học, nếu không có lý thuyết hiện có để đề xuất những gì bạn nên sử dụng làm cơ sở của chuyển đổi.

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.