2017-09-23

我一篇有關兒童傷害的普及文章(My article of first aid of child injuries)

    接孩子回家時, 在一機構的書架上, 看到新一期的《百份百家長》雜誌(它是免費的!), 心想: 不知我被邀稿的一篇文章有否被刊出呢? 於是便拿來翻翻, 喜出望外, 果然文章被刊出了...

    該篇文章是一篇普及文章, 主要講述兒童青少年常發生的運動傷害, 及其急救事宜. 有興趣的, 可到以下網址下載呵~ http://www.dsej.gov.mo/caet/p100/no49/p42-45.pdf
 

2017-09-10

學習使用時空掃瞄軟件---SaTScan 2 (Learning to use the software of Spatial and temporal Scan --- SaTScan 2)

    為了加深對時空分析的認識, 我近期對此及其應用軟件SaTScan進行了更深入的研究:



時空分析的理論

檢驗事件(尤其是疾病)的發生在空間、時間、空間及時間的分佈上是否隨機性

隨機性  ~事件呈較平均的地理分佈(p≥0.05)

非隨機性~事件呈現聚集現象(p<0.05)

完成事件的地理上的監測:偵測出呈顯著性的高發區(熱區)/低發區(冷區)

統計量:最大似然值(maximum likelihood, MLH) 
p值:蒙地卡羅模擬法(Monte Carlo hypothesis testing)

可做到:

搜尋時間、空間、時間及空間的聚集事件

靈活調整的空間掃瞄的單位

不可做到:

生成聚集事件的地圖,因此需配合地理訊息系統(GIS)或制地圖軟件(Google Earth, QGIS, ArcGIS…)

生成其他統計或回歸模型


時空分析的實踐

軟件:SaTScan, Google Earth

SaTScan:由哈佛大學公共醫學院Dr. Martin Kulldorff研發,應是目前唯一的時空分析軟件,又叫“Kulldorff”時空分析法。

Google Earth:將SaTScan的分析結果在Google Map呈現。



 實踐例子: 澳門2011年至2016年腸病毒感染的時空分析

目的:瞭解澳門2011年至2016年腸病毒感染的時間與空間的聚集性

問題:

有否時間與空間聚集性?

若有,在何時及何地?

資料收集:

從報章內容撰取數據…

製成Excel數據表

資料分析:Excel數據表內有發病人數(*.cas)及無病人數(對照組*.ctl),選用Bernoulli Model(伯努利模型)

結果研讀:(2011至2013年澳門中區的腸病毒感染有聚集現象)

CLUSTERS DETECTED

Location IDs included.: 1650, 1102, 1224, … 1621, 1114, 1236

Coordinates / radius..: (22.203412 N, 113.552529 E) / 0.70 km

Time frame............: 2011/1/1 to 2013/12/31

Population............: 856

Number of cases.......: 237

Expected cases........: 176.46

Observed / expected...: 1.34

Relative risk.........: 1.39

Percent cases in area.: 27.7

Log likelihood ratio..: 13.439157

P-value...............: 0.00026

2017-07-22

學習使用時空掃瞄軟件---SaTScan 1 (Learning to use the software of Spatial and temporal Scan --- SaTScan 1)

    流行病學嘛~尤其是描述性流行病學! 要研究"三間分佈"呢~
    人間的分佈, 當收集到人口學特徵的資料後, 就較容易用普通的統計軟件分析;
    時間的分佈, 其實很多普通的統計軟件, 都有時間序列的分析方法, 雖然有點複雜, 但仔細研究一下, 相信都能解決到問題...
    空間的分佈, 很多統計的軟件也沒有這些功能, 因為GIS是一項較複雜的技術! 也是近今約30年慢慢發展的...如果是僅制作些空間分佈圖等, 現在都有些軟件能供應用! 如(偉大的R), QGIS, GeoDa..., SPSS據聞也有, 但能力就很"雞"~ (SAS我就不知道了!)

    但是我就不只滿足於這些, 要研究一下時間-空間的技術, 於是... 是好踏上這條... SaTScan路~~~ 也有人叫做Kulldorff時空掃瞄方法.

    即是說, 要進行時空掃瞄分析, 就要使用SaTScan軟件 (以我知, 暫時只有此款軟件才可完成此功能~ 不知R有沒有, 但肯定SPSS及SAS沒有吧)!

1. 下載這款軟件很方便, 只要到它的網站 (https://www.satscan.org/download.html) 作簡單登記後, 它就會透過電郵給你一個密碼! 然後就可以免費下載. 其實也可將它制作成免安裝的. 但我不做壞人家的規定呢...
輸入文件設定界面, 主要有三種文件要輸入: 個案文件, 對照組文件/人口文件, 地理定位文件
研究方法設定界面
輸出文件界面設定

2. 這款軟件並不難用, 但難在於它使用的資料準備、參數設定及結果的研判上.
2.1. 在資料準備上, 它可讀入很多的資料類型, 如dbf, csv, xls, txt等, 但我個人認為csv文件格式它讀入時較順利.
我同一個文件上, 最好有:
個案編號、
個案陽性數(case no)、 
對照個案數(control no---可計算伯努尼分佈Bernoulli distribution) 或 地區人口數 (population---可計算泊松分佈possion distribution)、
地區的經度(longitude)、地區的緯度(latitude)---可透過Google Earth取得!
2.2. 參數設定:最好使用50%人口, 看情況而定的馬可科夫鏈迭代次數(設定為999, 但小樣本可設為9999 或99999)
2.3. 結果最好配合Google Earth使用, 一目瞭然! (因為會生成KML文件)
在Google Earth 軟件輸出的結果--- 以紐約乳癌為例, 紅色為熱點---高發區, 藍色為低發區
    SaTScan對於疾病的空間, 時間聚集判斷很有用呢!!!

2017-06-17

澳門科技大學健康科學學院畢業禮 (Graduation ceremony of Health Faculty of MUST)

2018年

    今年再被澳科大健康科學學院邀請, 作為校外嘉賓參與院內的畢業禮. 每年我都會很珍惜這個邀請, 除了是畢業禮, 更是舊同事們的每度聚會啦...
    見證著學院近年畢業生的人數越來越多, 說明了學院近年有了明顯的發展! 當然, 也有很多"可進步"的空間... 期望學院能朝向好的方向發展吧!
2018年6月9日攝於澳門科技大學健康科學學院
 

2017年

    每年的6月中旬, 我都會被邀作為嘉賓(其實是舊同事的身份), 回到澳門科技大學健康科學學院, 出席研究生的畢業禮!
    雖然我留在學院工作的日子不長, 數數只有約1年多的時間, 但與舊同事們的感情很好! 因為同事人數不多, 工作和說話都比較坦誠; 那些日子的確很開心呢~
    一幌已參加了5~6屆吧! 唯有一年是不能到會的, 因為那年亦是我博士畢業的那年...
每年我都會與畢業的研究生會合照, 並祝福她們前程似錦! 因為職讀的研究生能畢業是不易的! 2017.06.10

2017-05-26

再說回歸分析 (Talking about Regression onice again!)

    在日常的回歸分析中, 大多都只用到Linear Regression(線性回歸)或Logistic Regression(邏輯回歸); 若有進一步需要的話, 可能會用到Multinorminal Regression(多元無序回歸)或等級(多元有序回歸回歸).
    但每一類的回歸分析, 都有其應用條件及限制, 如最簡單的線性回歸, 其應用條件是Y變項的數據類型應是計量資料, 且符合LINE原則:
L: 線性的Y變項;
I: 各變項應互相獨立(無多重共線性);
N:數據要符合正態分佈;
E: 隨機誤差項盡量少...

但這些條件往往很難完全滿足, 若真的不滿足, 只好另有選擇了...
如I不滿足, 即數據間有多重共線性, 就只好用Ridge Regression(岭回歸), Lasso回歸...
如果N不滿足, 即數據呈偏態分佈, 可選用Quantile Regression(百分位數回歸)...
如果E不滿足, 即誤差太大, 可試試Robust Regression(穩健回歸)...

體現到~解決方法比問題多...

可以讀讀這篇文章, 會有更大的收獲... 数据分析员不得不知的7种回归技术

2017-05-20

在R軟件內進行回歸分析及啞變量化 (Performing regression and dummy in R)

    回歸分析是統計學的一個很重要內容, 因為它可以尋找原因... 但回歸分析的種類很多, 這可以它的依變項(Dependent variable)及它的功能來分類吧!
    在R統計軟件, 進行回歸分析可以很方便地完成, 例如主要的回歸分析:
1.Linear Regression: lm(), glm(family=gaussian)
2.Logistic Regression: glm(family=binomial)
3.泊松回歸: glm(family=poission)
4.多元無序回歸: nnet::multinom()
5.多元有序回歸: MASS::polr()
    只要確定了函數, 公式, 就可以完成對應的回歸了!
    另外, 回歸分析的一個重點步驟, 就是進行啞變量(Dummy)了, 其實在數據庫內, 將變項的類型設定好, 如計數資料設為int, 分類資料設為factor, 在進行主要的回歸分析時, R會自動進行啞變量的處理, 如:
    一個數據庫有4個變項(num, brand, female, age), 在初初讀入時全部都設定為int(數值型), 設定brand及female兩變項為factor(分類型)後, 以female為依變項進行Logistic Regression, 即可得:

> log.fit<-glm(female~brand+age,family = binomial,data = example_logistic_regression)
> summary(log.fit)

Call:
glm(formula = female ~ brand + age, family = binomial, data = example_logistic_regression)

Deviance Residuals:
    Min       1Q   Median       3Q      Max 
-1.5523  -1.3217   0.8738   0.9375   1.1586 

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  1.08843    1.17784   0.924  0.35544  
brand3       0.46076    0.22489   2.049  0.04048 *
brand2       0.55677    0.19261   2.891  0.00384 **
age         -0.02747    0.03712  -0.740  0.45928  
---
Signif. codes: 
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 965.47  on 734  degrees of freedom
Residual deviance: 956.86  on 731  degrees of freedom
AIC: 964.86

Number of Fisher Scoring iterations: 4
 
    它將brand變項自動啞變量了! 再看看如何出我們很重視的OR值, 結果與SPSS的結果無異呢...
     
> log.or<-logistic.display(log.fit)
> log.or
 
Logistic regression predicting female : 1 vs 0 
                 crude OR(95%CI)   adj. OR(95%CI)   
brand: ref.=1                                       
   3             1.47 (0.99,2.16)  1.59 (1.02,2.46) 
   2             1.68 (1.17,2.42)  1.75 (1.2,2.55)  
    
age (cont. var.) 1.01 (0.94,1.07)  0.97 (0.9,1.05) 
                 P(Wald's test) P(LR-test)
brand: ref.=1                   0.014     
   3             0.04                     
   2             0.004                    
                                        
age (cont. var.) 0.459          0.459     
                                          
Log-likelihood = -478.4285
No. of observations = 735
AIC value = 964.8569 
 
當然據我所知, R軟件在有些回歸分析中不能自動啞變量的, 就可參考些文章了!

2017-05-03

這本"量表編製"的書不好讀... (It is hard to read this book...)

    早約2個月前, 在中央圖書館見到一本關於"量表編製"的書籍.
    心想: 雖然自己學習流行病及生物統計學多年, 使用較多的問卷(量表), 但也沒有好好的研究過量表; 而且在研究生時期, 也沒有學過量表研製的課程. 3來是以往一些朋友問我關於量表的事, 只知期表面而不知其內涵... 實是有愧. 如今可以借到, 應是時候好好地"補習"一下.
    經過兩個月的閱讀, 這本書是有點失望的! 因為:
1.翻譯得不好, 譯句有很多語法的錯誤, 所以很難理解作者的原意;
2.其次是作者論述的深度不足, 較多的理論膚淺呢!
3.亦沒有很好的實踐指導...
    讀完後, 我試問問自己, 得到些什麼? 誠言, 較少!