CQI365: 在Python 使用 statsmodel 建立GEE
#統計 #GEE #Python #Statsmodel
前言
- 在Python中有個強大的統計套件statsmodel,可以讓我們用Python做出可以比擬R以及一些統計軟體的效果。
- 最近因為研究需要,去學習了GEE(Generalized estimating equation - Wikipedia)。詳細的GEE原理與應用場景,大家可以參考:[12.1 - Introduction to Generalized Estimating Equations | STAT 504]、[Getting Started with Generalized Estimating Equations | University of Virginia Library Research Data Services + Sciences]。
- 在python 也可以透過 statsmodel實現GEE的統計,下面來稍微介紹ㄧ下,具體使用statsmodel實現GEE的方式。
Logit GEE
如果目標變數是binary ,則可以透過下列程式碼處理:
fam = sm.families.Binomial()ind = sm.cov_struct.Exchangeable() mod=smf.gee(formula=formila, groups='hmpcrtno',time="datetime", data=df_dataset, cov_struct=ind, family=fam) res = mod.fit() res.summary2()
OLS GEE
如果目標變數是continuous data ,則可以透過下列程式碼處理:
fam = sm.families.Poisson() ind = sm.cov_struct.Exchangeable() mod= smf.gee(formula=groups='hmpcrtno',time="datetime", data=df_dataset, cov_struct=ind, family=fam) res = mod.fit() res.summary2()
- GEE 架構除了regression的formula外,在statsmodel還有幾個重點:
- cov_struct: 變數之間得結構,是否有內在相關。如果是個別獨立可以用independent,但是大部分都是合用exchangeable.
- family :根據使用的類別來使用,Logit 這類二元分類,就要用binominal,線性可以使用Gaussian,其他比率問文可以使用Poison
延伸閱讀:
- Drafts快速記錄筆記或日記
- 建立zettleKasten 筆記:Devonthink or Obsidian ?
- From Facebook to Twitter,從FB到Twitter ,我的轉換心得
- [閱讀力] 在Devonthink 中實現ZettelKasten筆記法 Annotation in...
- [寫作] 從等待雨果到CQI365
- 我的工作流工具級:My Workflow, My tool