為什麼在 beta 回歸中使用 logit 鏈接?
最近,我對實現一個 beta 回歸模型感興趣,以獲得一個比例的結果。請注意,此結果不適合二項式上下文,因為在此上下文中沒有有意義的離散“成功”概念。實際上,結果實際上是持續時間的比例;分子是某個條件在該條件有資格處於活動狀態的總秒數內處於活動狀態時的秒數。我為變幻莫測表示歉意,但我不想過多地關注這個精確的背景,因為我意識到除了 beta 回歸之外,還有多種方法可以對這樣的過程進行建模,現在我對理論更感興趣在我嘗試實施這樣一個模型時出現的問題(當然,我是
在任何情況下,我能夠找到的所有資源都表明 beta 回歸通常適合使用 logit(或 probit/cloglog)鏈接,並且參數被解釋為對數賠率的變化。但是,我還沒有找到一個參考,它實際上提供了任何真正的理由來說明為什麼要使用這個鏈接。
最初的 Ferrari & Cribari-Neto (2004) 論文沒有提供理由;他們只注意到 logit 函數“特別有用”,因為對指數參數的優勢比解釋。其他來源暗示希望從區間 (0,1) 映射到實線。**但是,考慮到我們已經假設了一個 beta 分佈,我們是否一定需要一個鏈接函數來進行這樣的映射?除了假設 beta 分佈所施加的約束之外,鏈接函數提供了哪些好處?**我已經進行了幾次快速模擬,並且沒有看到具有身份鏈接的 (0,1) 區間之外的預測,即使從概率質量很大程度上集中在 0 或 1 附近的 beta 分佈進行模擬時也是如此,但也許是我的模擬還不夠籠統,無法捕捉到一些病狀。
在我看來,基於個人在實踐中如何解釋來自 beta 回歸模型的參數估計(即優勢比),他們隱含地對“成功”的機率進行推斷;也就是說,他們正在使用 beta 回歸作為二項式模型的替代品。考慮到 beta 分佈和二項分佈之間的關係,這在某些情況下可能是合適的,但在我看來,這應該是一種特殊情況,而不是一般情況。在這個問題中,提供了一個答案來解釋相對於連續比例而不是結果的優勢比,但在我看來,嘗試以這種方式解釋事物似乎是不必要的麻煩,而不是使用例如對數或身份鏈接並解釋百分比變化或單位變化。
那麼,為什麼我們將 logit 鏈接用於 beta 回歸模型?是否只是為了方便,將其與二項式模型聯繫起來?
鏈接功能的理由:鏈接功能確保所有擬合值總是在_. 這在某些應用程序中可能無關緊要,例如,因為預測或僅在樣本內評估或不太接近 0 或 1。但在某些應用程序中可能很重要,您通常事先不知道它是否重要或不是。我見過的典型問題包括:評估新的預測(稍微)超出原始學習樣本範圍的值或找到合適的起始值。對於後者,請考慮:
library("betareg") data("GasolineYield", package = "betareg") betareg(yield ~ batch + temp, data = GasolineYield, link = make.link("identity")) ## Error in optim(par = start, fn = loglikfun, gr = if (temporary_control$use_gradient) gradfun else NULL, : ## initial value in 'vmmin' is not finite
但是,當然,人們可以簡單地嘗試這兩種選擇,看看是否出現了身份鏈接問題和/或它是否提高了模型的擬合度。
**參數的解釋:**我同意在具有鏈接功能的模型中解釋參數比在具有標識鏈接的模型中更困難,並且從業者經常弄錯。但是,我也經常看到對線性概率模型中參數的誤解(帶有恆等鏈接的二元回歸,通常是最小二乘法)。如果預測值足夠接近 0 或 1,那麼邊際效應不變的假設就無法成立,並且需要非常小心。例如,對於觀察增加不能導致減少的,說,. 但在這些情況下,這通常被非常草率地對待。因此,我認為對於有限響應模型,任何鏈接函數的參數都需要仔細解釋,並且可能需要一些練習。因此,我通常的建議是(如您在問題中鏈接的其他討論所示)查看感興趣的回歸量配置的影響。對於不同的鏈接功能,這些更容易解釋並且通常(但不總是)非常相似(從實際角度來看)。