Có thể trong R (hoặc nói chung) để buộc các hệ số hồi quy là một dấu hiệu nhất định?


10

Tôi đang làm việc với một số dữ liệu trong thế giới thực và các mô hình hồi quy đang mang lại một số kết quả trái ngược. Thông thường tôi tin tưởng các số liệu thống kê nhưng trong thực tế một số điều này không thể là sự thật. Vấn đề chính mà tôi đang thấy là sự gia tăng của một biến đang gây ra sự gia tăng phản ứng khi trên thực tế, chúng phải có mối tương quan ngược chiều.

Có cách nào để buộc một dấu hiệu cụ thể cho từng hệ số hồi quy không? Bất kỳ mã R để làm điều này cũng sẽ được đánh giá cao.

Cảm ơn vì tất cả sự giúp đỡ!



1
Có thể liên quan ở đây

Liên kết này r-bloggers.com/poseitive-coffic-regression-in-r Tôi tin rằng câu trả lời @ Câu hỏi của JRW về các giá trị R bình phương. Như đã nhận xét, cần thận trọng trước khi buộc các giá trị hệ số dương.
Esme_

Câu trả lời:


11
  1. coi chừng sự khác biệt giữa tương quan biên và tương quan một phần (tương quan có điều kiện với các biến khác). Họ có thể hợp pháp là dấu hiệu khác nhau.

    Đó là trên thực tế có thể âm trong khi hệ số hồi quy trong hồi quy bội là dương. Không nhất thiết có bất kỳ mâu thuẫn trong hai điều đó. Xem thêm Nghịch lý của Simpson , có liên quan phần nào (đặc biệt là sơ đồ). Nói chung, bạn không thể suy ra rằng một hệ số hồi quy phải là một dấu hiệu chỉ dựa trên một lập luận về tương quan biên.corr(Y,Xi)

  2. Có, chắc chắn có thể hạn chế các hệ số hồi quy là hoặc *. Có một số cách để làm như vậy; một số trong số này có thể được thực hiện đủ dễ dàng trong R, chẳng hạn như thông qua . Xem thêm câu trả lời cho câu hỏi này trong đó đề cập đến một số gói R và các phương pháp khả thi khác.00nnls

    Tuy nhiên tôi cảnh báo bạn chống lại việc vội vàng bỏ qua các điểm trong 1. chỉ vì nhiều trong số đó được thực hiện dễ dàng.

    * (bạn có thể sử dụng các chương trình không âm để không tích cực bằng cách phủ định biến tương ứng)


10

Cũng có thể có một cách như vậy nhưng tôi sẽ nói rằng nó không được khuyến khích trong hoàn cảnh của bạn.

Nếu bạn có một kết quả là không thể:

1) Có vấn đề với dữ liệu của bạn 2) Có vấn đề với định nghĩa của bạn về "không thể" hoặc 3) Bạn đang sử dụng phương pháp sai

Đầu tiên, kiểm tra dữ liệu. Thứ hai, kiểm tra mã. (Hoặc yêu cầu người khác kiểm tra nó). Nếu cả hai đều ổn thì có lẽ điều gì đó bất ngờ đang xảy ra.

May mắn cho bạn, bạn có một "điều không thể" đơn giản - bạn nói rằng hai biến không thể tương quan dương. Vì vậy, tạo một âm mưu phân tán và thêm mượt mà và xem. Một ngoại lệ duy nhất có thể gây ra điều này; hoặc nó có thể là một mối quan hệ phi tuyến tính. Hoặc một cái gì đó khác.

Nhưng, nếu bạn may mắn, bạn đã tìm thấy một cái gì đó mới. Như giáo sư yêu thích của tôi đã từng nói "Nếu bạn không ngạc nhiên, bạn đã không học được gì".


(+1 cho cả Peter và Glen) @JRW - Nếu bạn sửa dấu hiệu, tôi muốn bay trên tường khi bạn cố gắng giải thích cho khán giả về hệ số bạn "thu được" và khoảng tin cậy của nó. Hơn nữa, họ có thể hỏi một cách hợp pháp, Bạn đã sửa dấu hiệu và / hoặc phạm vi của người khác chưa? Nếu không, tai sao không?
rolando2

6

Để trả lời câu hỏi cụ thể của bạn, bạn có thể thử gói nnls có hồi quy bình phương nhỏ nhất với các ràng buộc không âm trên các hệ số. Bạn có thể sử dụng nó để có được các dấu hiệu bạn muốn bằng cách thay đổi các dấu hiệu của các yếu tố dự đoán thích hợp.

Nhân tiện, đây là một cách rất đơn giản để tạo ra một tập dữ liệu để chứng minh làm thế nào có thể có các mối tương quan tích cực và hệ số hồi quy âm.

> n <- rnorm(200)
> x <- rnorm(200)
> d <- data.frame(x1 = x+n, x2= 2*x+n, y=x)
> cor(d)
      x1        x2         y
 x1 1.0000000 0.9474537 0.7260542
 x2 0.9474537 1.0000000 0.9078732
 y  0.7260542 0.9078732 1.0000000
> plot(d)
> lm(y~x1+x2-1, d)

Call:
lm(formula = y ~ x1 + x2 - 1, data = d)

Coefficients:
x1  x2  
-1   1  

Tôi chỉ chơi arround với gói nnls này một chút. Có cách nào để có được giá trị bình phương R đã điều chỉnh (hoặc một cái gì đó tương đương), hoặc tôi sẽ phải tự mình thử và tính toán nó?
JRW
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.