天天看點

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

本節書摘來自華章計算機《r語言資料挖掘:實用項目解析》一書中的第2章,第2.7節,作者[印度]普拉迪帕塔·米什拉(pradeepta mishra),譯 黃芸,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

列聯表是由兩個或多個分類變量及每個分類所占比例構成的頻率表。頻率表展示的是一個分類變量,而列聯表用來展示兩個分類變量。

我們以cars93資料集為例,來解讀列聯表、二進制統計和資料正态性:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

前面已給出過汽車的兩個分類變量airbags和type各自的頻率表:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗
《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

如上面的代碼所示,contable對象儲存了兩個變量的交叉表。每個單元的百分比顯示在下列代碼中。如果需要計算行百分比或列百分比,則需要指定相應參數的值:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

若要計算行百分比,則應将值設為1。若要計算列百分比,則應将值設為2。代碼如下:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

列聯表的概覽(summary)用于實作兩個分類變量的獨立性檢驗(卡方檢驗):

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

對所有因子的卡方獨立性檢驗在之前講過了。卡方近似值有可能因列聯表中存在空值或少于5個值而不準确。在之前的例子中,對于汽車類型和安全氣囊這兩個随機變量,如果一個變量的機率分布不影響另一個變量的機率分布,則說明它們是獨立的。對于卡方獨立性檢驗的零假設是兩個變量互相獨立。因為此檢驗的p值小于0.05,我們有5%的顯著性水準否定兩個變量是獨立的零假設。是以結論是汽車類型和安全氣囊不是互相獨立的,即它們相關或依賴。

如果不是兩個變量,我們給列聯表再加一維會怎麼樣?取origin,列聯表的代碼會顯示如下:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

對所有因子的獨立性檢驗結果執行summay指令可檢驗零假設:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

除了之前讨論的繪圖方法,r語言中還有一些數值統計檢驗可用于檢視一個變量是否呈正态分布。有個名為norm.test的庫可用于執行資料正态性檢驗,該庫中一系列用于檢驗資料正态性的函數如下所示:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗
《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

我們來對cars93資料集中的price變量進行正态檢驗:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

由以上的檢驗得知,因所有統計檢驗的p值都小于0.05,可知price變量不是正态分布。如果給二進制關系再增加一個次元,即變成多元分析。我們來試着了解一下cars93資料集中馬力(horsepower)和車長(length of car)之間的關系:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

當納入更多變量時,這就變成多元關系了。下面給出一個cars93資料集中多變量之間多元關系的示意圖:

《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗
《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗
《R語言資料挖掘:實用項目解析》——2.7 列聯表、二進制統計及資料正态性檢驗

有多種方法可作為參數傳遞給關聯繪圖。它們是"circle""square""ellipse""number""shade""color"和"pie"。

繼續閱讀