Dalam analisis data, matriks skalar (scatter plot matrix) adalah salah satu alat yang paling umum digunakan. Matriks skalar ini terdiri dari beberapa matriks skalar yang diplot dalam bentuk grid. Masing-masing matriks skalar ini menunjukkan hubungan antara dua variabel.

Konsep Dasar

Matriks skalar yang kita gunakan memiliki k baris dan k kolom, dengan setiap baris dan kolom mewakili plot skalar individu. Plot skalar individu (i, j) dapat didefinisikan sebagai:

  • Sumbu vertikal: Variabel Xj
  • Sumbu horizontal: Variabel Xi

Faktor yang Perlu Diperhatikan

Pada saat kita plotting matriks skalar, ada beberapa hal yang perlu kita perhatikan. Beberapa di antaranya adalah:

  • Plot pada diagonal hanya berupa garis 45 derajat, karena kita mengplot Xi vs Xi.
  • Kita dapat menggantikan plot histogram untuk Xi pada diagonals atau tinggalkan kosong.
  • Karena Xi vs Xj setara dengan Xj vs Xi dengan sumbu-sumbinya terbalik, kita dapat membiarkan plot di bawah diagonal.
  • Matriks skalar ini dapat lebih bermanfaat jika kita menambahkan garis plot lain di atas titik-titik skalar untuk memberikan pengertian yang lebih baik.

Implementasi

Dalam implementasi ini, kita akan menggunakan dataset Titanic. Dataset ini dapat didownload dari Kaggle. Sebelum plotting matriks skalar, kita akan melakukan beberapa operasi pra-prosesing pada dataframe untuk mendapatkan bentuk yang diinginkan.

Python 3

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

titanic_dataset = pd.read_csv('tested.csv.xls')
titanic_dataset.head()

titanic_dataset.drop(['Name', 'Ticket','Cabin','PassengerId'], axis=1, inplace=True)

titanic_dataset.dtypes

titanic_dataset['Embarked'].unique()
titanic_dataset['Sex'].unique()

titanic_dataset.fillna(titanic_dataset.mean(), inplace=True)

titanic_dataset["Sex"] = titanic_dataset["Sex"].cat.codes
titanic_dataset["Embarked"] = titanic_dataset["Embarked"].cat.codes

titanic_dataset.head()

survive_colors = {0:'orange', 1:'blue'}
pd.plotting.scatter_matrix(titanic_dataset, figsize=(20,20), grid=True, 
 marker='o', c=titanic_dataset['Survived'].map(survive_colors))

sns.set_theme(style="ticks")
sns.pairplot(titanic_dataset, hue='Survived')

Hasil

Pada hasilnya, kita dapat melihat bahwa matriks skalar ini menunjukkan hubungan antara beberapa variabel, seperti Pclass, Sex, Age, dan Embarked. Masing-masing plot skalar individu menunjukkan bagaimana nilai dari dua variabel berhubungan.

Referensi

NIST Handbook