Có thể mô phỏng hồi quy logistic mà không có sự ngẫu nhiên?


8

Chúng ta có thể mô phỏng hồi quy tuyến tính mà không có sự ngẫu nhiên, có nghĩa là chúng ta tạo ra thay vì . Sau đó, nếu chúng ta phù hợp với một mô hình tuyến tính, các hệ số sẽ giống hệt với "sự thật mặt đất". Đây là một ví dụ.y = X β + εy=Xβy=Xβ+ϵ

set.seed(0)
n    <- 1e5
p    <- 3
X    <- matrix(rnorm(n*p), ncol=p)
beta <- runif(p)
# y  <- X %*% beta + rnorm(n)*0.5
# remove the randomness
y    <- X %*% beta
dat  <- data.frame(y=y, x=X)
lm.res = lm(y ~ .-1, data=dat)
norm(as.matrix(lm.res$coefficients - beta))
[1] 2.176037e-14

Câu hỏi của tôi là chúng ta có thể làm mô phỏng tương tự với hồi quy logistic không? Từ câu hỏi này, tôi nhận được điểm loại bỏ tính ngẫu nhiên có thể được thực hiện bằng cách sử dụng câu lệnh xác định thay vì mẫu từ phân phối nhị thức.

y <- ifelse(plogis(X %*% beta)>0.5,1,0) 

thay vì

y <- rbinom(n,1,prob=plogis(X %*% beta))

Nhưng nếu chúng ta làm điều đó, sự phân tách hoàn toàn sẽ xảy ra và chúng ta không thể có được các hệ số. Mặt khác, nếu chúng ta thêm chính quy, thì các hệ số sẽ không phải là dữ liệu được tạo.

Vậy, tôi có thể làm gì để "loại bỏ tính ngẫu nhiên trong hồi quy logistic" và giải quyết các hệ số "sự thật cơ bản" chính xác như trường hợp hồi quy tuyến tính?

Tôi cảm thấy tôi có một số hiểu lầm cơ bản về khái niệm này, tôi còn thiếu gì?


1
Tôi không thấy lý do thống kê để thực hiện việc này vì bạn cần biết các tham số để tạo phản hồi. toàn bộ là hoàn toàn xác định.
Michael R. Chernick

@MichaelCécick Tôi đang thử nghiệm một số thuật toán tối ưu hóa, nơi tôi muốn mô phỏng sự thật cơ bản và so sánh nó với đầu ra thuật toán, đây là một ví dụ.
Haitao Du

Câu trả lời:


7

Hồi quy logistic không có thuật ngữ "lỗi" như với hồi quy tuyến tính cổ điển. Ngoại lệ cho điều này có thể là hồi quy tuyến tính ngưỡng với một thuật ngữ lỗi logistic, nhưng đây không phải là mô hình xác suất thường được chấp nhận dẫn đến mô hình hồi quy logistic. Điều này là do các mô hình logistic có mối quan hệ trung bình-phương sai. Tương tự như "thêm một thuật ngữ lỗi" vào mô hình hồi quy tuyến tính thực sự là một mô hình quasibinomial trong đó phương sai chỉ tỷ lệ thuận với p * (1-p).

Một câu hỏi liên quan có thể là làm thế nào để có được kết quả mô hình hồi quy giống hệt nhau trên các thiết kế hoặc sao chép khác nhau. Điều này có thể được thực hiện với một "mẹo" trong phần mềm mô hình hồi quy. Bạn có thể tạo không thể thiếu kết quả từ rủi ro dự đoán mà kết quả trong cùng một kết quả hồi quy logistic không phụ thuộc vào thiết kế của . Ví dụ: và như hai thiết kế khác nhau. Như trong trường hợp của bạn, và cả hai đều dẫn đến mô hình hồi quy logistic giống nhau dẫn đến 0,3 là tỷ lệ chênh lệch log và 0,0 là tỷ lệ cược log cho .X x = 0YXx1 <- seq(-3, 3, 0.1)x2 <- rnorm(61)y1 <- plogis(0.3*x1)y2 <- plogis(0.3*x2)x=0

> glm(y1 ~ x1, family=binomial)

Call:  glm(formula = y1 ~ x1, family = binomial)

Coefficients:
(Intercept)           x1  
 -2.528e-16    3.000e-01  

Điều này liên quan đến câu hỏi của bạn vì các ước tính tham số chính xác như được xác định trong mô hình xác suất của bạn, không phụ thuộc vào thiết kế của và không tách biệt (ví dụ: tỷ lệ tỷ lệ cược log, ).β = ± xβ=±

Mô hình hóa kết quả phân đoạn trong mô hình logistic là một cách phân tích dữ liệu sinh thái được chấp nhận, trong đó kết quả thực sự có thể là phân số. Không phải ngẫu nhiên, đây cũng là một kiểu người mẫu khi các mô hình quasibinomial được sử dụng nhiều nhất. Cũng không phải ngẫu nhiên, tôi nghĩ rằng độ phân tán tỷ lệ thuận với một tham số tỷ lệ cho thuật ngữ lỗi logistic khi thực hiện "hồi quy logistic tiềm ẩn".


+1 tôi không chắc chắn tôi hiểu "Bạn có thể tạo ra kết quả Y không tách rời khỏi rủi ro dự đoán dẫn đến kết quả hồi quy logistic tương tự độc lập với thiết kế của X." bạn có thể giải thích thêm? Ngoài ra, bạn đã có một câu trả lời ở đây là những gì bạn đang nói về?
Haitao Du

@ hxd1011 không, liên kết bạn cung cấp là một cách tiếp cận khác để ước tính GLM. Tuy nhiên, nó có liên quan đến một điểm: trong hồi quy logistic, phương sai là một hàm của giá trị trung bình, không phải là đầu vào độc lập cho kết quả. Nếu bạn nhập giá trị dự kiến ​​của thay vì mô phỏng kết quả Bernoulli, bạn đang tạo kết quả theo mô hình xác suất mong muốn. y
AdamO

mã của bạn làm tôi suy nghĩ ..., tôi không biết bạn có thể chạy glm family=binomialvới một số phân số. nó đã cho tôi một cảnh báo. nhưng vẫn có thể chạy ... "Trong eval (gia đình $ khởi tạo): #successes không nguyên trong một nhị thức glm!"
Haitao Du

@ hxd1011 Nó không xuất hiện nhiều trong thực tế, nhưng vào cuối ngày fit.glmchỉ là tối đa hóa một chức năng. Nó không quan tâm nhiều đến các giá trị ylà gì, chỉ là chúng không làm nổ tung các giá trị được tính toán của hàm.
Matthew Drury

3

y=Xβ+ε
Xβεy X ε 0 σ 2
f(y)={0, if yθ1, if y>θ
θlà một ngưỡng. Xác suất mà hàm này trả về , với giá trị nhất định là bao nhiêu? Nếu chúng ta giả sử rằng thường được phân phối với giá trị trung bình và phương sai , thì chúng ta có thể tính xác suất này là:1Xε0σ2

p(f(y)=1|X)=p(y>θ|X)=θN(y;Xβ,σ2)dy

Nói cách khác, đây là tính toán khu vực theo phân phối Bình thường ở bên phải ngưỡng. Lưu ý rằng xác suất này về cơ bản là những gì một mô hình hồi quy logistic cố gắng mô tả. Và thực tế, nếu bạn vẽ xác suất này là một hàm của , bạn sẽ có một hình dạng khá gần với hàm logistic (trên thực tế, hàm logistic thường được sử dụng như một xấp xỉ thuận tiện cho phân phối Bình thường tích lũy).X

Đối với các giá trị của gần ngưỡng, xác suất sẽ ở trên ngưỡng là gần , vì nhiễu có thể làm ảnh hưởng đến kết quả. Khi bạn tăng , sẽ càng rời xa và sẽ có nhiều khả năng hơn. Điều quan trọng là, tăng nhanh như thế nào với phụ thuộc vào hai điều: độ dốc và phương sai tạp âm . Chính xác hơn, nó phụ thuộc vào tỷ lệy 0,5Xβy0.5εXXβθf(y)=1p(f(y)=1|X)Xβσ2βσ. Chính tỷ lệ (tín hiệu trên tạp âm) này sẽ quyết định hệ số (dự kiến) bạn có được từ hồi quy logistic. Nói cách khác, bạn có thể nghĩ về các hệ số trong hồi quy logistic khi kiểm soát mỗi biến độc lập cần thay đổi bao nhiêu so với nhiễu trong dữ liệu để tăng xác suất của một kết quả nhất định.

Bây giờ để đi đến câu hỏi của bạn: bạn đang hỏi liệu có thể loại bỏ tất cả sự ngẫu nhiên, tức là không có tiếng ồn. Điều này có nghĩa là bằng và do đó sẽ không được xác định (hoặc "vô hạn"). Điều này giải thích những gì bạn tìm thấy, rằng bạn không thể ước tính các hệ số khi không có tiếng ồn. Thật vậy, bạn có thể nghĩ đến sự phân tách hoàn hảo mà bạn đạt được mà không có nhiễu tương ứng với một hệ số vô hạn trên biến độc lập của bạn, vì (đối với gần ngưỡng ), bạn chỉ cần thay đổi một lượng vô hạn để có thể đi hết đường từ đến .0 βσ0 XbetaqXp(y>q|X)=0p(y>q|X)=1βσXβθXp(y>θ|X)=0p(y>θ|X)=1

Chỉnh sửa: thực sự một điều bạn có thể làm là thay vì vẽ các mẫu từ phân phối nhị thức để mô phỏng dữ liệu của bạn, thay thế các mẫu này theo kỳ vọng của chúng, tức là xác suất được dự đoán bởi hàm logistic mô phỏng. Bằng cách đó, bạn sẽ loại bỏ tính ngẫu nhiên xuất phát từ việc mô phỏng một mẫu giới hạn (nghĩa là độ biến thiên của mẫu), và do đó, ước tính hệ số của bạn sẽ bằng với sự thật nền tảng (vì có một hàm logistic phù hợp chính xác với các giá trị này).


3
Lưu ý bạn mô tả hồi quy Probit (bạn có thể sử dụng N (0, 1) mà không mất tính tổng quát, nó chỉ chia tỷ lệ cho các hệ số của bạn), điều này thực sự rất gần với hồi quy Logistic nhưng như bạn đã đề cập không hoàn toàn giống nhau.
Sven
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.