over 3 years ago

統計上一個很常見但常被亂詮釋的工具就是 信賴區間
而這個信賴區間會有一個信心(confidence)值
舉例來說 你會看到
台灣大學畢業生平均薪水的95%信賴區間是[19,000, 25,000]

信賴區間是一個區間估計的方法
是用一個區間來估計一個"參數"
可以把參數想成我們想要知道的東西 向上面那個例子裡
參數就是"台灣大學畢業生平均薪水"
當我們對一個信賴區間有越高的信心時
表示這個區間 理論上 越有可能涵蓋真實的參數

信賴區間的詮釋其實和直覺上有些不同 我們用上面的平均薪水當例子
許多人會用下面這個錯誤的詮釋
<錯誤的詮釋> 平均薪水有95%機率落在[19,000, 25,000]
為什麼說這是個錯誤?
一個關鍵原因是: 平均薪水是個"固定並且未知"的參數
在我們的觀點之下(稱為頻率學派Frequentist)就只是個值 沒有機率架構
所以 要嘛這個平均值就在[19,000, 25,000]之間
要嘛就不在這個區間裡

這就好比是我要你猜我目前的月薪
你不能說80%機率在2000-3000之間
因為我的月薪是一個"切確的值" 只是你不知道
2000-3000要嘛就是 要嘛就不是 毫無機率可言

那信賴區間的要怎麼詮釋呢?
<正確的詮釋> 這個根據資料建構出[19,000, 25,000]區間的"方法" 有95%的機率 會建構出涵蓋平均薪水的區間
正是因為這個機率詮釋是在擺"方法"之上 所以我們用"信心"而非 "機率"來作為95%對應的量

我們下面更詳細的解釋 信賴區間的意涵
"這套方法有95%的機率建構出涵蓋平均薪水的區間" 這句話該怎麼理解呢?
同樣用我們的例子來看
我們"固定"我們建立信賴區間的方法 然後去抽樣得到資料

假設你隨機抽樣 得到第一筆資料 然後建出第一個95%信賴區間
先把這信賴區間放著
我們再去隨機抽樣 得到第二筆資料 第二個95%信賴區間
重複如此的動作 但每次抽樣都彼此獨立並且都是隨機抽樣
假設我們重複上述動作10,000次 這樣我們會有10,000個信賴區間
現在我們來比較 每個信賴區間是否有包含實際的平均薪水
如果這套方法是有效的(valid)
那麼我們會得到大約9,500個信賴區間 有包含實際的平均薪水

所以 95%信賴區間的那個95%稱為信心 而不是機率
正是因為這個機率的詮釋是擺在方法之上 而非直接跟參數作比較

To學過量子物理的朋友
可以把信賴區間的95% 想成在量子實驗"觀測前"的機率
因為觀測前的狀態還是機率分配的 所以這個區間是否有涵蓋參數 是可以討論機率的

而收集資料的動作 就跟進行觀測是一樣的動作
會迫使機率分配degenerate到一個狀態
因此 根據資料建立出來的區間 已經沒有機率可言
所以要嘛這區間就包含了參數 要嘛就沒有包含

 
over 3 years ago

Machine Learning和統計頗有關係
根據我老闆的詮釋 Machine Learning是統計學的分支
特別注重在預測問題 還有大資料下的資料預測

這幾年 Machine Learning在各行各業蓬勃發展
特別是科技業 簡直紅到一個不可思議的境界
這套學問能做的預測 經常神準到令人驚艷的地步

為什麼Machine Learning會如此的成功呢?
我覺得有兩個要素: 1. 只專注在預測上-更多的選擇 2. 現實問題的高複雜性

一般統計學 在分析資料時
是先透過對於這份資料的知識 來進行一個模型的建構
然後再來根據資料去把這個模型的參數估計出來 並進一步分析
這樣才能建構出一個科學上有意義的模型

但在Machine Learning裡頭 重要的是預測
所以只要能夠作為預測的模型 通通可以被考慮
不管這些預測模型是否合理或著有科學意義
最後我們使用的 是在預測誤差的估計下最佳的那個模型

這透露出一個關鍵:
因為我們只專注在預測上 所以我們的選擇非常多
在非常多選擇中找一個最棒的 自然成果會相當相當不錯
p.s.用專業術語來說 Machine Learning的模型空間(model space)非常巨大

現在我們談談另一個特性: 現實問題的高複雜性
我們要對現實有個認知: 所有的模型都是錯的 但我們只需要"有效"的模型就夠
現實是一個非常非常複雜的系統
幾乎不會出現理想上那樣完美的情況
我們頂多得到一個"很接近理想"的狀態

因此 傳統統計學的許多模型雖然在理想狀態下很好
但在現實情況下 永遠都會有一個無法消弭的模型偏差(model bias)
這個偏差源自於現實情況與理想狀態的隔閡
在科學問題上 這個隔閡只要夠小 就不是一個很嚴重的問題

但如果今天要最佳化我們的"預測" 我們就會想辦法把這個隔閡縮得更小
記得我們前面提過 Machine Learning具有相當多的選擇
要在如此多的選擇中 選一個最好的
自然更能夠降低這樣的隔閡

因此 複雜的問題像是: email的垃圾郵件/正常郵件的分類 人臉照片的辨識 數字的辨識等等
這些問題的真實情況都非常非常複雜 並且和理想狀態(例如統計的獨立性 相同分配性)差距非常大
在Machine Learning因為多元的模型選擇
我們就能夠增進我們的預測效果 進而大量降低誤差

所以 我覺得Machine Learning在當今會如此成功
正是因為這兩大因素:

  1. 只專注在預測上-更多的選擇
  2. 現實問題的高複雜性 使得這套學問在現實問題上 非常非常好用
 
over 3 years ago

我高中很愛打橋牌
而我覺得橋牌和人生有一點很相似:
就算你使用了最正確(機率上來說)的決策
還是有很大的可能結果不是你要的

當然 只要打的牌夠多
根據機率論 你會比靠直覺的人贏得還要多
但這理論上是要你打的牌數趨近無限大

統計有一派人做的 是所謂的決策理論
在研究根據資料怎樣做出決策是最低風險的
這就會和打橋牌一樣 就算你用了理論上(甚至是實際上)最佳的策略
最後結果跑出來 你輸給路人瞎猜的可能性還是頗高
只是長期來看 你比起其他人還要正確的機會高得多

人生不就是這樣?
太多事情太多變數 就算你根據你當下所有資訊
作出最正確 或是最合理的判斷
結果也常常不是你想要的

所以學統計 或打橋牌給我的啓發是
結果的好與壞是其次 最重要的是"過程"
就像成功的人 他成功的這個事實並不吸引我
會讓我覺得有趣的是 他如何走向成功的這個過程

如果我是老闆要發掘有潛力的員工
除了看實際表現外 我會更重視他如何根據他有的資訊 作出判斷與決策
縱使最後這個成果不滿意
(可能他缺少關鍵情報或資源 這超級常見)
只要這個分析過程非常正確 或非常有道理
我會相信這個人頗有潛力

 
over 3 years ago

統計學有個重要的議題-假設檢定(hypothesis test)
一種檢視假設檢定的方法 則是把它看成一種反證法的推廣版

假設檢定主要的設定如下:
我們有個假設A要去檢定是否合理(稱為 虛無假設-null hypotheis)
相對應的 當我們發現假設A不合理時 我們則接受相對應的假設B
(稱為 alternative hypothesis...中文我還真的不知道)

而我們如何認證合不合理? --透過資料
同時我們需要設定一個顯著水準(significance level)
什麼是顯著水準? 簡單來說 顯著水準就是我們對"合理性"的要求高低
顯著水準低 表示我們要有很強的證據(證據來自資料)說明虛無假設不合理
才能夠拒絕虛無假設

因為資料是一些數字 而我們想要的是證據的"強度"
把資料轉成證據強度的過程 就是建立一個檢定統計量(test statistics)
所以當我們得到一筆資料 就能計算檢定統計量
然後根據顯著水準 我們可以建構門檻值 當檢定統計量高於門檻值的時候
(檢定統計量大 可以看成證據強度很強)
我們就拒絕虛無假設

你可以看出 一個關鍵是建立"門檻值"
給定顯著水準後 如何建立門檻值呢?
我們透過 "假設在虛無假設為真的情況"
然後去計算在隨機之下 這個檢定統計量的分配情況
透過分配情況去選一個門檻值

這個 "假設虛無假設為真" 的行為 正是所謂反證法的論述模式
基本上 假設檢定就是一個在隨機分配下的反證法
我們想要拒絕虛無假設 所以我們先假設虛無假設為真
然後想辦法推出矛盾(這裡的矛盾 是相對於資料--矛盾就是跟資料不合)

顯著水準可以看成 我們想透過反證法
但因為隨機狀況下怎樣都有可能 因此我們需要一個矛盾的"度量"
當矛盾值(檢定統計量大小)夠大時 我們就能合理得拒絕虛無假設
而顯著水準正是這個矛盾的"度量"

基本上 非邏輯或數學的世界裡
很難真正的使用反證法
假設檢定可以看成一種把反證法推廣至機率模式裡
然後透過機率模式與現實世界的相似性
來作為科學推論的工具
這也是為什麼各個科學研究裡 資料分析總會比較"顯著性"的原因
背後的道理其實正是使用反證法的推廣

 
over 3 years ago

數學模型是一個數學的模式 用以描述實際的現象
因為數學結構較為嚴謹 因此我們能夠做出許多操作與運算
而這些操作下的結果 應該在現實中會有對應的現象
舉例來說: 牛頓第二定律 F=ma
描述著當我們使用固定的力 不同質量的物體會有相應不同的加速度

當然 這是在理想狀態才會看到的現象
而實際情況下 因為有各種阻力 我們看到的關係式不會如此完美
但整體趨勢可以透過這個公式描述

統計模型是數學模型之一
統計模型的分析主要透過機率架構來操作
探討如何在給定的資料下 對模型進行分析
這些分析包括:
參數的估計 - 透過資料建立一個模型
誤差分析 - 探討估計的成果好與壞
假設檢定 - 測定既有的假設是否和我們觀測的資料吻合
模型檢定 - 檢定我們假設的模型和實際觀測的是否類似
...等等

我突然想到 統計模型還有一個更有趣的用途 就是建立一個有效的模擬方法
實際的現象往往是來自非常複雜的模型
有著各式的擾動 並且產生非線性方程(當成很複雜的系統就好)
古典科學的模型 並沒有機率機制在裡頭
導致我們難以重新模擬出每次觀測不同的成果
但假如我們發現可以用統計模型描述這個現象
我們便能夠透過統計模型的模擬(隨機抽樣)用以作為一種分析的工具

舉例來說: 淡水河每年最高峰的水位
這是一個非常非常複雜的模型
或許一套複雜的非線性模型可以非常精確的描述這個水位的高低
但一個統計模型 可能只需要用一些觀測的資料
就能夠做出合理並且與過去吻合的描述
這樣 我們便能夠透過這個統計模型 產生新的資料 來分析未來的趨勢
我們就不必去思考如何建立那個複雜的非線性模型
這並不意味著我們相信機率模型是"真"的 我們只相信機率模型是"有效"的

但統計模型並不一定永遠是有效的
在一些低誤差的資料上
或著機率架構描述得非常糟糕的情況
我們就不應該使用統計模型

統計模型有它好用的地方
至少在許多問題上 要建構一個有效地描述模型 統計模型是好的候選
即使我們不相信機率架構 許多時候自然現象與社會現象卻能夠被統計模型精簡且有效的描述

 
over 3 years ago

資料分析常常涉及到不同的統計方法
現在越來越多人純粹重視統計方法 而不重視統計理論的這一塊
甚至他們並不曉得統計理論有什麼用途
在這邊我簡單談三個統計理論的功用

正統的統計方法 都是要分析一個統計模型中的某項參數而產生的
e.g. 我們有每個大學畢業生的在校平均成績(X) 還有畢業第一年的薪水資料(Y)
我們想要知道在校平均成績與畢業第一年的薪水的大致趨勢
常見的方法就是線性回歸並使用最小平方法 找X和Y之間的線性關係
這背後的統計模型就是:
Y=a+bX+誤差
其中a,b就是所謂的參數 而b正是我們有興趣知道的參數
方法就是最小平方法

統計理論的主要用途有三種

  1. 確定我們的方法是有效的 並且瞭解理論上的有效程度(估計的誤差大小)
  2. 瞭解我們方法在哪些假設或前提之下是可行的 而哪些情況會使這套方法出問題
  3. 跑出結果之後 對於分析的結果能夠進行解釋 這三個用途其實是息息相關的

回到我們的線性回歸與最小平方法
統計理論會告訴你這樣的方法在 "Y=a+bX+誤差"模型之下
是否會是無偏的(也就是期望值=實際值)?
估計的不穩定性大致多少? 還有當我們增加樣本數時 我們預期我們的成果會怎樣改變?
這樣我們對於我們找到的成果 才會比較有信心
同時 在回答前面的問題時 我們必須作出假設才能分析出估計的不穩定性

因此理論的分析會告訴我們
在誤差是常態時 我們會有多好的收斂性(估計的b 和實際的b 會有多大的差異)
當誤差不是常態 但還是對稱時 我們的收斂性會達到怎樣的程度
當誤差非常詭異時 我們的方法就會失敗
而這些假設其實也可以透過事後的模型檢定(model diagnostic)來檢查

最後 即使我們的成果出現不是很理想的狀況
我們也經常能夠過理論解釋
在最小平方法裡頭 只要資料點有些outliers(跟我們的模型很不合的點)
很容易就造成估計相當不穩定
這些其實都能從理論來解釋:
最小平方法因為是找一個平均的影響力 因此只要有幾個點和線性關係很不fit(outliers)
那估計的線性關係(b)就很容易受影響(不穩定性高)

舉例來說: X=1,2,3,4,5 Y=2.1,4.3,5.6,20,9.8
這樣X和Y的關係幾乎可以fit一條Y=2X的線 但因為X=4的時候 Y是20(outlier)
我們跑出來的回歸會變成Y = -0.97+3.11X
理論就會告訴你 這就是因為最小平方法的缺點是對outliers很敏感
如果我們拿掉第四個點 結果就會變成=0.24+1.89X
跟Y=2X就很相似
(斜率的0.24可以看成因為樣本數小所造成的估計誤差)

所以 統計理論對於統計方法而言的重要性是頗為重要的
至少它會告訴我們 這套方法的極限還有表現性是如何
當我們跑出成果時 合理或不合理也能夠過理論來解釋

 
over 3 years ago

上週去參觀學校gradute computer vision課程的期末poster
主要是來瞭解不同領域的人如何運用以及詮釋data
computer vision主要用的是image data
可以說是數一數二重視image data的領域

就小弟對computer vision粗淺的見解
他們主要透過分析image data 找出/辨識出有用的features
這些features可以讓人/電腦作進一步的分析
例如 你叫機器人去拿桌上的水杯 機器人就需要透過image data去辨識"杯子" 然後進行拿取的動作
或在影像醫學上 把一張皮膚的image 辨識出不同的細胞

以下是小弟兩天參觀poster後粗略的感想
整個computer vision的研究在現代可以說是非常有成果
我這兩天看到許多非常非常有趣的成果 很多都讓我為之驚艷

而computer vision我會詮釋成"image data engineering"
他們使用許多不同的方法來處理image data 找尋各式有用的資訊
並且研究這些方法在不同image data下的表現
有趣的是 許多方法都俱有統計的性質 e.g. kNN, clustering, mean shift...
但不同於統計所重視理論的性質 computer vision非常重視實際data的表現性
還有如何設計一個快速/有效的algorithm去跑出我們要的成果
我比較少看到的是理論的架構 至少是image data產生的理論架構
這是我之所以稱之為engineering的原因

有些人試圖透過機率模型去給不同的方法一些詮釋
但我個人認為 在computer vision裡
對noise的詮釋是: "有助於我們要的features的資料 就是signal 其他的則是noise"
這個noise並不表示沒用的資料 而是對我們的目標而言沒幫助的資料
在這種情況下 我並不覺得probability model是好用的model
因為影像資料裡的noise可以說是非常的複雜
我不覺得真正random或probability的noise會是合理地假設

但其實image data的產生機制本身是困難的問題
因為一張image裡頭其實存在著一種"physically reasonable"的性質
這使得noise是俱備複雜結構的 絕對不是統計上或機率上簡單的correlation就能處理的
因此 如何寫下一個model去合理地詮釋image data 完全是個困難的問題

不過就model本身的特性來講 是否合理是個問題
但只要model可以有效地解釋現象與描述過程 並能做出好的prediction
這樣的一個model就不算是太差
而這或許正是統計模型/機率模型在image data依舊會被人使用的原因
縱使假設都不成立 但只要能夠有效的處理問題 就是好模型

我的結論是:
只要統計方法在image data, computer vision上能有效解決問題
那就是個好用的方法 至於如何詮釋結果與noise 或寫下一個model去描述image
這是個很有意思並且值得深思的問題 由衷地希望有人能夠提出一套好的觀點或model
(這是個很有"Ph"D概念在的問題)

 
over 3 years ago

Functional space(函數空間) 是一堆函數的集合
他到底有什麼功用呢?
舉例來說 你想要探討筆電電源線到插座之間 "整條電線的溫度的最大值"
這個最大值有兩個特性

  1. 它是隨機的 (主因是電流通過所產生的熱擾動造成)
  2. 這個值的變化幾乎是連續的 我們可以用一個隨機過程+函數空間來描述整條電線的溫度 電線上每個點 他的溫度是個隨機量 這個隨機量本身具有一個機率分配 e.g. 常態分配, 平均值20度C, 標準差0.01度C 溫度分配 本身就是一個函數 因此電線上每個點 背後都對應到一個函數 所以 整條電線的所有點的溫度函數 全部收集起來就是一個函數的集合 也就是一個functional space

然則 這整條電線有無限多個點
就算你知道每個點單獨來看是個很小的常態分配
無限多個點的最大值..可以是無限大!

這時該如何控制這個最大值的分配呢?
分析functional space有個方法 稱為covering number
假設我的電源線有100公分長
而我知道 電源線上兩個點如果相鄰2.5公分以內的溫度 不會超過0.1度C
那我可以每隔5公分選一個點 一共選出20個點
最大的溫度不會超過這20個點的最大值+0.1度C

所以 我們把原本要比較無限多個點的量
化簡為比較有限點(20個點)的量 加上一個上界0.1度C
這20個點會對應到20個隨機變數(他們是相關的 不過這沒關係)
20個隨機變數的最大值 就算是相關的
也可以控制它的分配

因此 我們就能計算這個原本無限多個點的取最大值得分配
也就是這個函數空間裡最大值的那個函數

統計上的函數空間非常非常的多 只是一般不會明講
舉例來說 迴歸分析本身就是在函數空間裡找尋
迴歸模型可以寫成Y=m(X)+e, e是誤差
m是一個連接Y和X關係的"函數"
所有可能的m所建立的集合 就是一個函數空間
常見的線性回歸 只是要求m(X)=a+bX
因此這個函數空間等價於a,b兩個"參數"所建構的"參數空間"
而我們各種方法在找的 就是找這個函數/參數空間裡 最符合我們答案的那個函數

密度估計也是在函數空間裡面找最符合的那個密度函數

分類分析(classification)裡頭 所有可能的classifiers
也建構出一個函數空間

所以 函數空間對於進階的統計分析是頗為重要的
有興趣者不妨多瞭解一些函數空間的性質

 
over 3 years ago

理論統計非常非常重視數學 看起來似乎和實際生活沒啥關係
事實上 理論統計和生活 科學 還有工程有著密切關係

理論統計重視的是 在哪些"假設"之下
我們的某些統計方法具有多好的性質
當我們放寬些假設後 我們的方法是否因此失效? 還是效力會比原本差多少?
這也是理論統計研究的範疇

這看起來非常high level 似乎和生活沒關係
我簡單舉個例子來說明和生活的關係
假設今天美國通過一個法案: 如果A國的國際學生畢業平均年薪顯著地高於7萬美元 就增加該國家學生的錄取率
然後他們做了一項研究 得出台灣學生畢業平均年薪是8萬美元 標準差5千美元
這樣 他們是否要提高台灣學生的錄取率?

許多人都知道 教科書上說 平均值加減兩個標準差大約是95%信賴區間的範圍
因此在這種情況下 台灣有顯著的高於7萬美元! 應該要增加錄取

但事實上 平均值加減兩個標準差這個方法 只適用於常態分配或著某些分配
如果分配非常偏離常態 這個方法最差會只有75%的信心
(note: 75%來自Chebyshev's inequality)

所以 當今天台灣代表根據這份資料要向美國議會提交申請時
是有可能直接被拒絕的

而一部分理論統計學家 正在研究這套正負兩個標準差的法則
到底適用到多廣的分配狀況
越多這方面的理論研究 就越能讓我們瞭解我們的資料是否提供我們足夠的證據去做"推論"
因此 只要我們有足夠的理論背景 外加對台灣學生畢業薪水分配的資訊
台灣代表就指出我們有更強烈的證據說明我們是顯著的高於7萬美元的

同理 在科學上更多類似的問題
科學上非常重要的就是資料提供多"充分"的證據去支持一項假說
例如: 宇宙的年齡多老? 睡眠和學習的關係? 運動與健康的關係?

我們有越好的理論根據 在同樣的方法與資料之下 就能下越強烈的推論
這就是為什麼理論統計如此重要的原因

在許多資料工程上(俗稱的data science 但我個人覺得這是很爛的稱法 明明就是data engineering)
例如machine learning, data mining...
主要關注的問題是prediction或是某筆資料實際的表現
理論提供的支持就不是推論的強度

而是一筆新的資料來的時候 我們應該先嘗試怎樣的分析方法
以及當我們分析完這筆資料時 是否能夠根據理論來說明為什麼某些方法會有效而某些方法沒效
這甚至也會透露出這筆資料的一些隱藏性質

因此 理論統計的研究是非常有用的!
ps. 這是我今天讀了一篇經典的理論統計paper的心得
那篇paper 1998年發的 但至今才被cite 41次
可是結論非常強大(基本上就是bootstrap可以用來建立密度估計的confidence interval)

理論統計和數學就很像 citation都不高 但讓人類的知識往外延伸一大步
理論統計學家是群默默在統計的知識疆界上 孤軍奮戰的英雄們

 
over 3 years ago

統計學有兩大類型
-敘述統計學(descriptive statistics)
-推論統計學(inferential statistics)
這兩類超級常被混用

敘述統計學"完全沒有"假設機率模型
因為敘述統計學關注的是 如何summarize資料
也就是用幾個簡單的數字 把資料的大致趨勢或分配作出統整

常見的方法就是 平均值 中位數 標準差...等等
成功率(e.g.大學錄取率)也是敘述統計學方法之一

推論統計學是建立在機率模型之上
用機率架構去詮釋資料分配的由來 並因此我們能夠對"未來的資料"進行"推論"
同時 因為有機率架構 我們也能對模型本身做推論 例如參數估計等等

敘述統計學和推論統計學常常被亂用
導致許多人覺得統計都在玩數字遊戲
舉例來說
高中最喜歡說他們今年台大錄取率高達XX%
然後拿出其他學校的比率作為比較 並結論自己學校比較好

這犯了一個關鍵錯誤 就是錄取率是來自敘述統計學的
這只總結了自己學校的大學錄取的成果之一
除非你做一些額外的機率模型假設 否則並不能夠結論出自己學校"比較好"
例如 學校錄取率高可能是因為減班制度 or 今年剛好老師猜題神準

敘述統計學完全不做推論 只純粹總結資料的特性
如果要進行推論(例如母體平均值高於某個量)
那必須要透過推論統計學 建立機率模型 才能進行推論

要做推論就一定要做假設 因此合格的統計學家都會很小心翼翼的跟你說
"在假設OOO之下 根據資料 我們得出XXX的結論"