數(shù)據(jù)分享|R語言零膨脹泊松回歸ZERO-INFLATED POISSON(ZIP)模型分析露營釣魚數(shù)據(jù)實例
全文鏈接:http://tecdat.cn/?p=26915
最近我們被客戶要求撰寫關(guān)于零膨脹泊松回歸的研究報告,包括一些圖形和統(tǒng)計輸出。
零膨脹泊松回歸用于對超過零計數(shù)的計數(shù)數(shù)據(jù)進行建模。此外,理論表明,多余的零點是通過與計數(shù)值不同的過程生成的,并且可以獨立地對多余的零點進行建模。因此,zip模型有兩個部分,泊松計數(shù)模型和用于預(yù)測多余零點的 logit 模型
零膨脹泊松回歸示例
示例?。野生動物生物學家想要模擬公園的漁民捕獲了多少魚。游客會被問到他們逗留了多長時間,團隊中有多少人,團隊中是否有兒童以及捕獲了多少魚。一些游客不釣魚,但沒有關(guān)于一個人是否釣魚的數(shù)據(jù)。一些釣魚的游客沒有釣到任何魚,因此數(shù)據(jù)中存在多余的零,因為人們沒有釣魚。
數(shù)據(jù)說明
我們有 250 個去公園的團體的數(shù)據(jù)?(?查看文末了解數(shù)據(jù)獲取方式?)?。每個小組都被詢問他們捕獲了多少魚(count
),小組中有多少孩子(child
),小組中有多少人(persons
),以及他們是否帶露營者到公園(camper
)。
讓我們看一下數(shù)據(jù)。
summary(zib)

##?直方圖的X軸為對數(shù)10標ggplot(znb,?aes(ount))

點擊標題查閱往期內(nèi)容

R語言泊松Poisson回歸模型分析案例

左右滑動查看更多

01

02

03

04

您可能會考慮的分析方法
以下是您可能遇到的一些分析方法的列表。列出的一些方法是相當合理的,而另一些方法要么失寵,要么有局限性。
零膨脹泊松回歸。
零膨脹負二項式回歸——負二項式回歸在分散數(shù)據(jù)時表現(xiàn)更好,即方差遠大于平均值。
普通計數(shù)模型 。
OLS 回歸——您可以嘗試使用 OLS 回歸分析這些數(shù)據(jù)。然而,計數(shù)數(shù)據(jù)是高度非正態(tài)的,并且不能通過 OLS 回歸很好地估計。
零膨脹泊松回歸
summary(m1)

輸出看起來非常像 R 中兩個 OLS 回歸的輸出。在模型調(diào)用下方,您會發(fā)現(xiàn)一個輸出塊,其中包含每個變量的泊松回歸系數(shù)以及標準誤差、z 分數(shù)和 p 值系數(shù)。接下來是對應(yīng)于通貨膨脹模型的第二個塊。這包括用于預(yù)測多余零點的 logit 系數(shù)及其標準誤差、z 分數(shù)和 p 值。
模型的計數(shù)和膨脹部分中的所有預(yù)測變量都具有統(tǒng)計顯著性。該模型對數(shù)據(jù)的擬合顯著優(yōu)于空模型,即僅截距模型。為了證明情況確實如此,我們可以使用對數(shù)似然差異的卡方檢驗將當前模型與沒有預(yù)測變量的空模型進行比較。
mnl?<-?update(m1,?.?~?1)

由于我們在完整模型中有三個預(yù)測變量,因此卡方檢驗的自由度為 3。這會產(chǎn)生較高的顯著 p 值;因此,我們的整體模型具有統(tǒng)計學意義。
請注意,上面的模型輸出并沒有以任何方式表明我們的零膨脹模型是否是對標準泊松回歸的改進。我們可以通過運行相應(yīng)的標準 Poisson 模型然后對這兩個模型進行 Vuong 檢驗來確定這一點。

vuong(p,?m)

Vuong 檢驗將零膨脹模型與普通泊松回歸模型進行比較。在這個例子中,我們可以看到我們的檢驗統(tǒng)計量是顯著的,表明零膨脹模型優(yōu)于標準泊松模型。
我們可以使用自舉獲得參數(shù)和指數(shù)參數(shù)的置信區(qū)間。對于泊松模型,這些將是事件風險比,對于零通脹模型,優(yōu)勢比。此外,對于最終結(jié)果,可能希望增加重復次數(shù)以幫助確保結(jié)果穩(wěn)定。
dt(coef(m1,?"count"))

dpt(coef(m1,?"zero"))

res?<-?boot(znb,?f,?R?=?1200,?pralel?=?"snow",?ncus?=?4)##?輸出結(jié)果res

結(jié)果是交替的參數(shù)估計和標準誤差。也就是說,第一行具有我們模型的第一個參數(shù)估計值。第二個具有第一個參數(shù)的標準誤差。第三列包含自舉的標準誤差。
現(xiàn)在我們可以得到所有參數(shù)的置信區(qū)間。我們從原始比例開始,使用百分位數(shù)和偏差調(diào)整的 CI。我們還將這些結(jié)果與基于標準誤差的置信區(qū)間進行比較。
##?帶百分位數(shù)和偏差調(diào)整的CI的基本參數(shù)估計值##?添加行名row.names(pms)?<-?names(coef(m))##?輸出結(jié)果parms

##?與基于正常的近似值相比confint(m1)

bootstrap置信區(qū)間比基于正態(tài)的近似值要寬得多。使用穩(wěn)健標準誤差時,自舉 CI 與來自 Stata 的 CI 更加一致。
現(xiàn)在我們可以估計泊松模型的事件風險比 (IRR) 和邏輯(零通脹)模型的優(yōu)勢比 (OR)。
##?帶百分位數(shù)和偏差調(diào)整的CI的指數(shù)化參數(shù)估計值exps?<-?t(sapply(c(1,?3,?5,?7,?9),?function(i)?{??out?<-?boot.ci
為了更好地理解我們的模型,我們可以計算預(yù)測變量的不同組合所捕獲的魚的預(yù)期數(shù)量。事實上,由于我們基本上使用的是分類預(yù)測,我們可以使用函數(shù)來計算所有組合的期望值來創(chuàng)建所有組合。最后我們創(chuàng)建一個圖表。
ggplot(neda1,?aes(x?=?cld,?y?=?pat,?colour?=?factor(pos)))?+??geom_point()?+??geom_line()?+??facet_wrap(~cmp)

需要考慮的事項
由于?zip?同時具有計數(shù)模型和 logit 模型,因此這兩個模型中的每一個都應(yīng)該具有良好的預(yù)測器。這兩個模型不一定需要使用相同的預(yù)測變量。
零膨脹模型的邏輯部分可能會出現(xiàn)完美預(yù)測、分離或部分分離的問題。
計數(shù)數(shù)據(jù)通常使用暴露變量來指示事件可能發(fā)生的次數(shù)。
不建議將零膨脹泊松模型應(yīng)用于小樣本。

點擊文末?“閱讀原文”
獲取全文完整資料。
本文選自《R語言零膨脹泊松回歸ZERO-INFLATED POISSON(ZIP)模型分析露營釣魚數(shù)據(jù)實例估計IRR和OR》。
點擊標題查閱往期內(nèi)容
R語言貝葉斯Poisson泊松-正態(tài)分布模型分析職業(yè)足球比賽進球數(shù)
R語言貝葉斯METROPOLIS-HASTINGS GIBBS 吉布斯采樣器估計變點指數(shù)分布分析泊松過程車站等待時間
R語言和Python用泊松過程擴展:霍克斯過程Hawkes Processes分析比特幣交易數(shù)據(jù)訂單到達自激過程時間序列
數(shù)據(jù)分享|R語言廣義線性模型GLM:線性最小二乘、對數(shù)變換、泊松、二項式邏輯回歸分析冰淇淋銷售時間序列數(shù)據(jù)和模擬
生態(tài)學模擬對廣義線性混合模型GLMM進行功率(功效、效能、效力)分析power analysis環(huán)境監(jiān)測數(shù)據(jù)
廣義線性模型glm泊松回歸的lasso、彈性網(wǎng)絡(luò)分類預(yù)測學生考試成績數(shù)據(jù)和交叉驗證
有限混合模型聚類FMM、廣義線性回歸模型GLM混合應(yīng)用分析威士忌市場和研究專利申請數(shù)據(jù)
R語言貝葉斯廣義線性混合(多層次/水平/嵌套)模型GLMM、邏輯回歸分析教育留級影響因素數(shù)據(jù)
R語言貝葉斯MCMC:GLM邏輯回歸、Rstan線性回歸、Metropolis Hastings與Gibbs采樣算法實例
R語言用lme4多層次(混合效應(yīng))廣義線性模型(GLM),邏輯回歸分析教育留級調(diào)查數(shù)據(jù)
R語言廣義線性模型GLM、多項式回歸和廣義可加模型GAM預(yù)測泰坦尼克號幸存者
R語言用Rshiny探索lme4廣義線性混合模型(GLMM)和線性混合模型(LMM)
R語言使用bootstrap和增量法計算廣義線性模型(GLM)預(yù)測置信區(qū)間
R語言廣義線性模型(GLMs)算法和零膨脹模型分析
R語言中廣義線性模型(GLM)中的分布和連接函數(shù)分析
R語言中GLM(廣義線性模型),非線性和異方差可視化分析
R語言中的廣義線性模型(GLM)和廣義相加模型(GAM):多元(平滑)回歸分析保險資金投資組合信用風險敞口
用廣義加性模型GAM進行時間序列分析
R和Python機器學習:廣義線性回歸glm,樣條glm,梯度增強,隨機森林和深度學習模型分析
在r語言中使用GAM(廣義相加模型)進行電力負荷時間序列分析
用廣義加性模型GAM進行時間序列分析
R和Python機器學習:廣義線性回歸glm,樣條glm,梯度增強,隨機森林和深度學習模型分析
在r語言中使用GAM(廣義相加模型)進行電力負荷時間序列分析