Tại sao phần chặn được nhập là 1 trong các gói thống kê (R, python)


7

Khi sử dụng phần mềm thống kê, Khi xác định các mô hình tuyến tính của bạn, tại sao phần chặn được nhập là 1, thay vì "const" hoặc "chặn" hoặc một cái gì đó. 1 có ý nghĩa gì?

Có một số lý do lịch sử? Hoặc là này logic trong một số cách tôi đang thất bại trong việc nắm bắt? Việc đánh chặn rất có thể là bất kỳ số nào.

Ví dụ từ thư viện statsmodels trong python:

model = smf.ols('Height ~ 1', data = height_sample_data)

Tôi biết gói lmer cho R rất giống nhau.


5
Chặn là hệ số (mà thực sự có thể có bất kỳ giá trị nào), nhưng những gì bạn nhập vào chương trình hồi quy khi bạn phù hợp với mô hình không phải là các hệ số, mà là những điều bạn nhân các hệ số theo phương trình hồi quy (của ) . Bạn nhân hệ số chặn bằng phương trình hồi quy nào? (Lưu ý rằng .)xβ0×1=β0
Glen_b -Reinstate Monica

Câu trả lời:


16

Đó là logic, một khi bạn xem xét ký hiệu ma trận rằng công thức của bạn sẽ được dịch sang bên trong. Trong ma trận, các yếu tố dự đoán không liên tục sẽ được dịch thành (một hoặc nhiều) cột và phần chặn sẽ được dịch thành một cột bao gồm toàn bộ các cột.

Chẳng hạn, trong R bạn sẽ viết một OLS rất đơn giản như sau:

lm(z~1+x+y)

Trong ký hiệu ma trận, điều này sẽ được dịch thành một mô hình

(z1z2zn)=(1x1y11x2y21xnyn)(β0βxβz)+(ϵ1ϵ2ϵn),

và bây giờ bạn thấy đến từ đâu.1


Trên thực tế, bạn có thể bỏ 1+qua, vì R sẽ luôn cho rằng bạn muốn bao gồm một phần đánh chặn, vì vậy điều này hoàn toàn tương đương với

lm(z~x+y).

Tuy nhiên, nếu bạn muốn ngăn chặn việc đánh chặn, bạn sẽ viết một cái gì đó như

lm(z~x+y-1),

sẽ được dịch thành ma trận không có cột 1:

(z1z2zn)=(x1y1x2y2xnyn)(βxβz)+(ϵ1ϵ2ϵ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.