跳轉到內容

統計分析:使用 R 的入門/第 3 章

來自華夏公益教科書,開放世界的開放書籍

安斯庫姆?

  • R 主題:使用者函式 & 使用花括號分組

假設的作用

[編輯 | 編輯原始碼]

想象一下,我們有一些觀察結果,我們想用它們來推斷我們周圍的世界。在觀察結果由一個系統組成的情況下,統計學可以幫助我們,該系統由一個系統組成部分和隨機機會效應組成。一個經典的“玩具”例子是骰子。假設我們想要分析以下結果,該結果透過擲骰子五次獲得。

滾動
2
3
6
6
6

儘管作為一般規則,您的第一步應該是繪製資料,但在這種情況下幾乎沒有意義。資料集如此之小,以至於我們可以透過簡單地檢查數字來感受它。最顯著的特徵是,我們似乎有大量 6,儘管這可能是由於偶然性。

我們可以簡單地將序列 {2,3,6,6,6} 視為一個獨特的、任意的事件序列。但這有點毫無意義:資料通常被分析是為了尋找一般模式,並透過概括來增加我們的理解。在這種情況下,我們可能希望使用結果來確定骰子是否偏向六,以及它是否可以用來玩遊戲。

天真地,我們可能希望用完全開放的思想來分析它;以沒有任何先驗假設的方式來處理這種情況。片刻的思考應該表明這是不可能的。例如,想象一下骰子是騙子的夢想:一臺複雜的微型機器,可以預先程式設計,以便每天給出特定的數字序列。例如,它可以被程式設計為給出 2,然後是 3,然後是三個 6,然後在一天的剩餘時間裡滾動 1。在這種情況下,結果與我們觀察到的完全一致,但它們沒有告訴我們骰子後續行為的任何資訊。雖然它完美地解釋了資料,但大多數人會(相當合理地)採用先驗假設,即“微型機器”解釋不太可能。

當然,這是一個極端的例子,但它說明了這一點。無論我們是否意識到,我們始終用關於什麼是合理解釋以及什麼不是的先驗概念來檢查資料。統計分析是將這些解釋形式化的過程,然後使用資料在它們之間進行選擇。一個很好的方法是用模型來描述我們所做出的假設。例如,以下兩個假設是幾乎所有我們可能想要測試的解釋所共有的。

誠實的假設
我們假設資料已“誠實地”收集和報告。如果資料被故意更改或某些值被“審查”,則可能並非如此。在我們的小型示例中,如果說前四次擲骰子都是 1,但觀察者將其丟棄,因為這似乎是一個“不尋常的模式”,那麼就會發生這種情況。雖然不誠實可能會嚴重改變我們的結論,但我們所能做的就是假設它沒有發生。
隨機誤差的假設
我們假設資料受到“隨機機會”過程的影響,導致結果在每次例項中以不可預測的方式發生變化。在這種情況下,骰子在擲出方式、隨後的翻滾和與表面的接觸方式上的微小變化會產生六種結果中的一種。統計學家經常(有點令人困惑地)將這種機會過程稱為資料中“誤差”的來源。描述機會運作方式通常需要一整套其他假設,這是第 3 章的重點。

明確假設

[編輯 | 編輯原始碼]

對任何假設進行任何假設的問題在於它們僅僅是假設。它們可能是也可能不是真的。當試圖用我們的分析來說服他人時,我們是在要求他們相信我們的假設。出於這個原因,我們應該嘗試做出廣泛接受的假設,更重要的是,確保它們是完全明確的。這樣,其他人就可以自己決定是否應該相信該分析。我們可以透過制定模型來最容易、最簡潔地概括這一點。

模擬現實

[編輯 | 編輯原始碼]

我們理解周圍世界的常見方法是用模型來描述它。越

許多基本統計書籍都教授簡單的檢驗,例如 t 檢驗或符號檢驗。這些都是基於一個底層模型。

那麼一個合適的模型是什麼樣的?我們可以用各種方法來

一些文字模型

[編輯 | 編輯原始碼]

測試特定模型。

模型 1 — 一個完全有偏差的骰子
骰子在擲出時總是給出 6。這裡不需要額外的假設,在這種極端情況下,沒有誤差過程。

我們可以透過單次觀察輕鬆地反駁這一點。但是,我們永遠無法證明這一點。事實證明,這通常是正確的。不可能證明某事是正確的,因為總有可能存在


模型 2 — 一個公平的骰子
這是一個更復雜的模型,它包含以下假設
  • 每次滾動有 6 種可能的結果,每次都會選擇 1-6 之間的數字。這是“有放回的”抽樣。定義一組可能性(樣本空間)
  • 獨立性假設:一次滾動不會告訴我們關於後續滾動將發生的事情的任何額外資訊。
  • 同質性假設:每次滾動任何結果的可能性都是一樣的
  • 公平性:6 種可能性中的任何一種都有相同的可能性,每個數字的可能性都相等。在

如果模型包含隨機因素,我們如何知道***

一旦我們有了模型,我們就可以

  • 嘗試反駁這個模型(雖然,在這種情況下,總是有一點點機會連續出現 6,所以我們永遠不能完全
  • 比較模型,以找出哪個更好

最簡單的是模擬(與似然進行比較)

模擬模型

[編輯 | 編輯原始碼]

我們可以使用模型的主要方式之一是模擬。這將是本書探索模型的主要方式。為此,我們需要將上面描述的各種模型轉換為模擬。上面的“公平骰子”模型提供了一個很好的、簡單的例子。我們將這個模型轉換為 R 中的模擬。這涉及瞭解 R 如何處理數字的一些知識,因此您應該檢查您是否對 R 中函式的概念感到滿意,如以前所述。


有放回的抽樣 - 在這裡描述使用隨機抽樣進行模擬的想法


隨機抽樣

[編輯 | 編輯原始碼]
從幫助頁面中,我們已經看到 sample 函式可以接受許多不同的引數。x 必須是專案的向量,size 必須是數字。由於 1:6 給出了從 1 到 6 的數字向量,我們可以設定 x=1:6 和 size=5。以下 5 個例子(注意前 4 個是等效的,儘管實際結果會由於抽樣時的機會效應而有所不同[1])。
###The next 4 lines are equivalent, 5 numbers are selected from a list of 1..6
sample(x=1:6, size=5, replace=FALSE) #when sampling WITHOUT replacement, each number only appears once
sample(replace=FALSE, size=5, x=1:6) #you can change the order of the arguments
sample(x=1:6, size=5)                #the same, because replace=FALSE by default
sample(1:6, 5)        #we don't need x= and size= if arguments are in the same order as in the help file
### The next line is a different model
sample(1:6, 5, TRUE)                 #sampling WITH replacement (the same number can appear twice)
###The next 4 lines are equivalent, 5 numbers are selected from a list of 1..6
sample(x=1:6, size=5, replace=FALSE) #when sampling WITHOUT replacement, each number only appears once
[1] 1 5 4 3 6
sample(replace=FALSE, size=5, x=1:6) #you can change the order of the arguments
[1] 5 6 4 2 1
sample(x=1:6, size=5)                #the same, because replace=FALSE by default
[1] 2 3 4 6 5
sample(1:6, 5)        #we don't need x= and size= if arguments are in the same order as in the help file
[1] 1 6 3 5 4
### Now simulate a different model
sample(1:6, 5, TRUE)                 #sampling WITH replacement (the same number can appear twice)
[1] 3 6 2 1 3
如前所述,我們的“公平骰子”模型是一種有放回抽樣:同一個數字可以出現兩次(實際上,在我們的資料中確實出現了)。所以我們在 R 中的模擬模型很簡單。
sample(1:6, 5, TRUE) 


參考文獻

[編輯 | 編輯原始碼]
  1. 在每章開始前呼叫 set.seed(1) 以獲得完全相同的結果


模型檢驗

[編輯 | 編輯原始碼]

我們可以嘗試反駁特定的模型,或者使用一些明智的判斷在不同的模型之間進行選擇。

檢驗模型的各種方法。例如,將模擬結果與觀察結果進行比較。

現在,我們有了模擬模型生成資料的一種簡單方法。我們如何才能

現在,我們能夠模擬如何***。我們不太可能得到我們觀察到的完全相同的序列。一個經典的方法是使用樣本統計量。如果我們得到了 3 個 5 或 3 個 1,我們也會感到驚訝。與機率空間概念的關聯。

樣本統計量

要計算我們的樣本統計量,我們首先需要一種方法來計算向量中每個數字的頻率。R 提供了一個名為 tabulate() 的函式,它可以完全做到這一點。然後,我們可以使用 max() 函式找到最頻繁的
組合函式 輸入:
tabulate(c(2,3,6,6,6))         #an example: we can see that the 
max(tabulate(c(2,3,6,6,6)))         #simply confirms what  
結果
參見



現在,我們可以將此應用於我們的模型,重複 1000 次。
使用 replicate() 進行模擬 輸入:
'"`UNIQ--pre-00000008-QINU`"'
結果
> replicate(1000, max(tabulate(sample(1:6, 5, TRUE))))
   [1] 3 2 2 2 2 3 2 2 3 2 2 2 2 2 3 2 2 2 3 1 2 2 3 2 2 2 2 2 2 2 2 2 2 3 2
  [36] 1 3 4 2 2 2 2 2 3 2 2 2 3 3 2 2 2 3 2 2 2 3 2 2 2 2 2 2 2 3 2 2 2 2 2
  [71] 1 3 2 2 2 2 1 2 3 2 2 2 3 2 2 3 2 2 2 3 2 2 3 2 2 1 2 2 2 3 2 2 1 2 3
 [106] 3 2 3 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 3 2 2 2 3 3 2 1 2
 [141] 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2
 [176] 2 3 2 2 2 2 2 2 2 2 2 2 4 2 4 2 2 2 1 2 2 2 2 3 2 3 3 2 2 2 2 2 3 2 2
 [211] 2 3 2 2 2 2 2 2 3 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 1
 [246] 2 2 3 2 3 2 2 3 2 3 2 1 2 2 2 1 2 2 2 2 3 2 3 2 2 2 3 2 3 2 2 2 2 2 2
 [281] 2 2 2 2 3 2 2 2 3 2 2 3 2 2 1 2 2 1 3 3 2 2 2 2 2 2 3 2 2 2 3 2 2 2 3
 [316] 4 3 2 1 1 3 2 2 2 3 3 1 3 2 2 1 2 4 2 3 2 2 2 1 2 2 2 2 2 2 3 2 1 2 2
 [351] 1 3 2 2 3 2 2 2 2 3 1 4 2 3 3 3 2 4 3 2 2 1 2 2 2 2 2 2 3 2 2 1 2 3 2
 [386] 3 2 2 4 2 2 2 1 1 2 3 3 3 2 2 2 2 2 3 2 2 1 2 3 1 2 2 2 2 2 2 2 2 3 2
 [421] 2 1 2 3 2 2 2 2 1 3 2 2 2 2 2 3 1 1 2 2 2 2 2 2 3 2 2 2 3 3 2 2 2 3 2
 [456] 2 1 2 2 2 2 2 2 3 2 2 3 1 3 2 2 3 2 3 2 2 2 2 1 2 3 2 3 2 2 3 2 4 2 2
 [491] 3 2 2 3 2 2 2 4 3 1 2 2 3 2 2 2 2 2 2 4 1 2 2 1 2 2 2 2 2 3 1 2 2 2 2
 [526] 3 2 2 2 2 2 2 2 2 2 2 3 3 2 2 2 2 2 2 2 2 2 2 2 3 1 1 2 3 2 2 2 2 2 2
 [561] 4 2 1 2 2 2 2 2 2 2 2 2 3 2 3 2 2 2 2 2 1 2 3 2 2 2 3 2 2 2 2 2 2 2 2
 [596] 2 2 3 2 2 2 3 2 3 2 2 2 2 2 1 2 2 3 3 3 2 2 2 2 2 2 3 2 4 1 2 2 2 2 2
 [631] 3 2 2 2 2 2 2 2 3 2 2 3 3 2 2 1 1 2 2 3 2 4 2 1 2 2 1 2 2 2 2 2 2 3 2
 [666] 2 2 2 3 2 2 2 3 2 2 2 2 2 2 1 2 2 2 2 2 2 2 3 2 2 3 3 2 2 2 3 3 2 2 3
 [701] 3 3 2 2 2 2 2 1 2 2 3 2 2 2 2 3 2 3 2 3 2 1 2 2 2 2 2 2 3 2 1 2 2 2 2
 [736] 3 3 2 3 2 2 2 3 2 2 2 1 2 2 2 3 2 3 3 2 2 3 1 2 2 2 2 2 4 2 2 2 2 2 2
 [771] 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 3 3 3 2 2 2 2 2 2
 [806] 2 2 3 1 2 2 4 2 2 1 4 2 3 3 2 2 2 3 2 1 2 2 3 2 2 2 1 2 2 2 2 2 2 2 1
 [841] 2 2 1 2 1 2 3 2 2 2 3 3 2 3 1 2 2 2 2 2 2 3 3 2 2 2 3 2 2 2 2 1 1 2 2
 [876] 1 1 2 2 2 3 1 2 2 2 1 2 2 2 2 2 2 2 2 2 3 2 2 2 1 2 3 2 2 3 2 1 2 3 1
 [911] 3 2 3 2 3 3 1 2 2 2 3 2 1 2 2 2 2 2 3 4 2 2 2 2 3 2 2 2 4 4 2 1 1 2 2
 [946] 3 3 2 2 3 2 2 2 3 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 3 1 3 4 3 2 2 2 2 2 2
 [981] 1 2 2 2 2 2 3 1 3 3 2 2 3 2 2 4 2 2 4 2
參見


你應該能夠看到,這裡有零星的 1,

引入機率概念的序言。


下一頁: 第 3 章 | 上一頁: 第 1 章
主頁: 統計分析:使用 R 的介紹
華夏公益教科書