2015年12月30日 星期三

有機會考察國內的一項大型調查研究 2015.12

    於12月中旬, 到了廣州及惠州惠陽區, 參與了國內一個大型慢性病與營養調查的考察.
    以下是:
1.中國疾病預防控制中心: http://www.chinacdc.cn/zxdt/201512/t20151222_123778.htm
2.廣東省疾病預防控制中心: http://cdcp.org.cn/gdsjbyfkzzx/zxdt016/201512/bbd8263c58894df9b79ed523b160d218.shtml
3.惠州惠陽區疾控中心: http://www.hycdc.com.cn/newsshow.php?cid=64&id=101

    過程中, 感到了國內的調查研究, 在居民行政管理的參與下, 參與率有很大的提高. 而電腦資訊科技上也很先進, 很多的事情與方法都值得參考與學習呢~
    感謝公司的團隊能給予機會, 也感恩中國CDC的王主任, 廣東省疾控慢病所的許所長, 以及惠陽區疾控同仁們的分享與接待呢...
   

2015年12月27日 星期日

在R內進行複雜樣本的加權處理 (The weight of Complex sample in R)



library(survey) #先安裝survey統計包, 並載上R
load(url("http://knutur.at/wsmt/R/RData/small.RData")) #使用的例子

#Create unweighted survey design object 第一步: 先做一個無加權的複雜樣本
small.svy.unweighted<-svydesign(ids = ~1, data=small)

#Rake unweighted survey design 第二步: 製作加權樣本
#First need marginal distributions 首先要知道總體中分層/整群的比例, 通常可在常規的統計資料獲得
#使用survey包內的rake()函數進行加權
#例如分別對姓別(sex)及教育(edu)進行加權
sex.dist<-data.frame(sex=c("M","F"),Freq=nrow(small)*c(0.45,0.55))
edu.dist<-data.frame(edu=c("Lo","Mid","Hi"),Freq=nrow(small)*c(0.30,0.5,0.2))
small.svy.rake<-rake(design = small.svy.unweighted, sample.margins = list(~sex, ~edu), population.margins = list(sex.dist, edu.dist))

#Trim the weights第三步: 如果加權數過小或過大, 根據經驗法則修正為: 下限為0.3, 上限為3
#為防個別個案的權重溢出, 加上指令 "strict=T" 來強加限制在上下限內
summary(weights(small.svy.rake))
small.svy.rake.trim<-trimWeights(small.svy.rake,lower = 0.3,upper = 3,strict = T)

參考資料: http://knutur.at/wsmt/cs-materials.pdf

2015年12月26日 星期六

一句話總結學習統計學的心得(summing up the study of statisticas in a sentence)

    假如真的要總結一句話, 能代表我學習統計學的心得, 我將以下的一句作為分享...

    "將具'不確定'性的數據, 迫近於'確定'的結果"...
近日澳門很大霧, 如何在這模糊不清的景象中, 看清這是什麼呢? 這就是"不確定"與"確定"

    您們又能明白幾多呢!?

2015年12月25日 星期五

分享學習統計學之路 (Sharing the map of studing Statistics)

    數數手指, 剛好研習統計學10年啦~
    當然主要指的是"衛生統計學"或"生物統計學", 但與其他學科的統計學有什麼不同呢? 其實沒有! 因為這些統計學都是在應用統計學之下的分支矣... 只不過是將應用統計學應用到不同的學科, 就變成了"該學科"+"統計學"之名. 如: 醫學統計學...
    學的內容也大同小異, 如

1.基礎統計學主要有:
    統計描述(集中趨勢, 離散趨勢),
    統計推斷(概率論, 抽樣誤差, Z值標準化計算, t檢驗, ANOVA方差分析, Chi-square卡方分析, 相關與簡單線性回歸...)

2.進階(高級)統計學主要有:
    協方差分析, 實驗設計, 複回歸, 廣義線性模型, 因子/主成份分析, 聚類分析, 生存分析, Meta分析...

3.近代統計學有:
    結構線性模型(SEM), 貝葉斯分析, 時間序列分析, 多維度分析, 神經網絡, 灰色預測...

    至於很多人說的, 所謂"學習曲線", 各人而異... 我在
1/開始的首5年是統計學知識的"快速增長期", 那時除了讀研究生時老師所教的, 自己也讀了不少課內外的讀物...基本將基礎和進階的內容掌握了;
2/之後的3年, 主要是"應用期"與"摸索期", 將統計學知識應用到寫文章, 帶學生等. 並探索近代統計學的內容, 近段時期雖說不上"難苦", 但是迂迴的. 因為澳門真正搞統計的人又有多少呢? 只好自己多看文章, 多賞試, 多碰壁...
3/最近2年, 感到自己進入統計"沉思期": 統計是什麼? 能給我什麼? 我下一步如何走? 尤其在澳門這個"重科技不重科研"的地方, 只看重"科技產物"的, 統計學將來又如何? (感到: 習得武功只能強身, 不能外用...=.=!)

    若有人問我: 學了十年統計學, 有什麼心得?
    那有那麼多心得, 只是多想, 多做就是了... 把它變成自己生活的一部份...

2015年12月24日 星期四

別叫我"陳博" (Please don't call me 'Chen Bo')

    記得小時候讀書, 同學們都很喜歡給人家起花名, 給我的也不少(當然大多是不好的東西). 對於這些花名, 向來我都採取不理的態度, 因覺得都很無聊和幼稚, 而且越是去爭辯, 人家就會越得意似的.
    約在2014年中時, 現在的工作機構請來了中國權威的公共衛生機構來授課, 當時在工作機構中, 我是第一位博士呢! (現在不是了, 有另一位女博士, 她的地位要高我很多呵~). 在授課時一位男老師忽然地稱呼我"陳博"! 據我了解: 在國內, "姓氏+博"是對博士的一專(尊)稱, 本是好事來的啊~ 由於我不慣國內的稱呼, 所以沒有記在心上. 但落在了些同事的心上...

    其實我並不在乎人家稱呼我什麼, 只要是善意的就好了! 所以每當有同事這樣稱呼, 一笑置之. 但是近來的一些事, 讓我心裡感到不是味兒:

    原本一位女同事與我到外, 考察工作上的操作方法; 但臨時她被取消了, 我知她心裡疙瘩著, 也知安排我去的原因是因我為男性, 且到國內, 較為安全及了解國人的做事方法. 但事件發生之前, 她對我說了句話: 陳博你要睇著我啊~ 其實我與她無別, 也怕人家給我負托呵~

    近來上級較忙較急躁啦, 她向來對工作認真負責, 這本是好事啊~ 早前些日子對我的一項工作提出了要求, 在電郵來往中出現了"尤其你是學者...". 我很感謝她認為我是一名"學者", 但是不要認為是學者, 就凡事都能天下無敵... 學者也只是一個普通人, 也需要時間去處理事情的; 也需要參考很多的資料...

    上述的事, 我感到"陳博"這個稱呼, 是背負了學者的重擔, 且解決不了事務的難題... 又何必呢?
    我只是一個卑微的役男, 簡單地叫回我的名字就好啦...
    我...就是我!

2015年12月19日 星期六

讀完「統計與真理」一書的感受 (The feeling of 'Statistics and truth : putting chance to work')

    記得今年7月到台灣時, 買了兩本書, 其中一本就是「統計與真理(Statistics and truth : putting chance to work)」的中翻本.
    該書之前也已讀過一點, 是在國內互聯網找到的! 但誠言, 國內的翻譯本並不好閱讀. 原因一.是翻譯得不好, 二.讀起來有點詞不達意及表達不出它要表達的內容出來. 所以讀了一點後便放棄...
    估不到那次到台灣的誠品書店閒逛時郤發現了它, 是台灣的中翻本, 而且不貴, 便買了下來. 當然它也有英文版呢~ 國內也有人掃瞄後上傳到互聯網. 但是我個人的經驗是: 統計本來就是一門難理解的學科, 若加上了語言的問題, 肯定更難理解; 所以我仍首選讀它的中翻本.

    經過約2個月斷斷續續地閱讀, 今天終於把它約154頁的內容讀完啦~
    其內容主要是想表達:
1.統計學中, 主要的研究內容是"不確定性": 即類同於"變異";
2.介紹了數據的基本處理流程, 以及它的交互驗證方法;
3.用了大量的例子說明統計學的應用...

    它適合什麼人去讀呢?
    看過它的介紹說: 它是國外很多統計課指定的基礎讀物.
    我覺得, 它是有一定的難度的, 尤其它談及了些概率論及不確定性的問題; 對於無統計基礎的人來說, 肯定是較難理解. 所以適合具有基礎統計知識的人士呢~


參考資料:
1.http://www.hntj.gov.cn/tjabc/tjysh/200707/P020070709007051787703.pdf
2.http://vdisk.weibo.com/s/F4XX_baw83QJe?category_id=20&parents_ref=F4XX_baw83QJk

2015年12月17日 星期四

在R中處理複雜抽樣的統計方法(Dealing the statistics with complex sample in R)

    能夠處理複雜抽樣統計的軟件,大約有SUDAANSASSTATARSPSS,前4項都是需要編程的,SPSS則以菜單的形式操作。4個編程的軟件中,以其編程簡潔度來說,據聞首是STATA,其次是R5者中只有R是免費開源的。所以較理想的選擇應是R!
    R軟件內,處理複雜抽樣的包是”survey”,先要安裝和載入:

data(api) #survey包內的數據
survey包內附帶的api數據
str(apipop)
summary(apipop)
mean(apipop$api00) #若將複雜抽樣的數據當作隨機抽樣來處理結果: 664.7126
sum(apipop$enroll,na.rm = T) #結果: 3811472

#Specifying a complex survey design
dstrat<-svydesign(ids=~1, strata = ~stype, weights = ~pw, data = apistrat, fpc = ~fpc)
#定義複雜抽樣的數據
#ids/id 必定項, 取值0~1,
#strata 分層變項
#weights 加權變項
#fpc 有限總體的人數
summary(dstrat)
#Stratified Independent Sampling design
#svydesign(ids=~1, strata=~stype, weights=~pw, data= pistrat, fpc=~fpc)
#Probabilities:
#   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#0.02262 0.02262 0.03587 0.04014 0.05339 0.06623 
#Stratum Sizes: 
#              E  H  M
#obs         100 50 50
#design.PSU 100 50 50
#actual.PSU 100 50 50
#Population stratum sizes (PSUs): 
#   E    H    M 
#4421  755 1018 
#Data variables:
# [1] "cds"      "stype"    "name"     "sname"    "snum"     "dname"   
# [7] "dnum"     "cname"    "cnum"     "flag"     "pcttest"  "api00"   
#[13] "api99"    "target"   "growth"   "sch.wide" "comp.imp" "both"    
#[19] "awards"   "meals"    "ell"      "yr.rnd"   "mobility" "acs.k3"  
#[25] "acs.46"   "acs.core" "pct.resp" "not.hsg"  "hsg"      "some.col"
#[31] "col.grad" "grad.sch" "avg.ed"   "full"     "emer"     "enroll"  
#[37] "api.stu"  "pw"       "fpc"     
svymean(~api00,dstrat,deff=T)
#          mean       SE   DEff
#api00 662.2874   9.4089 1.2045
#與上述當作隨機抽樣的結果相比較, 複雜抽樣的均數是662.2874, 是有分別的.
svytotal(~enroll,dstrat,deff=T) #計算總數
svyquantile(~api00,dstrat,c(0.25,0.5,0.75)) #計算四分位數
svyvar(~api00,dstrat) #計算方差
svyratio(~api.stu,~enroll,dstrat) #計算率

#One stage cluster sample
dclus1<-svydesign(id=~dnum, weights = ~pw, data = apiclus1, fpc=~fpc)
summary(dclus1)
svymean(~interaction(stype,comp.imp),dclus1) #交互項的平均值

#Two stage cluster sample
dclus2<-svydesign(id=~dnum+snum,fpc=~fpc1+fpc2,data = apiclus2)
summary(dclus2)

#Two stage 'with replacement'
dclus2wr<-svydesign(id=~dnum+snum,weights=~pw, data=apiclus2)
summary(dclus2wr)

參考文獻: (哈哈 =.=! 忘記了, 互聯網上的標準示範)

2015年12月6日 星期日

對於複雜抽樣的處理及統計 (Dealing with and calculating the Complex samples)

    通常在流行病學的角度來說, 進行一項研究, 至少要有400人以上的樣本量! 但這僅是最低的要求矣! (這是透過最保守的參數, 用簡便的公式"近似"地求得的數值)
    若是面對一個大型的、要求精確的、和具代表性的樣本和研究, 這就不太好了... 我們常以準確的公式計算! 往往所算得的人數是以千計...

1.問題又來了: 人少就常可以用隨機抽樣方法進行取樣; 人多啦就不行, 因為是很浪費人力、物力和財力的... 所以對於這些大型的研究, 樣本量較多的, 會使用另一些抽樣方法, 如: 分層、整群、按比例、多階段等...

2.第二個問題是: 據數理統計可知, 隨機抽樣方法其抽樣誤差是較小的, 而其他的抽樣方法, 其抽樣誤差比隨機抽樣所得的是有高有低, 這樣就會造成: 各種抽樣方法所得的統計結果會不同! 就有必要進行校正---樣本加權.

3.第三個問題是: 那如何做樣本加權? (可參考2-4的資料)

4.第四個問題是: 有那些軟件可以處理複雜抽樣的統計呢?
    據我所以解, 有SAS, SPSS, STATA, SUDAAN及R (詳細可閱參考5) (當然, 可能還有更多...)
SUDAAN: 是類似於SAS的軟件, 需要編程的. 雖然WHO使用它, 但它是商業軟件, 而且較難用. 不是我的首選...
同樣, SAS也是編程 (其編程較複雜) 的和商業軟件嘛, 也不首選...
在SPSS內: Aanlysis-->Complex sample
SPSS是可在選單中點選進行, 雖然過程稍麻煩, 但總算容易... (參考資料6)
STATA和R, 雖然都是編程, 但語法較簡潔和靈活, 兩軟件唯一的分別是商業和非商業啊... 因此, 與其都是較簡潔, 我就選擇非商業的R啦~ (參考資料7)

    最後要強調的, 樣本加權不等於普通的變項加權, 是兩回事也~


參考資料:
1.https://ljzigerell.wordpress.com/2014/05/16/how-to-use-population-weights-in-spss-complex-samples/
2.http://dasanlin888.pixnet.net/blog/post/34469738-樣本加權(上)
3.http://dasanlin888.pixnet.net/blog/post/34469744-樣本加權(下)
4.http://shenhaolaoshi.blog.sohu.com/140541587.html
5.http://bettycjung.net/Pdfs/Big4.pdf
6.http://www.sussex.ac.uk/its/pdfs/SPSS_Complex_Samples_22.pdf
7.https://cran.r-project.org/web/packages/survey/survey.pdf

2015年11月24日 星期二

請明白我的苦處 (Please understanding my difficulties!)



    近日除了工作上稍忙外, 在帶教上也遇到了些事, 讓我是難於啟齒的
    現在已是11月下旬, 很多研究生也在忙於寫開題報告, 甚至有些研究生已在進行統計分析
    誠言, 在研究生論文研究階段, 不外乎有點幾個難點:
1.就是如何收集到有代表性的樣本數據
2.如何對數據進行統計分析, 把結果做出來?
    至於其他的研究步驟, 都較相對的容易… (其實都做研究, 每一步都不易呢~)

    近日就有數位認識的朋友, 因為在論文的統計上遇上了困難, 前來諮詢, 但我都無能為力”! 因為:
1/很多時間我都不知道他/她們的研究是如何設計的!
這就不知道他們的研究目的是什麼? 想得到什麼結果? 研究框架是如何?
另外, 一些特定的研究類型, 其統計分析方法是會有天淵之別! 如一些心理的測量, 是會用到結構線性模型(SEM), 而非一般的統計方法; 一些實驗性研究, 則會用MANOVAGLM.
也驗證了統計學人, 不是到最後關頭才呼之出來的! 因為他都不知你做什麼!

2/我都不了解數據及變項的情況!
變項的機率分佈如何? 是否正態分佈?
變項的數據類型是什麼? 是計數資料(measurement data)還是計數資料(categorical data)? 有多少水平? 是有序還是無序的?
你想測量它們的什麼? 是否有統計學差異? 還是相關或回歸? 還是其他

    除此之外, 還有其他小插曲:
3/我的統計意見, 並不等於你導師的意見! 我就試過被其他導師說閒話, 好管閒事呢~

4/有時你都不知道自己想怎樣? 那我又如何幫到你呢! 因為論文研究是你的

5/我的工作不允許兼職, 我只能當朋友的提幾句! 不要有太多的期望”!!!你明嘛!!! 更不要將我好似嫁不出的女人地隨便介紹給其他人
其實我幫您, 也是比面你!

6/若可以, 我寧可收你錢, 因為這樣你會更有所準備見我, 也會更珍惜討論時間. 至於錢是多是少, 是另一個問題

    以上的都是真的, 請你們明白我的苦衷!