本文目錄一覽:
- 1、Python數據分析 | 數據描述性分析
- 2、python大數據挖掘系列之基礎知識入門 知識整理(入門教程含源碼)
- 3、可以讓你快速用Python進行數據分析的10個小技巧
- 4、如何用python進行數據分析
- 5、Python數據分析:可視化
- 6、python數據統計分析
Python數據分析 | 數據描述性分析
首先導入一些必要的數據處理包和可視化的包,讀文檔數據並通過前幾行查看數據字段。
對於我的數據來說,由於數據量比較大,因此對於缺失值可以直接做刪除處理。
得到最終的數據,並提取需要的列作為特徵。
對類別數據進行統計:
類別型字段包括location、cpc_class、pa_country、pa_state、pa_city、assignee六個字段,其中:
單變量統計描述是數據分析中最簡單的形式,其中被分析的數據只包含一個變量,不處理原因或關係。單變量分析的主要目的是通過對數據的統計描述了解當前數據的基本情況,並找出數據的分布模型。
單變量數據統計描述從集中趨勢上看,指標有:均值,中位數,分位數,眾數;從離散程度上看,指標有:極差、四分位數、方差、標準差、協方差、變異係數,從分布上看,有偏度,峰度等。需要考慮的還有極大值,極小值(數值型變量)和頻數,構成比(分類或等級變量)。
對於數值型數據,首先希望了解一下數據取值範圍的分布,因此可以用統計圖直觀展示數據分布特徵,如:柱狀圖、正方圖、箱式圖、頻率多邊形和餅狀圖。
按照發布的時間先後作為橫坐標,數值範圍的分布情況如圖所示.
還可以根據最終分類的結果查看這些數值數據在不同類別上的分布統計。
箱線圖可以更直觀的查看異常值的分布情況。
異常值指數據中的離群點,此處定義超出上下四分位數差值的1.5倍的範圍為異常值,查看異常值的位置。
參考:
python數據分析之數據分布 – yancheng111 – 博客園
python數據統計分析 –
科爾莫戈羅夫檢驗(Kolmogorov-Smirnov test),檢驗樣本數據是否服從某一分布,僅適用於連續分布的檢驗。下例中用它檢驗正態分布。
在使用k-s檢驗該數據是否服從正態分布,提出假設:x從正態分布。最終返回的結果,p-value=0.9260909172362317,比指定的顯著水平(一般為5%)大,則我們不能拒絕假設:x服從正態分布。這並不是說x服從正態分布一定是正確的,而是說沒有充分的證據證明x不服從正態分布。因此我們的假設被接受,認為x服從正態分布。如果p-value小於我們指定的顯著性水平,則我們可以肯定的拒絕提出的假設,認為x肯定不服從正態分布,這個拒絕是絕對正確的。
衡量兩個變量的相關性至少有以下三個方法:
皮爾森相關係數(Pearson correlation coefficient) 是反應倆變量之間線性相關程度的統計量,用它來分析正態分布的兩個連續型變量之間的相關性。常用於分析自變量之間,以及自變量和因變量之間的相關性。
返回結果的第一個值為相關係數表示線性相關程度,其取值範圍在[-1,1],絕對值越接近1,說明兩個變量的相關性越強,絕對值越接近0說明兩個變量的相關性越差。當兩個變量完全不相關時相關係數為0。第二個值為p-value,統計學上,一般當p-value0.05時,可以認為兩變量存在相關性。
斯皮爾曼等級相關係數(Spearman’s correlation coefficient for ranked data ) ,它主要用於評價順序變量間的線性相關關係,在計算過程中,只考慮變量值的順序(rank, 秩或稱等級),而不考慮變量值的大小。常用於計算類型變量的相關性。
返回結果的第一個值為相關係數表示線性相關程度,本例中correlation趨近於1表示正相關。第二個值為p-value,p-value越小,表示相關程度越顯著。
kendall :
也可以直接對整體數據進行相關性分析,一般來說,相關係數取值和相關強度的關係是:0.8-1.0 極強 0.6-0.8 強 0.4-0.6 中等 0.2-0.4 弱 0.0-0.2 極弱。
python大數據挖掘系列之基礎知識入門 知識整理(入門教程含源碼)
Python在大數據行業非常火爆近兩年,as a pythonic,所以也得涉足下大數據分析,下面就聊聊它們。
Python數據分析與挖掘技術概述
所謂數據分析,即對已知的數據進行分析,然後提取出一些有價值的信息,比如統計平均數,標準差等信息,數據分析的數據量可能不會太大,而數據挖掘,是指對大量的數據進行分析與挖倔,得到一些未知的,有價值的信息等,比如從網站的用戶和用戶行為中挖掘出用戶的潛在需求信息,從而對網站進行改善等。
數據分析與數據挖掘密不可分,數據挖掘是對數據分析的提升。數據挖掘技術可以幫助我們更好的發現事物之間的規律。所以我們可以利用數據挖掘技術可以幫助我們更好的發現事物之間的規律。比如發掘用戶潛在需求,實現信息的個性化推送,發現疾病與病狀甚至病與藥物之間的規律等。
預先善其事必先利其器
我們首先聊聊數據分析的模塊有哪些:
下面就說說這些模塊的基礎使用。
numpy模塊安裝與使用
安裝:
下載地址是:
我這裡下載的包是1.11.3版本,地址是:
下載好後,使用pip install “numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl”
安裝的numpy版本一定要是帶mkl版本的,這樣能夠更好支持numpy
numpy簡單使用
生成隨機數
主要使用numpy下的random方法。
pandas
使用 pip install pandas 即可
直接上代碼:
下面看看pandas輸出的結果, 這一行的數字第幾列,第一列的數字是行數,定位一個通過第一行,第幾列來定位:
常用方法如下:
下面看看pandas對數據的統計,下面就說說每一行的信息
轉置功能:把行數轉換為列數,把列數轉換為行數,如下所示:
通過pandas導入數據
pandas支持多種輸入格式,我這裡就簡單羅列日常生活最常用的幾種,對於更多的輸入方式可以查看源碼後者官網。
CSV文件
csv文件導入後顯示輸出的話,是按照csv文件默認的行輸出的,有多少列就輸出多少列,比如我有五列數據,那麼它就在prinit輸出結果的時候,就顯示五列
excel表格
依賴於xlrd模塊,請安裝它。
老樣子,原滋原味的輸出顯示excel本來的結果,只不過在每一行的開頭加上了一個行數
讀取SQL
依賴於PyMySQL,所以需要安裝它。pandas把sql作為輸入的時候,需要制定兩個參數,第一個是sql語句,第二個是sql連接實例。
讀取HTML
依賴於lxml模塊,請安裝它。
對於HTTPS的網頁,依賴於BeautifulSoup4,html5lib模塊。
讀取HTML只會讀取HTML里的表格,也就是只讀取
顯示的是時候是通過python的列表展示,同時添加了行與列的標識
讀取txt文件
輸出顯示的時候同時添加了行與列的標識
scipy
安裝方法是先下載whl格式文件,然後通過pip install “包名” 安裝。whl包下載地址是:
matplotlib 數據可視化分析
我們安裝這個模塊直接使用pip install即可。不需要提前下載whl後通過 pip install安裝。
下面請看代碼:
下面說說修改圖的樣式
關於圖形類型,有下面幾種:
關於顏色,有下面幾種:
關於形狀,有下面幾種:
我們還可以對圖稍作修改,添加一些樣式,下面修改圓點圖為紅色的點,代碼如下:
我們還可以畫虛線圖,代碼如下所示:
還可以給圖添加上標題,x,y軸的標籤,代碼如下所示
直方圖
利用直方圖能夠很好的顯示每一段的數據。下面使用隨機數做一個直方圖。
Y軸為出現的次數,X軸為這個數的值(或者是範圍)
還可以指定直方圖類型通過histtype參數:
圖形區別語言無法描述很詳細,大家可以自信嘗試。
舉個例子:
子圖功能
什麼是子圖功能呢?子圖就是在一個大的畫板裡面能夠顯示多張小圖,每個一小圖為大畫板的子圖。
我們知道生成一個圖是使用plot功能,子圖就是subplog。代碼操作如下:
我們現在可以通過一堆數據來繪圖,根據圖能夠很容易的發現異常。下面我們就通過一個csv文件來實踐下,這個csv文件是某個網站的文章閱讀數與評論數。
先說說這個csv的文件結構,第一列是序號,第二列是每篇文章的URL,第三列每篇文章的閱讀數,第四列是每篇評論數。
我們的需求就是把評論數作為Y軸,閱讀數作為X軸,所以我們需要獲取第三列和第四列的數據。我們知道獲取數據的方法是通過pandas的values方法來獲取某一行的值,在對這一行的值做切片處理,獲取下標為3(閱讀數)和4(評論數)的值,但是,這裡只是一行的值,我們需要是這個csv文件下的所有評論數和閱讀數,那怎麼辦?聰明的你會說,我自定義2個列表,我遍歷下這個csv文件,把閱讀數和評論數分別添加到對應的列表裡,這不就行了嘛。呵呵,其實有一個更快捷的方法,那麼就是使用T轉置方法,這樣再通過values方法,就能直接獲取這一評論數和閱讀數了,此時在交給你matplotlib里的pylab方法來作圖,那麼就OK了。了解思路後,那麼就寫吧。
下面看看代碼:
可以讓你快速用Python進行數據分析的10個小技巧
一些小提示和小技巧可能是非常有用的,特別是在編程領域。有時候使用一點點黑客技術,既可以節省時間,還可能挽救“生命”。
一個小小的快捷方式或附加組件有時真是天賜之物,並且可以成為真正的生產力助推器。所以,這裡有一些小提示和小技巧,有些可能是新的,但我相信在下一個數據分析項目中會讓你非常方便。
Pandas中數據框數據的Profiling過程
Profiling(分析器)是一個幫助我們理解數據的過程,而Pandas Profiling是一個Python包,它可以簡單快速地對Pandas 的數據框數據進行 探索 性數據分析。
Pandas中df.describe()和df.info()函數可以實現EDA過程第一步。但是,它們只提供了對數據非常基本的概述,對於大型數據集沒有太大幫助。 而Pandas中的Profiling功能簡單通過一行代碼就能顯示大量信息,且在交互式HTML報告中也是如此。
對於給定的數據集,Pandas中的profiling包計算了以下統計信息:
由Pandas Profiling包計算出的統計信息包括直方圖、眾數、相關係數、分位數、描述統計量、其他信息——類型、單一變量值、缺失值等。
安裝
用pip安裝或者用conda安裝
pip install pandas-profiling
conda install -c anaconda pandas-profiling
用法
下面代碼是用很久以前的泰坦尼克數據集來演示多功能Python分析器的結果。
#importing the necessary packages
import pandas as pd
import pandas_profiling
df = pd.read_csv(‘titanic/train.csv’)
pandas_profiling.ProfileReport(df)
一行代碼就能實現在Jupyter Notebook中顯示完整的數據分析報告,該報告非常詳細,且包含了必要的圖表信息。
還可以使用以下代碼將報告導出到交互式HTML文件中。
profile = pandas_profiling.ProfileReport(df)
profile.to_file(outputfile=”Titanic data profiling.html”)
Pandas實現交互式作圖
Pandas有一個內置的.plot()函數作為DataFrame類的一部分。但是,使用此功能呈現的可視化不是交互式的,這使得它沒那麼吸引人。同樣,使用pandas.DataFrame.plot()函數繪製圖表也不能實現交互。 如果我們需要在不對代碼進行重大修改的情況下用Pandas繪製交互式圖表怎麼辦呢?這個時候就可以用Cufflinks庫來實現。
Cufflinks庫可以將有強大功能的plotly和擁有靈活性的pandas結合在一起,非常便於繪圖。下面就來看在pandas中如何安裝和使用Cufflinks庫。
安裝
pip install plotly
# Plotly is a pre-requisite before installing cufflinks
pip install cufflinks
用法
#importing Pandas
import pandas as pd
#importing plotly and cufflinks in offline mode
import cufflinks as cf
import plotly.offline
cf.go_offline()
cf.set_config_file(offline=False, world_readable=True)
是時候展示泰坦尼克號數據集的魔力了。
df.iplot()
df.iplot() vs df.plot()
右側的可視化顯示了靜態圖表,而左側圖表是交互式的,更詳細,並且所有這些在語法上都沒有任何重大更改。
Magic命令
Magic命令是Jupyter notebook中的一組便捷功能,旨在解決標準數據分析中的一些常見問題。使用命令%lsmagic可以看到所有的可用命令。
所有可用的Magic命令列表
Magic命令有兩種:行magic命令(line magics),以單個%字符為前綴,在單行輸入操作;單元magic命令(cell magics),以雙%%字符為前綴,可以在多行輸入操作。如果設置為1,則不用鍵入%即可調用Magic函數。
接下來看一些在常見數據分析任務中可能用到的命令:
% pastebin
%pastebin將代碼上傳到Pastebin並返回url。Pastebin是一個在線內容託管服務,可以存儲純文本,如源代碼片段,然後通過url可以與其他人共享。事實上,Github gist也類似於pastebin,只是有版本控制。
在file.py文件中寫一個包含以下內容的python腳本,並試着運行看看結果。
#file.py
def foo(x):
return x
在Jupyter Notebook中使用%pastebin生成一個pastebin url。
%matplotlib notebook
函數用於在Jupyter notebook中呈現靜態matplotlib圖。用notebook替換inline,可以輕鬆獲得可縮放和可調整大小的繪圖。但記得這個函數要在導入matplotlib庫之前調用。
%run
用%run函數在notebook中運行一個python腳本試試。
%run file.py
%%writefile
%% writefile是將單元格內容寫入文件中。以下代碼將腳本寫入名為foo.py的文件並保存在當前目錄中。
%%latex
%%latex函數將單元格內容以LaTeX形式呈現。此函數對於在單元格中編寫數學公式和方程很有用。
查找並解決錯誤
交互式調試器也是一個神奇的功能,我把它單獨定義了一類。如果在運行代碼單元時出現異常,請在新行中鍵入%debug並運行它。 這將打開一個交互式調試環境,它能直接定位到發生異常的位置。還可以檢查程序中分配的變量值,並在此處執行操作。退出調試器單擊q即可。
Printing也有小技巧
如果您想生成美觀的數據結構,pprint是首選。它在打印字典數據或JSON數據時特別有用。接下來看一個使用print和pprint來顯示輸出的示例。
讓你的筆記脫穎而出
我們可以在您的Jupyter notebook中使用警示框/注釋框來突出顯示重要內容或其他需要突出的內容。注釋的顏色取決於指定的警報類型。只需在需要突出顯示的單元格中添加以下任一代碼或所有代碼即可。
藍色警示框:信息提示
p class=”alert alert-block alert-info”
bTip:/b Use blue boxes (alert-info) for tips and notes.
If it’s a note, you don’t have to include the word “Note”.
/p
黃色警示框:警告
p class=”alert alert-block alert-warning”
bExample:/b Yellow Boxes are generally used to include additional examples or mathematical formulas.
/p
綠色警示框:成功
p class=”alert alert-block alert-success”
Use green box only when necessary like to display links to related content.
/p
紅色警示框:高危
p class=”alert alert-block alert-danger”
It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc.
/p
打印單元格所有代碼的輸出結果
假如有一個Jupyter Notebook的單元格,其中包含以下代碼行:
In [1]: 10+5
11+6
Out [1]: 17
單元格的正常屬性是只打印最後一個輸出,而對於其他輸出,我們需要添加print()函數。然而通過在notebook頂部添加以下代碼段可以一次打印所有輸出。
添加代碼後所有的輸出結果就會一個接一個地打印出來。
In [1]: 10+5
11+6
12+7
Out [1]: 15
Out [1]: 17
Out [1]: 19
恢復原始設置:
InteractiveShell.ast_node_interactivity = “last_expr”
使用’i’選項運行python腳本
從命令行運行python腳本的典型方法是:python hello.py。但是,如果在運行相同的腳本時添加-i,例如python -i hello.py,就能提供更多優勢。接下來看看結果如何。
首先,即使程序結束,python也不會退出解釋器。因此,我們可以檢查變量的值和程序中定義的函數的正確性。
其次,我們可以輕鬆地調用python調試器,因為我們仍然在解釋器中:
import pdb
pdb.pm()
這能定位異常發生的位置,然後我們可以處理異常代碼。
自動評論代碼
Ctrl / Cmd + /自動注釋單元格中的選定行,再次命中組合將取消注釋相同的代碼行。
刪除容易恢復難
你有沒有意外刪除過Jupyter notebook中的單元格?如果答案是肯定的,那麼可以掌握這個撤消刪除操作的快捷方式。
如果您刪除了單元格的內容,可以通過按CTRL / CMD + Z輕鬆恢復它。
如果需要恢復整個已刪除的單元格,請按ESC + Z或EDIT撤消刪除單元格。
結論
在本文中,我列出了使用Python和Jupyter notebook時收集的一些小提示。我相信它們會對你有用,能讓你有所收穫,從而實現輕鬆編碼!
如何用python進行數據分析
1、Python數據分析流程及學習路徑
數據分析的流程概括起來主要是:讀寫、處理計算、分析建模和可視化四個部分。在不同的步驟中會用到不同的Python工具。每一步的主題也包含眾多內容。
根據每個部分需要用到的工具,Python數據分析的學習路徑如下:
相關推薦:《Python入門教程》
2、利用Python讀寫數據
Python讀寫數據,主要包括以下內容:
我們以一小段代碼來看:
可見,僅需簡短的兩三行代碼即可實現Python讀入EXCEL文件。
3、利用Python處理和計算數據
在第一步和第二步,我們主要使用的是Python的工具庫NumPy和pandas。其中,NumPy主要用於矢量化的科學計算,pandas主要用於表型數據處理。
4、利用Python分析建模
在分析和建模方面,主要包括Statsmdels和Scikit-learn兩個庫。
Statsmodels允許用戶瀏覽數據,估計統計模型和執行統計測試。可以為不同類型的數據和每個估算器提供廣泛的描述性統計,統計測試,繪圖函數和結果統計列表。
Scikit-leran則是著名的機器學習庫,可以迅速使用各類機器學習算法。
5、利用Python數據可視化
數據可視化是數據工作中的一項重要內容,它可以輔助分析也可以展示結果。
Python數據分析:可視化
本文是《數據蛙三個月強化課》的第二篇總結教程,如果想要了解 數據蛙社群 ,可以閱讀 給DataFrog社群同學的學習建議 。溫馨提示:如果您已經熟悉python可視化內容,大可不必再看這篇文章,或是之挑選部分文章
對於我們數據分析師來說,不僅要自己明白數據背後的含義,而且還要給老闆更直觀的展示數據的意義。所以,對於這項不可缺少的技能,讓我們來一起學習下吧。
畫圖之前,我們先導入包和生成數據集
我們先看下所用的數據集
折線圖是我們觀察趨勢常用的圖形,可以看出數據隨着某個變量的變化趨勢,默認情況下參數 kind=”line” 表示圖的類型為折線圖。
對於分類數據這種離散數據,需要查看數據是如何在各個類別之間分布的,這時候就可以使用柱狀圖。我們為每個類別畫出一個柱子。此時,可以將參數 kind 設置為 bar 。
條形圖就是將豎直的柱狀圖翻轉90度得到的圖形。與柱狀圖一樣,條形圖也可以有一組或多種多組數據。
水平條形圖在類別名稱很長的時候非常方便,因為文字是從左到右書寫的,與大多數用戶的閱讀順序一致,這使得我們的圖形容易閱讀。而柱狀圖在類別名稱很長的時候是沒有辦法很好的展示的。
直方圖是柱形圖的特殊形式,當我們想要看數據集的分布情況時,選擇直方圖。直方圖的變量劃分至不同的範圍,然後在不同的範圍中統計計數。在直方圖中,柱子之間的連續的,連續的柱子暗示數值上的連續。
箱線圖用來展示數據集的描述統計信息,也就是[四分位數],線的上下兩端表示某組數據的最大值和最小值。箱子的上下兩端表示這組數據中排在前25%位置和75%位置的數值。箱中間的橫線表示中位數。此時可以將參數 kind 設置為 box。
如果想要畫出散點圖,可以將參數 kind 設置為 scatter,同時需要指定 x 和 y。通過散點圖可以探索變量之間的關係。
餅圖是用面積表示一組數據的佔比,此時可以將參數 kind 設置為 pie。
我們剛開始學習的同學,最基本應該明白什麼數據應該用什麼圖形來展示,同學們來一起總結吧。
python數據統計分析
1. 常用函數庫
scipy包中的stats模塊和statsmodels包是python常用的數據分析工具,scipy.stats以前有一個models子模塊,後來被移除了。這個模塊被重寫並成為了現在獨立的statsmodels包。
scipy的stats包含一些比較基本的工具,比如:t檢驗,正態性檢驗,卡方檢驗之類,statsmodels提供了更為系統的統計模型,包括線性模型,時序分析,還包含數據集,做圖工具等等。
2. 小樣本數據的正態性檢驗
(1) 用途
夏皮羅維爾克檢驗法 (Shapiro-Wilk) 用於檢驗參數提供的一組小樣本數據線是否符合正態分布,統計量越大則表示數據越符合正態分布,但是在非正態分布的小樣本數據中也經常會出現較大的W值。需要查表來估計其概率。由於原假設是其符合正態分布,所以當P值小於指定顯著水平時表示其不符合正態分布。
正態性檢驗是數據分析的第一步,數據是否符合正態性決定了後續使用不同的分析和預測方法,當數據不符合正態性分布時,我們可以通過不同的轉換方法把非正太態數據轉換成正態分布後再使用相應的統計方法進行下一步操作。
(2) 示例
(3) 結果分析
返回結果 p-value=0.029035290703177452,比指定的顯著水平(一般為5%)小,則拒絕假設:x不服從正態分布。
3. 檢驗樣本是否服務某一分布
(1) 用途
科爾莫戈羅夫檢驗(Kolmogorov-Smirnov test),檢驗樣本數據是否服從某一分布,僅適用於連續分布的檢驗。下例中用它檢驗正態分布。
(2) 示例
(3) 結果分析
生成300個服從N(0,1)標準正態分布的隨機數,在使用k-s檢驗該數據是否服從正態分布,提出假設:x從正態分布。最終返回的結果,p-value=0.9260909172362317,比指定的顯著水平(一般為5%)大,則我們不能拒絕假設:x服從正態分布。這並不是說x服從正態分布一定是正確的,而是說沒有充分的證據證明x不服從正態分布。因此我們的假設被接受,認為x服從正態分布。如果p-value小於我們指定的顯著性水平,則我們可以肯定地拒絕提出的假設,認為x肯定不服從正態分布,這個拒絕是絕對正確的。
4.方差齊性檢驗
(1) 用途
方差反映了一組數據與其平均值的偏離程度,方差齊性檢驗用以檢驗兩組或多組數據與其平均值偏離程度是否存在差異,也是很多檢驗和算法的先決條件。
(2) 示例
(3) 結果分析
返回結果 p-value=0.19337536323599344, 比指定的顯著水平(假設為5%)大,認為兩組數據具有方差齊性。
5. 圖形描述相關性
(1) 用途
最常用的兩變量相關性分析,是用作圖描述相關性,圖的橫軸是一個變量,縱軸是另一變量,畫散點圖,從圖中可以直觀地看到相關性的方向和強弱,線性正相關一般形成由左下到右上的圖形;負面相關則是從左上到右下的圖形,還有一些非線性相關也能從圖中觀察到。
(2) 示例
(3) 結果分析
從圖中可以看到明顯的正相關趨勢。
6. 正態資料的相關分析
(1) 用途
皮爾森相關係數(Pearson correlation coefficient)是反應兩變量之間線性相關程度的統計量,用它來分析正態分布的兩個連續型變量之間的相關性。常用於分析自變量之間,以及自變量和因變量之間的相關性。
(2) 示例
(3) 結果分析
返回結果的第一個值為相關係數表示線性相關程度,其取值範圍在[-1,1],絕對值越接近1,說明兩個變量的相關性越強,絕對值越接近0說明兩個變量的相關性越差。當兩個變量完全不相關時相關係數為0。第二個值為p-value,統計學上,一般當p-value0.05時,可以認為兩變量存在相關性。
7. 非正態資料的相關分析
(1) 用途
斯皮爾曼等級相關係數(Spearman’s correlation coefficient for ranked data ),它主要用於評價順序變量間的線性相關關係,在計算過程中,只考慮變量值的順序(rank, 值或稱等級),而不考慮變量值的大小。常用於計算類型變量的相關性。
(2) 示例
(3) 結果分析
返回結果的第一個值為相關係數表示線性相關程度,本例中correlation趨近於1表示正相關。第二個值為p-value,p-value越小,表示相關程度越顯著。
8. 單樣本T檢驗
(1) 用途
單樣本T檢驗,用於檢驗數據是否來自一致均值的總體,T檢驗主要是以均值為核心的檢驗。注意以下幾種T檢驗都是雙側T檢驗。
(2) 示例
(3) 結果分析
本例中生成了2列100行的數組,ttest_1samp的第二個參數是分別對兩列估計的均值,p-value返回結果,第一列1.47820719e-06比指定的顯著水平(一般為5%)小,認為差異顯著,拒絕假設;第二列2.83088106e-01大於指定顯著水平,不能拒絕假設:服從正態分布。
9. 兩獨立樣本T檢驗
(1) 用途
由於比較兩組數據是否來自於同一正態分布的總體。注意:如果要比較的兩組數據不滿足方差齊性, 需要在ttest_ind()函數中添加參數equal_var = False。
(2) 示例
(3) 結果分析
返回結果的第一個值為統計量,第二個值為p-value,pvalue=0.19313343989106416,比指定的顯著水平(一般為5%)大,不能拒絕假設,兩組數據來自於同一總結,兩組數據之間無差異。
10. 配對樣本T檢驗
(1) 用途
配對樣本T檢驗可視為單樣本T檢驗的擴展,檢驗的對象由一群來自正態分布獨立樣本更改為二群配對樣本觀測值之差。它常用於比較同一受試對象處理的前後差異,或者按照某一條件進行兩兩配對分別給與不同處理的受試對象之間是否存在差異。
(2) 示例
(3) 結果分析
返回結果的第一個值為統計量,第二個值為p-value,pvalue=0.80964043445811551,比指定的顯著水平(一般為5%)大,不能拒絕假設。
11. 單因素方差分析
(1) 用途
方差分析(Analysis of Variance,簡稱ANOVA),又稱F檢驗,用於兩個及兩個以上樣本均數差別的顯著性檢驗。方差分析主要是考慮各組之間的平均數差別。
單因素方差分析(One-wayAnova),是檢驗由單一因素影響的多組樣本某因變量的均值是否有顯著差異。
當因變量Y是數值型,自變量X是分類值,通常的做法是按X的類別把實例成分幾組,分析Y值在X的不同分組中是否存在差異。
(2) 示例
(3) 結果分析
返回結果的第一個值為統計量,它由組間差異除以組間差異得到,上例中組間差異很大,第二個返回值p-value=6.2231520821576832e-19小於邊界值(一般為0.05),拒絕原假設, 即認為以上三組數據存在統計學差異,並不能判斷是哪兩組之間存在差異 。只有兩組數據時,效果同 stats.levene 一樣。
12. 多因素方差分析
(1) 用途
當有兩個或者兩個以上自變量對因變量產生影響時,可以用多因素方差分析的方法來進行分析。它不僅要考慮每個因素的主效應,還要考慮因素之間的交互效應。
(2) 示例
(3) 結果分析
上述程序定義了公式,公式中,”~”用於隔離因變量和自變量,”+“用於分隔各個自變量, “:”表示兩個自變量交互影響。從返回結果的P值可以看出,X1和X2的值組間差異不大,而組合後的T:G的組間有明顯差異。
13. 卡方檢驗
(1) 用途
上面介紹的T檢驗是參數檢驗,卡方檢驗是一種非參數檢驗方法。相對來說,非參數檢驗對數據分布的要求比較寬鬆,並且也不要求太大數據量。卡方檢驗是一種對計數資料的假設檢驗方法,主要是比較理論頻數和實際頻數的吻合程度。常用於特徵選擇,比如,檢驗男人和女人在是否患有高血壓上有無區別,如果有區別,則說明性別與是否患有高血壓有關,在後續分析時就需要把性別這個分類變量放入模型訓練。
基本數據有R行C列, 故通稱RC列聯表(contingency table), 簡稱RC表,它是觀測數據按兩個或更多屬性(定性變量)分類時所列出的頻數表。
(2) 示例
(3) 結果分析
卡方檢驗函數的參數是列聯表中的頻數,返回結果第一個值為統計量值,第二個結果為p-value值,p-value=0.54543425102570975,比指定的顯著水平(一般5%)大,不能拒絕原假設,即相關性不顯著。第三個結果是自由度,第四個結果的數組是列聯表的期望值分布。
14. 單變量統計分析
(1) 用途
單變量統計描述是數據分析中最簡單的形式,其中被分析的數據只包含一個變量,不處理原因或關係。單變量分析的主要目的是通過對數據的統計描述了解當前數據的基本情況,並找出數據的分布模型。
單變量數據統計描述從集中趨勢上看,指標有:均值,中位數,分位數,眾數;從離散程度上看,指標有:極差、四分位數、方差、標準差、協方差、變異係數,從分布上看,有偏度,峰度等。需要考慮的還有極大值,極小值(數值型變量)和頻數,構成比(分類或等級變量)。
此外,還可以用統計圖直觀展示數據分布特徵,如:柱狀圖、正方圖、箱式圖、頻率多邊形和餅狀圖。
15. 多元線性回歸
(1) 用途
多元線性回歸模型(multivariable linear regression model ),因變量Y(計量資料)往往受到多個變量X的影響,多元線性回歸模型用於計算各個自變量對因變量的影響程度,可以認為是對多維空間中的點做線性擬合。
(2) 示例
(3) 結果分析
直接通過返回結果中各變量的P值與0.05比較,來判定對應的解釋變量的顯著性,P0.05則認為自變量具有統計學意義,從上例中可以看到收入INCOME最有顯著性。
16. 邏輯回歸
(1) 用途
當因變量Y為2分類變量(或多分類變量時)可以用相應的logistic回歸分析各個自變量對因變量的影響程度。
(2) 示例
(3) 結果分析
直接通過返回結果中各變量的P值與0.05比較,來判定對應的解釋變量的顯著性,P0.05則認為自變量具有統計學意義。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/250942.html