顯示具有 數據處理 標籤的文章。 顯示所有文章
顯示具有 數據處理 標籤的文章。 顯示所有文章

2026年9月5日 星期六

學習SQLite

我的本科是臨床醫學, 郤陰差陽錯地從事公共衛生的數據分析! 
雖然研究生是流行病與衛生統計學專業。 但誠言, 由於不是數學或數據科學專業出身, 只是"半途出家", 所以很多時候, 很多事都是無能為力, 甚至是有心無力。
這些年, 一直都很想修讀數據科學的學科內容, 又談何容易! 畢竟要先顧飯碗, 也要顧家庭。只有臨時拉夫, 缺什么, 就自修些什麼...
一路走來, 覺得要從事數據科學, 有4件知識範疇應要掌握:
  1. 數據庫知識
  2. 數據收集, 整理, 清洗知識
  3. 統計分析
  4. 數據結果的表達
近期想認真地學習一回數據科學, "好似"本地沒有太多的選擇, 難道要重新讀本科!? 
數據庫的知識, 據我知現時有很多, 也有很好的數據庫; 如mySQL... 但我只能由簡單的學習開始, 所以選了SQLite來學習。現時很多網絡的學習內容可免費下載, 近期就看了李明昌博士的博客; 很好的內容, 期望可繼續深入學習吧...

數據收集, 整理, 清洗的知識, 一般學習好, 使用好EXCEL就很不錯啦...
至於統計分析, 雖然我稍學多了些相關知識; 但感到夠用就好了! 不必太深究些什么數學模型... 至於統計軟件, 仍是"夠用就好"。我一般推薦SPSS, 如果想學統計編程, 或要精準重複結果, 可首選R。
統計結果的呈現... 一般的統計軟件都有, 尤其R的ggplot2, 出的圖形很不錯的! 但想再進一步, 可學習Power BI...

2020年12月12日 星期六

用Python及R進行基礎統計(Essential Statistics with Python and R)

假期放了3天,郤總是忙著忙著! 不是為孩子走來走去,就是為朋友的論文給予意見~

作為學林中人,總有著對學術的慊意! 畢竟已有一段時間沒寫文章或鑽研。學術是不斷地去追的,否則就是 "逆水行舟,不進則退"~而且心算自己的老本也不多呵...

想趁著雙12,買一本書給自己(給自己一份禮物吧!),但老男人,沒有嗜好,禮物自然就(又)喺書啦。想學學Python在數據科學的應用! 在網絡上找到一本很好的閱讀資料... 哎呀! 連雙12的零錢也省回。這本閱讀材料很好,因為

1.既有Python的操作方法,亦有R語言的操作方法。對於有R語言一定基礎的我,對照著R學Python,更易理解!
2.很新的資料,2019年撰寫的

3.它所說的統計也很容易呵!

希望對大家有用,互勉! 下載地址:https://escholarship.org/uc/item/03w0n5g3



2017年5月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年4月29日 星期六

一張很好的作統計圖指引的圖片 (A excellent graph about making statistical graphs)

    很多時候, 我都與朋友分享, 作為一個科研人員, 在表達結果時, 一定要很"精準"!
    我較喜歡使用統計量及統計指標表達科研結果, 因為這比較簡潔, 亦較"正統" (我承認對科研的正統方面, 我有些固執...). 當然, 有些人可能較難理解, 因為他們對統計的認識不多.
    如是這, 常轉用統計表, 因為可表達較精確的數字; 但有時要制作成"複合表", 製表過程常較複雜, 一般人也較難了解的~
    如當對象是一般的人群, 我就傾向於以統計圖表達呵~ 因可言駭意簡地表達內容及所想; 他們亦不會太關心精確的數字, 常只知道是什麼意思即可. 但要選對、選好一張統計圖, 郤是一種技巧...
    這張指導圖很好, 希望對大家都有用...
圖出處: http://extremepresentation.typepad.com/files/choosing-a-good-chart-09.pdf

2017年4月27日 星期四

一張很有意思的數據學家工作圖 (A meaningful graph of Data Scientist’s work)

一圖道盡數據科學家工作的千言萬語:

參考資料:
http://www.datascienceassn.org/sites/default/files/Next-Gen 20Data 20Scientists.pdf
http://www.economic.ntpc.gov.tw/files/大數據上-Big Data 概論與應用.pdf

2016年10月30日 星期日

偏態分佈資料的分析 (The analysis of Skewed distribution of data)

    近日有位不太熟識的"朋友", 在電郵中說道: 她正攻讀碩士, 已交了論文初稿, 其中第二位的論文評委反饋給她很多意見! (當然是不利的, 而我也知道她的論文---"很爛")!
    初步閱過她的評委意見, 我相信那評委是"奇人", 她對論文中的用詞和意思"咬文嚼字得很緊"(很執著)! 但對於統計部份, 給予了很奇怪的意見:

數據學術分析
中位數與平均數的合適使用。為何使用中位數?
為何使用Kruskal-Waillis 而不是ANOVA?
為何使用Mann-Whitney U 而不是t test?

    在"朋友"進行統計分析之初, 她有詢問過我的意見:
1. 通常在進行統計分析之前, 基本可以先對變項劃些圖, 初步了解變項的分佈是如何, 如是正態分佈或偏態分佈? 這對於統計分析是很重要的...
2. 依據變項的性質, 是連續變項, 還是分類變項?
3. 分析的目的, 是僅作統計描述? 還是要作統計推斷? 在統計推斷中, 要兩組比較, 還是多組比較呢?...

    據我記得, 她的數據變項, 確是呈偏態分佈的. 所以建議她還是用"中位數"及"四分位數"作統計描述就好了! 而在作統計推斷時, 就用"非參數統計(無母數統計)"就好了...

    有時有人會說: 若抽樣出的樣本人數較多(>=30個人), 不就是符合"中央極限"定理, 所有的統計描述及推斷, 就可以用參數分析的方法(正態分佈的方法)么?
    誠言, 中央極限定理一般只常用於實驗室小樣本的抽㨾方法, 而且都是以往計算不方便的年代用的較多! 如果在人群的抽樣調查, 為了使樣本的代表性更好, 常會使用各種抽樣方法! 常經抽樣所得到的數據變項, 都是偏態分佈的! 這時若使用正態分佈的統計方法, 所得到的結果會大機會出現偏差...
    更何況現在的統計軟件都很方便, 使用"非參數分析"很靈活啦!
    該用非參數統計時就要用, 不要以中央極限定理作理由呢~

    經聯絡後得悉, 那位評委果然是"奇人", 是我認識多年的XXX副教授... 她對統計是... 一點都不通的...=.=!
如圖, 收入的調查常經抽樣後得到的結果, 都是偏態的! 若用正態分佈的均數描述, 就會與正確的偏態分佈中位數結果有偏差了...

2016年10月11日 星期二

偏態分布的數據, 進行組間比較及兩兩比較的方法 (The Statistical method of comparing many-groups and two groups of Skewed data)


    以SPSS軟件內附的數據庫 "1991 U.S. General Social Survey.sav"為例.
 
    若分組的計量資料是偏態分佈, 作組間比較時, 應要使用: 非參數檢驗中, 多獨立組數據的比較.

    如我們想分析不同地區的年齡是否有統計學上的差異, 假設該數據庫有兩變項: "地區", "年齡"; 而且年齡變項是偏態分佈的數據...

     通常結果會包含:
統計量是: Chi-square, 其實它是依Kruskal Wallis Test計算所得.


若是組間有統計學差異(如上圖p=0.004), 只說明組間中位數是不同的, 一般宜進行兩兩比較!

非參數變項的兩兩比較, 宜選用首幅圖的2 Independent Samples方法. 結果應如下:

解釋結果時要小心, 因是數組之間的比較, 所以p值要修正, p=0.05/比較組數;

如: 現在有3組間比較, p=0.05/3=0.017
現在結果的p=0.08>0.017, 拒絕H1, 兩組間無差異... 反之亦然...

2016年10月6日 星期四

資料的公開與使用 (The Using of Open data)

    近日, 從台灣的衛生福利部的網頁得悉: 為推廣傳染病開放資料更廣泛地使用, 他們辦了一個競賽, 而且是有獎金的.
    其實作為科研人, 我知道資料的時效性, 一般是5年為一期的!如:

1.參考的文獻, 最好在近5年發表的, 如果是5-10年內的文獻, 亦可參考. 但是超過10年的文獻, 就要考慮是否採用. 當然, 有些文獻是具有劃時代的、在該領域中具創新性的, 就另當別論!!! 如Doll & Hill 有關吸煙導致肺癌的病例對照研究 , Rathman等有關當代流行病學的研究... 這些"大牛"的文章都是很值得引用.
    另外, 個人建議, 文獻最好閱讀外國的, 因為若是經過翻譯的文獻, 大多已延遲數月之久, 而且有些人的翻譯, 實是不太好閱讀和理解!

2.如果是數據庫的話, 當然是盡早使用越好! 因為由數據處理及分析, 到發表文章, 在內地通常都要經過半年至一年之久, 1個數據庫, 要發表多些文章, 常要使用數年.
    但一般數據庫, 經過3數年, 已被稱為"陳舊"了! 超過5年的數據庫, 就很少用來發表文章, 只能常與新的數據庫作比較之用.

    與其將這些有用的資料束之高閣, 為何不把它釋放出來, 讓它仍在"保質期"中盡量發揮其價值所在!? 當然, 有些資料"可能"涉及到些敏感性內容, 如個人的人口學特徵. 但只要把它們去掉即可矣, 就如台灣現在開放的資料就是.
    我開啟過台灣疾病管制署的登革熱數據庫(csv文件), 基本已去除了人口學特徵的資料, 但仍可作一般的描述性統計, 時間及空間的分析.
   
    但我相信, 澳門離這個境界仍很遠! 不是在事, 而是在人...

參考資料:
1.疾病管制署. 「防疫Open Data應用高手過招競賽活動」正式開跑,歡迎箇中好手踴躍參加
http://www.mohw.gov.tw/news/572357190
2.http://data.gov.tw 

2016年8月18日 星期四

為什麼需要數據科學 (Why do we need Data Science?)

    兩天前在互聯網搜尋些內容時, 無意中發現了一篇有關數據科學的文章! 該文章是寫於2013年12月的, 發表於「中國計算機學會通訊」雜誌的吧!?
    基本地把數據科學作了系統性的介紹了. 現簡要撰錄如下, 以作分享! (當然最好全文品味)

数据科学将在未来30年中极大地影响和推动科学和经济的发展

數據科學的背景與意義

  • 數據的爆炸性增長

2003 年左右, 我们就曾指出,世界已经从一个依靠模型和假设、数据稀缺的时代,过渡到
一个模型和假设已逐渐清晰、数据冗余的新时代。现在的主要挑战是理解和探索数据...
  • 大數據帶來的影響

1. 尽管我们拥有大量数据方面的工作岗位,但显然我们准备得还不够...
2. 处理大数据需要一些当前数据分析师所不具备的编程和分析能力:包括需要
3. 较强的数学和统计分析背景,
4. 熟悉新的统计编程语言(如R 语言),
5. 了解分析建模技术以及具备在大数据上做实验的能力,
6. 了解数据架构(以搭建TB 级的数据库),
7. 以及能够管理诸如Hadoop 之类的软件框架等等。
8. 一些软技能,如商业头脑和交流能力

數據科學的機遇和挑戰

  • 大數據的特點

体量(volume), 速度(velocity), 多样性(variety), 真实性(veracity), 价值(value)
需要一整套科学、系统的理论、方法来指导大数据的分析和处理,这就是数据科学。准确地讲,数据科学通过系统性的研究数据的组织和使用,可以促进研究发现、改进关键决策过程等
  • 機遇和挑戰

从数据中挖掘价值。大多数情况下,价值以决策的形式出现
更大的挑战是数据的增长速度极快,甚至快于摩尔定律
解决快速增长的数据带来挑战的关键是,决策时我们并不总是需要完全精确的数据
只要误差足够小并且有界,近似的结果就可满足实际需求
由于收集的数据往往包含噪声和误差,准确的计算并不总能保证完美的结果
摩尔定律使得我们可以处理越来越大的数据集,并产生越来越小的误差
对于大数据来讲,摩尔定律意味着更好的决策

數據的數學, 成本與倫理

[摩爾定律是由英特爾創始人之一戈登·摩爾提出來的。其內容為:積體電路上可容納的電晶體(電晶體)數目,約每隔24個月便會增加一倍;經常被參照的「18個月」,是由英特爾執行長大衛·豪斯所說:預計18個月會將晶片的效能提高一倍(即更多的電晶體使其更快)。]

參考文獻:
http://www.ccf.org.cn/resources/1190201776262/2013/12/16/2.pdf
https://zh.wikipedia.org/wiki/摩尔定律
http://cpu.zol.com.cn/575/5752141_all.html

2016年6月11日 星期六

兩款細小而實用的流行病學軟件 - Epidata Manager & EntryClient 3 (Two small and useful epidemiological softwares 3)



    其實Epidata的系列軟件是在不斷地進步當中, 就如本系列1所提及的Epidata Entry, 它在1999年開發, 直到2008年功能已相當完善! 所以就沒有再優化了.
    據知隨後該負責人為了該系列軟件更適合數據的輸入及管理, 轉而開發了Epidata Manager 及 EntryClient這兩款軟件, "嘗試"替代Entry! 這兩款軟件功能是不同的, 面向的用戶對象也不同:

Epidata Manager: 主要是負責建立新數據庫結構, 修改數據庫結構, 說明及滙出數據文件; 用戶對象主要是項目負責人(PI)...
Epidata EntryClient: 主要是用Manager建立好的數據庫, 輸入數據及瀏覽等; 所以主要是給輸入員用的, 功能也簡要很多!

    這兩款軟件也可在它的網頁下載, 有安裝文件, 也有免安裝的文件; 它們的體積也很小, 分別只有約5M及2M罷.

    首先分享一下Manager軟件, 打開後見:
圖1
1.先建立或打開一個現存的"project"喎!
2.開啟"New Project"後, 你會見到下圖:
   可在左方改Project的名稱, 右方對數據庫加以描述...

3.點選"Dataform1"後, 會見到版面上方多了一欄工具按鈕, 以及中間的版面也不同了! 可以在此處設計你的研究輸入界面...
4.設計的方法基本是: 先點選工具按鈕, 在彈出的頁內輸入文字或設定即可. 如我要設一個年齡的輸入欄, 因年齡是整數, 所以點選工具按鈕1, 在設計版面劃一下, 即彈出設定版面:
按Apply即可, 其實使用的方法有點似Epi Info的輸入界面設定方法!!!
5.當完成後, 就可以使用EntryClient讓輸入員輸入數據, EntryClient的使用方法與Entry無異, 甚至更為簡單:
   
    其實Entry好, 還是Manager+EntryClient好?
    真是見仁見智! 我個人還是感到Entry稍好些. 
    雖然輸入的界面稍普通, 但是:
1/文件很小很方便;
2/設定界面與輸入功能都一應俱全;
3/設定界面的方法簡單快捷.
4/有很多語言供使用...

2016年6月10日 星期五

一款細小實用的流行病學軟件 - Epidata Analysis 2 (One small and useful Epidemiological software - Epidata Analysis 2)

    其實你細心地瀏覽Epidata的網頁, 不難發現Epidata是一系列的流行病學研究軟件! 除了上一篇講述的 "輔助輸入界面 - Epidata Entry" 外, 也有供流行病學統計用的 - Epidata Analysis!
    Epidata Analysis 繼承了最先開發的Entry的特點 - 優點, 都是:
  1. 免費;
  2. 有不需安裝的zip版本, 解壓後也就只有不足5M的體積; 
  3. 有很好的"使用流程工具欄", 可以很方便的進行基本操作;
  4. 當然, 它的統計功能是較基礎, 甚至對於我這種人來說略顯不足, 但對於基礎的流行病學操作者來說, 已基本都足夠了.
    現在示範一下吧!
    1. 打開程式以後, 見 "使用流程工具欄"
    2. 首先按"使用流程工具欄"的順序, 讀入數據, 然後瀏覽數據 (點Browse), 就會彈出一個新數字視窗
3. 然後可先觀察數據的情況 (點Graph), 它提供的做圖類型也不少, 基本夠用吧!

4.作統計分析 (點Analysis), 提供的統計類型不多, 都是流行病學基本的.
主要的描述性統計分析都有, 而推斷性統計分析的不多...
但是! 細心地看下去, 它還是很貼心的, 如Tables(交叉表)內, 基本都有RR值, OR值等計算, 還有卡方分析等...
    計算出來的效果也不錯!
    值得一鑽的是, 它做出來的統計表, 很貼近於科研文章的格式, 基本上可以直接剪貼使用...

希望它能越來越好!

2016年6月9日 星期四

一款細小實用的流行病學軟件-Epidata Entry 1 (One small and useful Epidemiological software - Epidata Entry 1)

    近來"公司"正進行著一項大型研究, 在預試時為了方便, 僅用了Excel作為數據的輸入工具, 當然效果是不太理想的. 因為在輸入時沒有: 限制輸入、跳題設定、輸入值判斷等, 所以在數據清洗及整合階段實在是"痛不欲生"吧!
    痛定思痛後, 在正式的調查階段, 還是選擇使用輔助的界面輸入軟件!

    在該類軟件中, 常用的有Access, 在流行病學方面, 就有Epi Info及Epidata等兩款.
Access是微軟辦公軟件中的一種, 我個人感覺是, 它在設定輸入界面是較煩瑣;
Epi Info在流行病學軟件中是很好的一款, 並且免費, 但現在的第7版, 常在安裝時要另加安裝其他的程式, 而且在設定輸入界面上也不是太易 (但比起Access已經較容易了!).

    結果我選擇了Epidata Entry! 主要原因是:
  1. 免費!
  2. 它的體積很小, 安裝文件只有1M, 就算安裝後也只有約1.3M吧! (其實也可在網絡上找到不用安裝的) http://www.epidata.dk/download.php
  3. 有很多的語言版本 (但好似... 沒有繁體版呢! 這是我個人的作品, 已繁體化, 但在某些電腦上會出現亂碼呢!!!??? 所以建議使用英文版就好啦!) https://yunpan.cn/cRVI3nuAw7fxT  访问密码 7662
  4. 使用很方便! 如圖只需按它的步驟逐步進行即可. 
  5. 建議可用前先讀讀這份簡易的資料呢~ https://yunpan.cn/cRVIaLYzw68aA  访问密码 5459
現在研究正在輸入數據階段, 使用後的效果不俗呢!