1. 什麼是使用 Python 計算相關係數的方法?
相關係數是用來以數值表示兩組資料之間關係強度的指標,其範圍介於 -1 到 1。接近 1 表示強正相關(其中一個值增加時,另一個值也會增加),接近 -1 則表示強負相關(其中一個值增加時,另一個值會減少),而接近 0 則表示幾乎沒有相關性。
使用相關係數的優點
- 可以快速評估資料之間的關聯性
- 作為掌握趨勢與模式的預測依據
- 有助於機器學習模型的特徵選擇
2. 使用 Python 計算相關係數的基本方法
在 Python 中,可以透過 NumPy
和 Pandas
這兩個函式庫輕鬆計算相關係數。
使用 NumPy 計算相關係數
NumPy
是一個專門用於數值計算的函式庫,利用 numpy.corrcoef()
函數即可計算列表或陣列之間的相關係數。
import numpy as np
# 準備資料
data1 = [1, 2, 3, 4, 5]
data2 = [5, 4, 3, 2, 1]
# 計算相關係數
correlation = np.corrcoef(data1, data2)
print(correlation)
使用 Pandas 計算相關係數
在 Pandas
中,可以透過資料框架的 .corr()
方法來生成多變數之間的相關矩陣,這對於了解整體資料之間的關聯性非常有用。
import pandas as pd
# 建立範例資料
data = {
'A': [1, 2, 3, 4, 5],
'B': [5, 4, 3, 2, 1],
'C': [2, 3, 4, 5, 6]
}
df = pd.DataFrame(data)
# 計算相關矩陣
correlation_matrix = df.corr()
print(correlation_matrix)

3. 相關與因果的差異
在多數情況下,相關係數代表變數之間的關聯性,但這並不表示其中一個變數是另一個的原因。理解相關與因果的差異,有助於提升資料分析的可信度。
相關關係與因果關係的差異
- 相關關係:表示兩個變數會同時變動,但不代表其中一個是另一個的原因。例如,冰淇淋的銷售量與防曬乳的銷售量在夏天同時上升,因此呈現出相關性,但這是因為季節這個共通因素造成的,並不是它們彼此之間有直接關係。
- 因果關係:指的是一個變數會直接影響另一個變數的情況。例如,按下開關會讓燈泡亮起,這表示開關的操作是燈泡亮起的直接原因。
4. 相關係數的種類與應用範例
相關係數有多種類型,根據資料的特性選擇合適的類型是非常重要的。
- Pearson 相關係數:用來評估線性關係,適合資料接近常態分佈的情況。
- Spearman 相關係數:測量基於排名的相關性,適合資料不符合常態分佈或有較多極端值的情況。
- Kendall 相關係數:評估排名的一致性,適合小型資料集或重視排名關係的分析場景。
5. 相關係數的視覺化方法
透過將相關關係以視覺化方式呈現,可以更直覺地掌握資料中的模式與趨勢。
使用熱力圖進行視覺化
利用 Seaborn
的 heatmap()
函數,可以用顏色來呈現相關矩陣。透過顏色的深淺變化,可以一目了然地看出變數之間相關性的強弱。
import seaborn as sns
import matplotlib.pyplot as plt
# 計算相關矩陣
correlation_matrix = df.corr()
# 繪製熱力圖
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.show()
使用長條圖進行視覺化
若想針對某個特定變數與其他變數之間的相關性進行重點觀察,使用長條圖會是一個不錯的選擇。
target_corr = df.corr()['A'].sort_values()
target_corr.plot.barh()
plt.show()

6. 實際商業場景中的應用範例與注意事項
商業應用範例
- 行銷分析:在分析廣告費與銷售額之間的關係時,可以使用相關係數來確認兩者的相關性,從而規劃更有效的廣告策略。
- 用戶行為分析:評估網站訪問次數與轉換率之間的關係,有助於找出影響轉換的關鍵因素。
- 機器學習:透過相關分析來協助選取合適的特徵變數,以提升模型效能。
注意事項
要注意的是,相關關係並不等同於因果關係,解讀相關係數時需格外小心。特別是在存在第三個變數(共同變量)的情況下,可能會導致錯誤的結論。例如,冰淇淋與防曬乳的銷量在夏天同時增加,但這是因為氣溫升高造成的,兩者之間並沒有直接的因果關係。
7. 總結
本篇文章說明了如何使用 Python 計算相關係數,介紹了相關與因果的差異,以及在商業上的實際應用與需要注意的事項。相關分析是理解資料之間關聯性的強大工具,但為避免誤解,也應搭配因果關係的驗證一併考慮。