Hồi quy tuyến tính với các yếu tố trong R


10

Tôi đang cố gắng hiểu chính xác các yếu tố hoạt động như thế nào trong R. Giả sử tôi muốn chạy hồi quy bằng một số dữ liệu mẫu trong R:

> data(CO2)
> colnames(CO2)
[1] "Plant"     "Type"      "Treatment" "conc"      "uptake"   
> levels(CO2$Type)
[1] "Quebec"      "Mississippi"
> levels(CO2$Treatment)
[1] "nonchilled" "chilled"   
> lm(uptake ~ Type + Treatment, data = CO2)

Call:
lm(formula = uptake ~ Type + Treatment, data = CO2)

Coefficients:
 (Intercept)   TypeMississippi  Treatmentchilled  
       36.97            -12.66             -6.86  

Tôi hiểu điều đó TypeMississippiTreatmentchilledđược coi là booleans: Đối với mỗi hàng, sự hấp thu ban đầu là 36.97và chúng tôi trừ đi 12.66nếu đó là loại Mississippi và 6.86nếu nó được làm lạnh. Tôi đang gặp khó khăn để hiểu một cái gì đó như thế này:

 > lm(uptake ~ Type * Treatment, data = CO2)

 Call:
 lm(formula = uptake ~ Type * Treatment, data = CO2)

 Coefficients:
                 (Intercept)                   TypeMississippi  
                      35.333                            -9.381  
            Treatmentchilled  TypeMississippi:Treatmentchilled  
                      -3.581                            -6.557  

Có nghĩa là gì để nhân hai yếu tố với nhau trong một lm?

Câu trả lời:


17

Để giải thích câu trả lời của @ John: trong công thức của R, bạn có một vài toán tử bạn có thể áp dụng cho các thuật ngữ: "+" chỉ cần thêm chúng, ":" có nghĩa là bạn thêm một thuật ngữ (hoặc một số thuật ngữ) đề cập đến tương tác của chúng ( xem bên dưới), "*" có nghĩa là cả hai, đó là: "các hiệu ứng chính" được thêm vào và thuật ngữ tương tác cũng được thêm vào.

Vậy tương tác này có ý nghĩa gì? Vâng, trong trường hợp các biến liên tục, nó thực sự là một thuật ngữ được thêm vào mà chỉ đơn giản là bội số của hai biến. Nếu bạn có chiều cao và cân nặng làm công cụ dự đoán và sử dụng out ~ height * weightlàm công thức, thì mô hình tuyến tính sẽ chứa ba "biến số", cụ thể là cân nặng, chiều cao và sản phẩm của chúng (nó cũng chứa sự tương tác nhưng ít được quan tâm ở đây).

Mặc dù tôi đề nghị ở trên: cách này hoạt động chính xác theo cùng một cách cho các biến phân loại, nhưng bây giờ 'sản phẩm' áp dụng cho (bộ) biến giả cho mỗi biến phân loại. Giả sử chiều cao và cân nặng của bạn hiện đang được phân loại, mỗi loại có ba loại (S (mall), M (edium) và L (arge)). Sau đó, trong các mô hình tuyến tính, mỗi mô hình này được biểu diễn bằng một bộ gồm hai biến giả là 0 hoặc 1 (có nhiều cách mã hóa khác, nhưng đây là mặc định trong R và được sử dụng phổ biến nhất). Giả sử chúng ta sử dụng S làm danh mục tham chiếu cho cả hai, sau đó chúng ta có mỗi lần hai hình nộm chiều cao.M và height.L (và tương tự về cân nặng).

Vì vậy, bây giờ, mô hình out ~ height * weightbây giờ chứa 4 hình nộm + tất cả các sản phẩm của tất cả các kết hợp giả (tôi không viết rõ ràng các hệ số ở đây, chúng được ngụ ý):

(intercept) + height.M + height.L + weight.M + weight.L + height.M * weight.M + height.L * weight.M + height.M * weight.L + height.L * weight.L.

Trong dòng trên, '*' bây giờ một lần nữa đề cập đến một sản phẩm đơn giản, nhưng lần này là các hình nộm, do đó, mỗi sản phẩm cũng là 1 (khi tất cả các yếu tố là 1) hoặc 0 (khi có ít nhất một yếu tố không).

Trong trường hợp này, 8 'biến' cho phép các kết quả (trung bình) khác nhau trong tất cả các kết hợp của hai biến: hiệu ứng có trọng lượng lớn giờ không còn giống nhau đối với người nhỏ (đối với họ, hiệu ứng được hình thành đơn giản bởi thuật ngữ weight.L) như đối với người lớn (ở đây, hiệu quả là weight.L + height.L * weight.L)


7

Để theo dõi câu trả lời của John, các công thức trong lm không sử dụng ký hiệu số học, họ đang sử dụng một ký hiệu tượng trưng nhỏ gọn để mô tả các mô hình tuyến tính (cụ thể là ký hiệu Wilkinson-Rogers, có một tóm tắt ngắn ở đây http: //www.physiol .ox.ac.uk / ~ raac / R.shtml ).

Về cơ bản, bao gồm A * B trong công thức mô hình có nghĩa là bạn phù hợp với A, B và A: B (sự tương tác của A và B). Nếu thuật ngữ tương tác có ý nghĩa thống kê, nó cho thấy hiệu quả của điều trị là khác nhau đối với mỗi loại.


3

Có lẽ tìm kiếm "công thức" trong trợ giúp sẽ có ích. Bạn không nhân lên, bạn đang nói rằng bạn cũng muốn hai hiệu ứng chính và tương tác của chúng.


1
(+1) mặc dù có vẻ giống như một nhận xét với tôi hơn.
Dmitrij Celov
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.