R

是否可以在沒有隨機性的情況下模擬邏輯回歸?

  • May 31, 2017

我們可以模擬沒有隨機性的線性回歸,這意味著我們使代替. 然後,如果我們擬合線性模型,則係數將與“基本事實”相同。這是一個例子。

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

我的問題是**我們可以用邏輯回歸做類似的模擬嗎?**從這個問題中,我得到了消除隨機性的觀點,可以通過使用確定性語句而不是二項分佈中的樣本來完成。

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

代替

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

但如果我們這樣做,就會發生完全分離,我們無法得到係數。另一方面,如果我們添加正則化,那麼係數將不是生成的數據。

那麼,我能做些什麼來“消除邏輯回歸中的隨機性”並解決線性回歸案例等確切的“基本事實”係數?

我覺得我對這個概念有一些基本的誤解,我錯過了什麼?

與經典線性回歸一樣,邏輯回歸沒有“錯誤”術語。例外情況可能是帶有邏輯誤差項的閾值線性回歸,但這不是一個普遍接受的概率模型,它會導致邏輯回歸模型。這是因為邏輯模型具有均值-方差關係。類似於“添加誤差項”到線性回歸模型實際上是一個擬二項式模型,其中方差僅與p*(1-p)成正比。

一個相關的問題可能是如何獲得在各種設計或複制中相同的回歸模型結果。這可以通過回歸建模軟件中的“技巧”來完成。您可以生成非積分預測風險的結果導致相同的邏輯回歸結果,獨立於設計. 例如:x1 <- seq(-3, 3, 0.1)x2 <- rnorm(61)作為兩種不同的設計。與您的情況一樣,y1 <- plogis(0.3*x1)兩者y2 <- plogis(0.3*x2)都產生相同的邏輯回歸模型結果,對數優勢比為 0.3,對數優勢為 0.0.

> glm(y1 ~ x1, family=binomial)

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

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

這與您的問題有關,因為參數估計值與您的概率模型中的定義完全相同,與,並且沒有分離(例如對數優勢比,)。

在邏輯模型中對分數結果進行建模是分析生態數據的公認方式,其中結果可能確實是分數。並非巧合的是,當擬二項式模型最有用時,這也是一種建模。同樣並非巧合的是,我認為在進行“潛在邏輯回歸”時,離散度與邏輯誤差項的比例參數成正比。

引用自:https://stats.stackexchange.com/questions/282804

comments powered by Disqus