Làm cách nào để chạy hàm 'lm' trong R, nhưng với một công thức chỉ có một phần chặn?


8

Tôi đã thử chạy một công thức tương tự y ~ 1. Điều này mang lại cho tôi chỉ là một đánh chặn, nhưng giá trị được hiển thị bằng với ước tính chặn (không có đồng biến) + 1, hay chỉ là ước lượng chặn (không có đồng biến)?

Bất kỳ trợ giúp sẽ được đánh giá cao.


1
Sẽ không có ý nghĩa đánh chặn (y)
Aaron

Vì các tham chiếu công thức chỉ yvà hằng số 1, làm thế nào nó thậm chí có thể biết về bất kỳ hiệp phương sai nào?
whuber

@whuber tôi không biết. Trong R nếu bạn đặt -1, thì lm thực hiện hồi quy không có hằng số. Chỉ cần đặt 1, chúng tôi có thể kích hoạt một tùy chọn khác mà tôi không biết ... Đó là lý do tại sao tôi hỏi.
Một ông già ở biển.

1
Tùy chọn hay không, nếu bạn không cung cấp bất kỳ đồng biến nào cho một thủ tục, thì không có cách nào để nó sử dụng chúng, phải không?
whuber

@whuber có lẽ bạn đúng, mặc dù tôi có thể nói rằng lm (công thức, dữ liệu) và trong dữ liệu, hàm lm có thể tìm thấy các đồng biến ...
Một ông già ở biển.

Câu trả lời:


14

Khi bạn thực hiện hồi quy tuyến tính trên một hằng số, bạn sẽ chỉ nhận được giá trị chặn, đây thực sự chỉ là giá trị trung bình của kết quả.

Trong R chúng ta có:

y <- rnorm(1000)
lm(y ~ 1)
# intercept = 0.00965
mean(y)
# Equal to 0.00965

Lý do để thực hiện theo cách hồi quy, thay vì chỉ tính toán giá trị trung bình, là để có được một lỗi tiêu chuẩn dễ dàng.

Nếu không biết ý của bạn là gì với "chặn +1", nhưng những gì bạn nhận được là giá trị trung bình của kết quả, tức là giá trị mong đợi của y khi bạn không kiểm soát bất cứ điều gì.


1
Cảm ơn Repmat. Ngoài ra, một lý do khác để làm điều này là một số gói yêu cầu người dùng xác định mô hình cơ sở, ví dụ 'BayesVarSel'.
Một ông già ở biển.
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.