天天看點

如何利用 Python 對資料進行相關性分析

作者:夢醒南天

簡介

資料相關性分析,有助于我們了解資料之間的關系。例如,我們在對股票漲跌進行預測時,就需要了解哪個參數和漲跌是關系密切的,以及哪些參數是無關緊要的。關系密切的參數,我們要時刻關注,而無關緊要的參數我們要及時剔除,以免幹擾我們的正常分析。

在本文中,我們将介紹使用 python 對資料進行相關性分析的方法,希望對大家有所幫助。歡迎在評論區讨論和交流。

備注:這裡預設大家都安裝好 Python 以及相關的工具包了。python 版本号:3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52)

導入相關依賴包

import sys
import seaborn as sns
import numpy as np
import csv
import pandas as pd
from matplotlib import pyplot as plt            

從 CSV 檔案讀取資料

在對資料進行相關性分析之前,我們得先準備好待分析的資料。我已經事先将資料放到 CVS 檔案中了,這裡我們隻需要将其讀取出來即可。大家根據自己的情況讀取資料。

CSV_FILE_PATH = "./backup/stocks_data_test.csv"

data = pd.read_csv(CSV_FILE_PATH)
row_0 = list(data.loc[0])
row_num = data.iloc[:,0].size

print("data len: {}".format(len(row_0)))
print("row_num: {}".format(row_num))
print("----- Finished -----")            

從下圖代碼的運作結果可以看到,我這批資料總共有 20 個參數(其中 1 個表示股票的實際漲跌,另外19個是用于分析預測漲跌的相關參數)和 6884 條資料樣本。

如何利用 Python 對資料進行相關性分析

擷取資料的相關系數

前面我們已經把資料從檔案中讀取出來了,這裡直接調用 corr 函數計算他們之間的相關系數即可。

corr = data.corr()
corr = round(corr, 2)
print(corr)
print("----- Finished -----")            
如何利用 Python 對資料進行相關性分析

對資料的相關系數進行可視化輸出

前面我們擷取到的相關系數,通過文本的形式列印輸出,看着不是很直覺。是以,這裡我們可以通過圖像的方式将其進行可視化輸出,以友善我們觀察和分析。

plt.subplots(figsize = (20,20))
heatmap = sns.heatmap(corr, annot=True, xticklabels=1, yticklabels=1)
plt.savefig('./backup/data_corr_image.jpg', dpi=150)

print("----- Finished -----")            
如何利用 Python 對資料進行相關性分析

上圖就是我們計算出來的,表示 19 個參數與股票漲跌之間的互相關系。結論就是:沒啥關系,哈哈。革命尚未成功,同志還需努力。路漫漫其修遠兮,吾将上下而求索。

結語

以上就是使用 python 來對資料進行相關性分析的方法了,如果覺得還不錯的話,可以點個贊哦,感謝各位的支援。