pandas 相關(guān)性和正態(tài)性分析的實踐
當(dāng)我們談?wù)撜龖B(tài)性(Normality)和相關(guān)性(Correlation)時,我們實際上在嘗試?yán)斫鈹?shù)據(jù)的分布模式和不同變量之間的關(guān)系。讓我們先來看看這兩個數(shù)學(xué)概念:
正態(tài)性(Normality)
正態(tài)性指的是數(shù)據(jù)的分布模式是否符合正態(tài)分布(也稱為高斯分布)。正態(tài)分布是一種連續(xù)概率分布,具有以下特征:
- 對稱性:正態(tài)分布是關(guān)于其均值對稱的,也就是說,它的左半部分和右半部分是鏡像對稱的。
- 集中性:正態(tài)分布的數(shù)據(jù)集中在其均值周圍,并且隨著距離均值的增加而逐漸減少。
- 確定性:正態(tài)分布由兩個參數(shù)完全確定,即均值(μ)和標(biāo)準(zhǔn)差(σ)。
正態(tài)性檢驗通常用于判斷一個數(shù)據(jù)集是否來自正態(tài)分布。通常使用的方法包括觀察直方圖、Q-Q圖(Quantile-Quantile Plot)以及一些統(tǒng)計檢驗,比如Shapiro-Wilk檢驗和Kolmogorov-Smirnov檢驗。
示例代碼:
import pandas as pd
import numpy as np
from scipy.stats import shapiro
# 創(chuàng)建示例數(shù)據(jù)
data = np.random.normal(loc=0, scale=1, size=1000)
series = pd.Series(data)
# Shapiro-Wilk檢驗
statistic, p_value = shapiro(series)
# 解釋檢驗結(jié)果
if p_value > 0.05:
print("數(shù)據(jù)可能符合正態(tài)分布")
else:
print("數(shù)據(jù)不符合正態(tài)分布")
相關(guān)性(Correlation)
相關(guān)性描述的是兩個變量之間的關(guān)系程度。相關(guān)性的測量通常使用相關(guān)系數(shù)來完成,最常見的是皮爾遜相關(guān)系數(shù)。皮爾遜相關(guān)系數(shù)的取值范圍在-1到1之間:
- 當(dāng)相關(guān)系數(shù)為1時,表示完全正相關(guān)。這意味著兩個變量的值以相同的比例增加或減少。
- 當(dāng)相關(guān)系數(shù)為-1時,表示完全負(fù)相關(guān)。這意味著兩個變量的值以相反的方向變化。
- 當(dāng)相關(guān)系數(shù)接近于0時,表示變量之間沒有線性關(guān)系。
需要注意的是,相關(guān)性并不意味著因果關(guān)系,即使兩個變量高度相關(guān),也不代表其中一個變量的變化導(dǎo)致了另一個變量的變化。
示例代碼:
import pandas as pd
# 創(chuàng)建示例數(shù)據(jù)
data = {
'A': [1, 2, 3, 4, 5],
'B': [5, 4, 3, 2, 1],
'C': [1, 1, 2, 2, 3]
}
df = pd.DataFrame(data)
# 計算相關(guān)系數(shù)
correlation_matrix = df.corr()
print("相關(guān)系數(shù)矩陣:")
print(correlation_matrix)
相關(guān)性和正態(tài)性綜合性示例:
import pandas as pd
import numpy as np
from scipy.stats import shapiro
from scipy.stats import pearsonr
# 創(chuàng)建示例數(shù)據(jù)集
data = {
'A': np.random.normal(loc=0, scale=1, size=1000),
'B': np.random.normal(loc=0, scale=1, size=1000),
'C': np.random.normal(loc=0, scale=1, size=1000)
}
df = pd.DataFrame(data)
# 正態(tài)性分析
for column in df.columns:
series = df[column]
statistic, p_value = shapiro(series)
if p_value > 0.05:
print(f"列 '{column}' 可能符合正態(tài)分布 (p-value={p_value:.4f})")
else:
print(f"列 '{column}' 不符合正態(tài)分布 (p-value={p_value:.4f})")
# 相關(guān)性分析
correlation_matrix = df.corr()
print("\n相關(guān)系數(shù)矩陣:")
print(correlation_matrix)
# 特定變量之間的相關(guān)性
for col1 in df.columns:
for col2 in df.columns:
if col1 != col2:
correlation, p_value = pearsonr(df[col1], df[col2])
print(f"{col1} 和 {col2} 的相關(guān)系數(shù)為 {correlation:.4f} (p-value={p_value:.4f})")
這個示例代碼首先創(chuàng)建了一個包含三個變量的數(shù)據(jù)集,并對每個變量進(jìn)行了正態(tài)性分析,然后計算了變量之間的相關(guān)系數(shù)。最后,它還輸出了特定變量之間的相關(guān)性及其顯著性水平(p-value)。通過這個更豐富的示例,我們可以更好地理解如何使用Pandas進(jìn)行正態(tài)性分析和相關(guān)性分析,并且了解了這些分析的結(jié)果如何影響我們對數(shù)據(jù)的理解和解釋。
到此這篇關(guān)于pandas 相關(guān)性和正態(tài)性分析小結(jié)的文章就介紹到這了,更多相關(guān)pandas 相關(guān)性和正態(tài)性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬蟲:Request Payload和Form Data的簡單區(qū)別說明
這篇文章主要介紹了Python爬蟲:Request Payload和Form Data的簡單區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python實現(xiàn)把json格式轉(zhuǎn)換成文本或sql文件
這篇文章主要介紹了Python實現(xiàn)把json格式轉(zhuǎn)換成文本或sql文件,本文直接給出代碼實例,需要的朋友可以參考下2015-07-07
python opencv實現(xiàn)圖像配準(zhǔn)與比較
這篇文章主要為大家詳細(xì)介紹了python opencv實現(xiàn)圖像配準(zhǔn)與比較,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-02-02

