2012-04-05 23 views
11

Tôi đang sử dụng mô hình lm chuẩn và muốn đặt các hệ số của một hoặc nhiều biến số của tôi thành một số nguyên cụ thể. Ví dụ, tôi muốn hệ số biến thời tiết và giá của tôi tương ứng là 647 và 15.Đặt một hoặc nhiều hệ số thành một số nguyên cụ thể

Tôi đang sử dụng hàm lm với công thức chuẩn.

Những điều gần nhất tôi đã tìm thấy cho đến nay là chức năng bù đắp trong phạm vi glm hoặc hạn chế trong các hệ thống.

Tôi cũng đã xem xét trừ tổng số đóng góp từ các biến này với hệ số của chúng được đặt, nhưng điều này không thể mở rộng được.

Tôi nhận thức được tất cả các vấn đề khi thiết lập hệ số, nhưng muốn thực hiện điều đó chỉ từ quan điểm khám phá.

Trả lời

12

Bạn có thể sử dụng thuật ngữ bù đắp trong công thức và bao gồm các hệ số mong muốn và biến trong đó:

df<-data.frame(aa=1:6,bb=2:7,cc=c(4,2,7,5,8,3)) 

lm(cc ~ aa + offset(647*bb), data = df) 

Vì vậy, đây là suy thoái cc trên aa cộng với hạn cố định bb * 647. Đối với nhiều hơn một hệ số đã cho, hãy thêm các điều khoản bổ sung thích hợp offset().

+0

Không, điều này không chính xác vì nó vẫn cho phép hệ số 'offset (647 * bb)' khác với 1. –

+0

@AndrewSchulman, trong ví dụ trên, hệ số của cụm từ bù trừ phải là 1. Bạn có một ví dụ trong tâm trí mà nó khác với 1? – BenBarnes

+0

Để làm rõ: hệ số của 'offset (647 * bb)' là 1 – BenBarnes

Các vấn đề liên quan