Regression
betareg coef的解釋
我有一個數據,其結果是機器在 2 天內在一個區域內觀察到的物種的比例。由於結果是一個比例,不包括 0 或 1,我使用 beta 回歸來擬合模型。溫度用作自變量。這是一些玩具 R 代碼:
set.seed(1234) library(betareg) d <- data.frame( DAY = c(1,1,1,1,2,2,2,2), Proportion = c(.4,.1,.25, .25, .5,.3,.1,.1), MACHINE = c("A","B","C","D","H","G","K","L"), TEMPERATURE = c(rnorm(8)*100) ) b <- betareg(Proportion ~ TEMPERATURE, data= d, link = "logit", link.phi = NULL, type = "ML") summary(b) ## Call: ## betareg(formula = Proportion ~ TEMPERATURE, data = d, link = "logit", link.phi = NULL, type = "ML") ## ## Standardized weighted residuals 2: ## Min 1Q Median 3Q Max ## -1.2803 -1.2012 0.3034 0.6819 1.6494 ## ## Coefficients (mean model with logit link): ## Estimate Std. Error z value Pr(>|z|) ## (Intercept) -1.0881982 0.2620518 -4.153 3.29e-05 *** ## TEMPERATURE 0.0003469 0.0023677 0.147 0.884 ## ## Phi coefficients (precision model with identity link): ## Estimate Std. Error z value Pr(>|z|) ## (phi) 9.305 4.505 2.066 0.0389 * ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
上面你可以看到
TEMPERATURE
係數是 0.0003469。求冪,exp(.0003469) = 1.000347更新合併回復和評論:
您可以在這裡看到如何將溫度從 -10 增加到 10 增加 1 個單位來增加比例
nd <- data.frame(TEMPERATURE = seq(-10, 10, by = 1)) nd$Proportion <- predict(b, newdata = nd) nd$proportion_ratio <- nd$Proportion/(1 - nd$Proportion) plot(Proportion ~ TEMPERATURE, data = nd, type = "b")
解釋是: 1 個單位的變化
TEMPERATURE
導致 1.000347 ≈0.04% 的相對變化Proportion
:關鍵詞有相對變化,所以當你比較時
exp(coef(b))[2]
,nd$proportion_ratio[2] / nd$proportion_ratio[1]
你會發現它們是相同的## ratio of proportion nd$proportion_ratio[2] / nd$proportion_ratio[1] exp(coef(b))[2] nd$proportion_ratio[-1] / nd$proportion_ratio[-20]
是的,logit 鏈接可以這樣解釋。這不是“賠率”(=概率比率)的變化,而是比例比率的變化。更正式地說,期望的模型方程與邏輯回歸中的相同:
在哪裡. 對於您的設置,這意味著:
因此,絕對 1 個單位的變化導致相對變化在. 通過一些練習,您可以對這在實際預期中的含義有一個合理的感覺. 如果你還沒有那種感覺,你可以很容易地計算出變化的影響,例如:
nd <- data.frame(TEMPERATURE = seq(-150, 150, by = 50)) nd$Proportion <- predict(b, newdata = nd) print(nd) plot(Proportion ~ TEMPERATURE, data = nd, type = "b")
檢查 .
Proportion
中某些絕對變化的絕對變化是什麼TEMPERATURE
。