差異、相似與模式

最近審了一份主題是質譜數據分析的稿子,領域是分析化學,很明顯的感受就是作者但是很明顯是為了用新方法而用,沒有從問題出發,所以藉機討論總結下科研數據分析的思考視角。

差異

科研數據分析最基礎的出發點就是尋找差異,你觀察到了兩組數據,這個分組是根據實驗設計或人為劃分的,你想了解兩組數據差異。最樸素的思路就是分組聚合,例如選取出現最多的眾數,排序中間位置的中位數以及平均值。但是這個思路只是簡單的將一組數描述為一個數,並無法表示這組數的離散程度,也就是丟失了一部分可以進行對比的信息。如果你考慮上表示離散程度的方差,結果就成了對比兩個數。這樣的對比其實只是描述性的,如果你願意且具備統計與數學功底,你可以構建出無數用來描述一組數據的單一或多個數值進行比較,這些數值在不同領域可能有不同稱呼,可以理解為指標,或者稱作統計量。統計量的構建至少滿足兩個條件:包含想要考察的信息與具備可比較的數學性質。前者比較好理解,後者就需要概率論做基礎了,在必要時可根據實際問題修改統計量的數學描述方式。萬萬不可別人讓你用什麼就去用什麼,這樣永遠是霧裡看花。

有了統計量,我們就可以進行比較了。不論你使用p值還是貝葉斯推斷,其核心思路就是將統計量對應到一個分布里去,然後從概率視角看一下這個差異離不離譜(或者跟先驗的概率分布比較),如果離譜就認為差異是顯著的,跟0差異不大就認為沒有明顯的差異。但需要知道的是沒有明顯的差異是對應你假設檢驗方法而言的,不是說真實是沒差異的,用不同的檢驗方式,結果可能不同。對於嚴謹的科學發現,主流的檢驗方式得到的結論應該是相似的,如果結果有差異,那麼要麼是檢驗方式無效或不適用,要麼就是你的數據對差異判斷並不支持。很多時候,如果技術發展不到位,數據的噪音掩蓋信號,此時你不能驗證結論,需要上更先進的儀器。從這個角度看,數據採集技術是否先進會制約科學發現,這也是很多學者尋求發展時經常要考慮平台是否先進的根本原因,沒有技術平台,科學發現只能說模稜兩可。好比你想用放大鏡研究細胞結構,基本只能拿著雞蛋看看了。

差異多數時候是兩兩間的,但有時候我們的問題是在某個因素不同水平的影響是否顯著,例如我想知道某種污染物的自由態濃度是否受高中低不同土壤含水量的影響,這裡土壤含水量是因素,高中低是三個水平,此時用方差分析就可以得到土壤含水量是否影響污染物自由態濃度的判斷。推而廣之,如果水平是連續變數,那麼此時的差異分析實質上是相關分析或者說是線性模型的一個特例。你總是要對模型係數進行假設檢驗來確定這個係數是否影響了你要考察的變數,如果你要進一步進行討論,參考下面的模式那一部分。

發現一個差異並從統計角度說明其出現概率比較低或跟先驗知識包含不同的信息量是科研數據分析最常見的應用場景。基本思考流程可以歸納為首先構建代表性可比較的統計量,然後進行假設檢驗的比較,最後根據結果給出判斷。這個判斷過程有統計學與概率論做支撐,獨立於觀察過程,因此判斷具備相對客觀的屬性。

相似

另一個科研中常見的數據分析場景是尋找數據的共性,但其實基本思路跟找差異比較接近但面對的數據結構會不太一樣。在差異分析中,通常考察的是單一屬性;相似性分析中,通常你會得到對同一客體的多個描述角度。舉例而言,我得到兩組河水樣品,想知道兩組水樣是否接近,此時每組樣品如果只測定一個指標,那麼對比一下就完了;但如果測了很多組指標如何來衡量?兩組河水pH值很接近但COD差距很大,可同時溶解氧幾乎相同,如何判斷?

一個樸素的想法就是測量可比指標間的標準化差異,然後求絕對值和或平方和,越大表示相似度越小,或者用類似核函數的思想把高維數據映射到低維空間,還可以進行傅立葉變換來通過低維數值保留核心信息量進行比較。此外一個我非常欣賞的思路就是通過打亂分組構建隨機統計量來對比實際發生的統計量出現概率,大概就是Fisher精確檢驗的套路,這個角度是純統計思路且在計算不那麼貴時很好用。

相似性分析的科研應用場景會越來越多的,首先是資料庫比對,目前組學技術發展很快,相關資料庫累積也很快,你發現一個功能蛋白,反推出序列可以直接去搜庫做進化樹,這裡面的相似性分析大都用到的動態編程與數據變換,不然速度跟不上。在質譜上就是譜庫檢索與比對,此時要考慮同位素分布、質量虧損、源內反應加合物等等,不然也很難比對相似性。另一個應用場景是非監督學習里的聚類分析,這裡面相似性統計量是進行聚類的基礎。其實雖然科學發現里尋找差異更符合探索邏輯,但實際上當前的數據驅動性研究更多是發現共性,當數據累積越來越多,對於共性的新研究方法或新統計量的提出可能更有價值。

模式

差異與共性分析都是最基礎直觀的科研數據分析思路,學科內規律性的東西有時候並不能直接從差異跟共性分析中得到,這時需要識別數據中的模式規律。所謂模式在科研結果中有兩種,一種是探索未知,另一種是擬合已知。前者並不需要特彆強的理論基礎,用來發現模式;後者需要有比較強的理論支撐。

擬合已知的最常見,例如線性擬合、多項式擬合等,很多時候由本學科的理論來提供基本形式,例如物理里的牛頓三定律、化學裡的能斯特方程、生物里的米氏方程。這些方程的數學形式已經在學科內得到了認可,所以當你獲取相關數據時,模式是固定的,你所需要求解的是某個參數。參數的穩定性也可以側面反應理論的真實性,但擬合嚴格說更像是驗證模式而不是發現模式。同時擬合背後的理論基礎及來源也是要深入理解的,例如做吸附等溫線有兩種基本擬合方式:弗里德里希方程與朗繆爾方程,如果你搞不清機理隨便用任何一種都會發現擬合效果都說得過去,但一個是純理論另一個是經驗公式,在使用時得考慮你研究目的。有一類研究比較看重預測效果,此時擬合就可以放寬,例如用多項式擬合考慮個自由度就可以了,甚至有時候可以考慮不同數值範圍採用不同數學形式,在邊界上用樣條平滑下就可以了。但不論擬合理論公式還是經驗公式,起碼這類分析總還是有個數學公式來做骨架的,探索分析則沒有這個限制。

探索未知模式並不是說讓你直接把所有科學問題都抽象成 y = f(x) ,然後你收集一大堆y跟相關x,直接扔到多層人工神經網路里去訓練,然後搞個驗證集看下效果就用,這是工程學思路,到頭來也許解決問題,但你可能根本不理解問題。正常的探索過程基本還是有個模型指導的,你可以從最簡單的線性模型開始嘗試,然後不斷提高模型的複雜度,例如引入交互作用或不同x用不同模型的廣義加性模型。當然,你可以引入層級模型來探索數據內部結構。當模型複雜到一定程度,就有點人工神經網路的意思了。如果你是為了發現新模式,那麼可視化手段是很好的探索起點。但如果是為了預測,其實樣條平滑、小波分析等黑魔法就可以隨意發揮了,大前提是你真的理解演算法,知道自己在幹什麼。

從尋找差異開始,我們很多樸素的想法背後其實都有基本模型在起作用,例如t檢驗就是方差分析的特例、方差分析就是線性模型的特例,線性模式又可以推廣到廣義線性模型。從最原始的單一統計量構建到多個獨立統計量關係探索,再到考慮交互作用,再到層級結構,模型的複雜度可以不斷提升。模型的生成過程也要伴隨大量的驗證與理論支持,並不是隨意可以套用,除非你搞機器學習。其實你應該體會到數據分析與科學發展是緊密聯繫而不是割裂的,很多數據分析方法就是為解決特定科學問題提出來的,沒有想像的那麼黑箱,反倒是總把新數據分析方法當成黑箱的思路是很危險的。在絕大多數情況下,科學問題的數據分析方法都是針對性的,你也應該能從分析過程體會到背後的抽象與基本假設,否則並不真正理解,雖然這可能不妨礙你發文章。

從問題視角出發去構建一個方法要比直接套用學科內常見方法更容易體會到《科學研究的藝術》。

推薦閱讀:

直博一年級,科研無力,論文看不進去,想好好學,可是沒有動力,求支招?
獨家!這可能是目前最全的醫學文獻資料庫了
中國在地溝油的再利用方面的科研工作到了什麼地步呢?
被媒體遺忘的諾獎女科學家屠呦呦

TAG:科研 | 数据分析 | 模型 |