作者|Satyam Kumar
編譯|VK
來源|Towards Data Science
Q-Q圖是檢驗任何隨機變數(如正態分布、指數分布、對數正態分布等)分布的圖形方法,是觀察任何分布性質的一種統計方法,
例如,如果給定的一個分布需要驗證它是否是正態分布,我們運行統計分析并將未知分布與已知正態分布進行比較,然后通過觀察Q-Q圖的結果,我們可以確定給定的分布是否正態分布,
繪制Q-Q圖的步驟:
-
給定一個未知的隨機變數,
-
找到每個百分位值
-
生成一個已知的隨機分布,根據該分布同樣遵循步驟1-2,
-
繪制Q-Q圖
給定一個隨機分布,需要驗證它是否為正態/高斯分布,為了便于理解,我們將這個未知分布命名為X,將已知的正態分布命名為Y,
生成未知分布X:
X = np.random.normal(loc=50, scale=25, size=1000)
我們正在生成一個正態分布,有1000個值,平均值=50,標準差=25,

查找1%~100%:
X_100 = []
for i in range(1,101):
X_100.append(np.percentile(X, i))
計算每個百分位數(1%,2%,3%,. . .,99%,100%)X的隨機分布值,并將其存盤在X_100中,

生成已知的隨機分布Y及其百分位值:
Y = np.random.normal(loc=0, scale=1, size=1000)
生成一個正態分布,其平均值為0,標準偏差為1,需要與未知分布X進行比較,以驗證X分布是否正態分布,
Y_100 = []
for i in range(101):
Y_100.append(np.percentile(Y, i))
計算每個百分位數(1%,2%,3%,. . .,99%,100%)Y的隨機分布值,并將其存盤在Y_100中,
繪圖:
為以上獲得的未知分布值繪制散點圖,

這里X是未知分布,要與Y這個正態分布相比,
對于Q-Q圖,如果圖中的散點在一條直線上,則兩個隨機變數具有相同的分布,否則它們具有不同的分布,
從上面的Q-Q圖可以看出X是正態分布的,

如果兩個分布不一樣呢?
如果X不是正態分布,并且它有其他分布,那么如果Q-Q圖是在X和正態分布之間繪制的,那么散射點就不會在一條直線上,

這里,X分布是對數正態分布,因此Q-Q圖中的散射點不是直線,
讓我們再觀察一下:
這是4個不同條件下X和Y分布的Q-Q圖,

- 左上:對數正態分布與正態分布的QQ圖
- 右上:正態與指數分布的QQ圖
- 左下:指數與指數分布的QQ圖
- 右下:logistic與logistic分布的QQ圖
python實作:
import numpy as np
import matplotlib.pyplot as plt
X = np.random.normal(loc=50, scale=25, size=1000)
X_100 = []
for i in range(1,101):
X_100.append(np.percentile(X, i))
Y = np.random.normal(loc=0, scale=1, size=1000)
Y_100 = []
for i in range(1,101):
Y_100.append(np.percentile(Y, i))
plt.scatter(X_100, Y_100)
plt.grid()
plt.ylabel("Y - normal distribution")
plt.xlabel("X - normal distribution")
plt.show()
結論
Q-Q圖可以用來比較任意兩個分布,并且可以通過與已知分布的比較來驗證未知分布,這種方法有一個主要的局限性,即需要大量的資料點,因為得出較少的資料不是明智的決定,通過觀察Q-Q圖可以預測這兩種分布是否相同,
原文鏈接:https://towardsdatascience.com/how-to-verify-the-distribution-of-data-using-q-q-plots-acdb7ca2d576
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方檔案:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/711.html
標籤:其他
上一篇:利用深度學習生成醫療報告
下一篇:構建和部署字母識別系統
