ชี้จุดต้องจัดการเร่งด่วนด้วยเมทริกซ์ความเสี่ยง

Visualize

ชี้จุดต้องจัดการเร่งด่วนด้วยเมทริกซ์ความเสี่ยง

การประเมินความเสี่ยงมักใช้สองแกนคือโอกาสเกิดและผลกระทบ เมื่อทำเป็นเมทริกซ์ฮีตแมป จะเห็นรายการเร่งด่วนชัดเจน

import numpy as np
import matplotlib.pyplot as plt

levels = ["ต่ำ", "ค่อนข้างต่ำ", "กลาง", "ค่อนข้างสูง", "สูง"]
impact = ["เล็กน้อย", "จำกัด", "ปานกลาง", "ร้ายแรง", "วิกฤต"]

risk_matrix = np.array(
    [
        [1, 1, 2, 3, 4],
        [1, 2, 2, 3, 4],
        [2, 2, 3, 4, 4],
        [2, 3, 4, 4, 5],
        [3, 4, 4, 5, 5],
    ]
)

fig, ax = plt.subplots(figsize=(5.8, 5.2))
im = ax.imshow(risk_matrix, cmap="YlOrRd", vmin=1, vmax=5)

ax.set_xticks(range(len(levels)), labels=levels)
ax.set_yticks(range(len(impact)), labels=impact)
ax.set_xlabel("โอกาสเกิด")
ax.set_ylabel("ผลกระทบ")
ax.set_title("เมทริกซ์ความเสี่ยง")

for i in range(risk_matrix.shape[0]):
    for j in range(risk_matrix.shape[1]):
        risk = risk_matrix[i, j]
        color = "white" if risk >= 4 else "#0f172a"
        ax.text(j, i, risk, ha="center", va="center", color=color, fontsize=12)

cbar = fig.colorbar(im, ax=ax, fraction=0.046, pad=0.04)
cbar.set_label("ระดับความสำคัญ", rotation=270, labelpad=15)

ax.set_xticks(np.arange(-0.5, 5, 1), minor=True)
ax.set_yticks(np.arange(-0.5, 5, 1), minor=True)
ax.grid(which="minor", color="white", linewidth=1.5)
ax.tick_params(which="minor", bottom=False, left=False)

fig.tight_layout()

plt.show()

เมทริกซ์ฮีตแมปช่วยให้เห็นรายการเร่งด่วนชัดเจน

อ่านอย่างไร #

  • เซลล์สีแดงด้านขวาบนคือความสำคัญสูงสุด ใช้จัดลำดับการรับมือ
  • เพิ่มกฎเช่น “เฝ้าระวังเท่านั้น” สำหรับโซนความเสี่ยงต่ำ
  • ใส่เลขในแต่ละช่องเพื่อเชื่อมกับตารางหรือทิกเก็ตได้ง่าย