DA & DS

[DA & DS Blog #58] Thống Kê Mô Tả Căn Bản Dành Cho Người Làm Dữ Liệu: Mean, Median, Mode, Độ Lệch Chuẩn, Z-Score & Cách Đọc Hiểu Biểu Đồ Boxplot

1 views
[DA & DS Blog #58] Thống Kê Mô Tả Căn Bản Dành Cho Người Làm Dữ Liệu: Mean, Median, Mode, Độ Lệch Chuẩn, Z-Score & Cách Đọc Hiểu Biểu Đồ Boxplot

1. Bối cảnh thực tế (Context & Problem Statement)

Trong giới dữ liệu có một câu chuyện đùa kinh điển:
“Nếu tỷ phú Bill Gates bước vào một quán bar có 50 người đang uống bia, thì trung bình thu nhập của mỗi người trong quán bar ngay lập tức vọt lên thành... hàng trăm triệu USD/năm!”

Câu chuyện vui này phản ánh một cạm bẫy thực tế rất phổ biến:

  • Khi một công ty công bố: "Mức lương trung bình của nhân viên là 30 triệu đồng/tháng".
  • Nhưng thực tế: 90%90\% nhân viên chỉ nhận lương 10−12 triệu10 - 12\text{ triệu}, trong khi chỉ có 1 vài Giám đốc nhận lương 200−300 triệu200 - 300\text{ triệu}. Con số lương cực cao của các sếp đã kéo lệch hoàn toàn giá trị trung bình cộng.

Nếu người làm dữ liệu (Data Analyst, Data Engineer hay Data Scientist) chỉ biết tính hàm AVERAGE() hoặc mean(), bạn sẽ rất dễ đưa ra những kết luận sai lầm gây hại cho doanh nghiệp. Để hiểu thực chất dữ liệu đang nói gì, ta cần bộ công cụ Thống kê mô tả căn bản (Descriptive Statistics).


2. Các Khái Niệm & Cơ Chế Cốt Lõi

2.1. Thước Đo Xu Hướng Tập Trung (Measures of Central Tendency)

Dùng để trả lời câu hỏi: "Các điểm dữ liệu có xu hướng tụ tập quanh giá trị nào?"

  1. Mean (Giá trị trung bình cộng):
    • Lấy tổng tất cả các giá trị chia cho số lượng phần tử: Xˉ=∑xiN\bar{X} = \frac{\sum x_i}{N}.
    • Điểm yếu chí mạng: Cực kỳ nhạy cảm với các giá trị dị biệt (Outliers). Chỉ cần 1 con số cực lớn hoặc cực nhỏ sẽ làm hỏng con số trung bình.
  2. Median (Giá trị trung vị - Con số đứng giữa):
    • Sắp xếp dãy số theo thứ tự từ bé đến lớn. Median chính là giá trị nằm ngay chính giữa danh sách.
      • Nếu số phần tử là lẻ: Lấy đúng số ở giữa.
      • Nếu số phần tử là chẵn: Lấy trung bình cộng của 2 số ở giữa.
    • Ưu điểm tuyệt đối: Hoàn toàn không bị ảnh hưởng bởi Outliers (Dù Bill Gates có tài sản 100 tỷ USD100\text{ tỷ USD} bước vào, Median thu nhập của quán bar vẫn giữ nguyên ở mức 10−15 triệu10 - 15\text{ triệu}).
  3. Mode (Giá trị yếu vị - Con số xuất hiện nhiều nhất):
    • Giá trị có tần suất xuất hiện lặp lại nhiều nhất trong tập dữ liệu.
    • Ứng dụng thực tế: Phù hợp nhất cho dữ liệu danh mục (ví dụ: size áo bán chạy nhất là size L, phương thức thanh toán phổ biến nhất là MoMo).

2.2. Thước Đo Độ Phân Tán: Phương Sai & Độ Lệch Chuẩn (Standard Deviation)

Chỉ biết con số trung bình là chưa đủ. Ta cần biết: "Dữ liệu có phân tán rải rác hay tập trung dày đặc quanh con số trung bình?"

  • Ví dụ so sánh 2 lớp học:
    • Lớp A: Điểm thi toàn bộ học sinh là [5, 5, 5, 5, 5] →\rightarrow Điểm trung bình =5.0= 5.0.
    • Lớp B: Điểm thi học sinh là [0, 0, 5, 10, 10] →\rightarrow Điểm trung bình cũng =5.0= 5.0.
    • Rõ ràng trình độ học sinh của 2 lớp này hoàn toàn khác nhau! Lớp B có độ phân tán cực kỳ lớn.
  1. Phương sai (Variance - σ2\sigma^2 hoặc s2s^2): Trung bình của bình phương khoảng cách từ mỗi điểm dữ liệu tới giá trị trung bình: s2=∑(xi−Xˉ)2N−1s^2 = \frac{\sum (x_i - \bar{X})^2}{N - 1} (Lý do phải bình phương: Để triệt tiêu dấu âm, không cho các khoảng cách âm dương triệt tiêu lẫn nhau).
  2. Độ lệch chuẩn (Standard Deviation - σ\sigma hoặc ss): Lấy căn bậc hai của phương sai: s=s2s = \sqrt{s^2}
    • Ý nghĩa thực tế: Đưa độ phân tán trở về cùng đơn vị đo với dữ liệu gốc (ví dụ: lương lệch trung bình ±3 triệu đoˆˋng\pm 3\text{ triệu đồng}).
    • Độ lệch chuẩn càng nhỏ: Dữ liệu càng đồng đều và ổn định.
    • Độ lệch chuẩn càng lớn: Dữ liệu càng chênh lệch và biến động mạnh.

2.3. Phân Phối Chuẩn (Normal Distribution) & Quy Tắc Thực Nghiệm 68 - 95 - 99.7

Phân phối chuẩn (đồ thị hình quả chuông đối xứng - Bell Curve) là dạng phân phối phổ biến nhất trong tự nhiên và kinh doanh (Chiều cao con người, Điểm thi đại học, Sai số đo lường).

                            PHÂN PHỐI CHUẨN (BELL CURVE)
                                        |
                                      /   \
                                     /     \
                                   /    |    \
                                 /      |      \
                              /         |         \
         --------------------+----------+----------+--------------------
                           μ-3σ        μ         μ+3σ
         | <--------------- 68% (trong khoảng μ ± 1σ) -------------> |
         | <------------------------- 95% (trong khoảng μ ± 2σ) ------------------> |
         | <------------------- 99.7% (trong khoảng μ ± 3σ) ---------------------> |
  • Quy tắc 68 - 95 - 99.7 (The Empirical Rule):
    • Khoảng 68%68\% dữ liệu nằm trong phạm vi: μ±1σ\mu \pm 1\sigma (Trung bình ±1\pm 1 độ lệch chuẩn).
    • Khoảng 95%95\% dữ liệu nằm trong phạm vi: μ±2σ\mu \pm 2\sigma.
    • Khoảng 99.7%99.7\% dữ liệu nằm trong phạm vi: μ±3σ\mu \pm 3\sigma.
    • →\rightarrow Bất kỳ điểm dữ liệu nào nằm ngoài khoảng ±3σ\pm 3\sigma (chỉ chiếm 0.3%0.3\% xác suất) đều được coi là một Giá trị ngoại lai bất thường (Outlier)!

2.4. Điểm Chuẩn Hóa Z-Score

Dùng để đo lường: "Một điểm dữ liệu cụ thể đang cách giá trị trung bình bao nhiêu lần độ lệch chuẩn?" Z=X−μσZ = \frac{X - \mu}{\sigma}

  • Z=0Z = 0: Giá trị đúng bằng mức trung bình.
  • Z=+2.0Z = +2.0: Giá trị cao hơn trung bình 22 độ lệch chuẩn (thuộc nhóm Top 2.5%2.5\% cao nhất).
  • Z>+3.0Z > +3.0 hoặc Z<−3.0Z < -3.0: Dấu hiệu cảnh báo Outlier cần kiểm tra ngay!

2.5. Phân Vị (Percentiles) & Cách Đọc Biểu Đồ Hộp (Boxplot)

Khi dữ liệu bị lệch nặng (không tuân theo phân phối chuẩn), Z-Score không còn hiệu quả. Ta sử dụng Khoảng tứ phân vị (IQR - Interquartile Range):

  • Sắp xếp dãy số và chia làm 4 phần bằng nhau (25%25\% mỗi phần):
    • Q1Q_1 (Phân vị thứ 25): 25%25\% số phần tử nhỏ hơn giá trị này.
    • Q2Q_2 (Phân vị thứ 50): Chính là Median (Trung vị).
    • Q3Q_3 (Phân vị thứ 75): 75%75\% số phần tử nhỏ hơn giá trị này.
  • Độ trải giữa (IQR): IQR=Q3−Q1\text{IQR} = Q_3 - Q_1 (Đại diện cho 50%50\% dữ liệu nằm ở vùng trung tâm).
CẤU TRÚC BIỂU ĐỒ HỘP (BOXPLOT):
                                 +-----+-----+
   o (Outlier)    |--------------|     |     |--------------|    o  o (Outliers)
                  |              +-----+-----+              |
               Min Bound         Q1  Median   Q3         Max Bound
             (Q1 - 1.5*IQR)                            (Q3 + 1.5*IQR)
  • Quy tắc 1.5 ×\times IQR để tìm Outliers:
    • Ngưỡng dưới (Lower Fence): Min=Q1−1.5×IQR\text{Min} = Q_1 - 1.5 \times \text{IQR}.
    • Ngưỡng trên (Upper Fence): Max=Q3+1.5×IQR\text{Max} = Q_3 + 1.5 \times \text{IQR}.
    • Mọi điểm nằm ngoài 2 ngưỡng này được vẽ thành các dấu chấm tròn rời rạc (Chắc chắn là Outlier).

3. Các Bảng Markdown So Sánh Chi Tiết

📊 Bảng 1: So Sánh Mean vs. Median vs. Mode

Tiêu chíMean (Trung bình cộng)Median (Trung vị)Mode (Yếu vị)
Định nghĩa đơn giảnTổng chia cho số lượngGiá trị đứng ở chính giữa danh sáchGiá trị xuất hiện nhiều lần nhất
Độ nhạy với OutliersRất nhạy cảm (Dễ bị kéo lệch)Hoàn toàn KHÔNG bị ảnh hưởngKhông bị ảnh hưởng
Loại dữ liệu áp dụngDữ liệu số liên tục (Numeric)Dữ liệu số (Numeric) hoặc Thứ bậc (Ordinal)Cả Dữ liệu số LẪN Dữ liệu chữ (Categorical)
Trường hợp tối ưuDữ liệu đối xứng, phân phối chuẩnDữ liệu bị lệch (Thu nhập, Giá nhà, Thời gian)Tìm mặt hàng bán chạy nhất, lỗi phổ biến nhất
Ví dụ thực tếChiều cao trung bình người Việt NamThu nhập người dân, Thời gian xử lý đơn hàngSize giày bán chạy nhất (Size 41)

📊 Bảng 2: So Sánh 2 Phương Pháp Phát Hiện Outliers Căn Bản

Phương phápZ-Score MethodIQR Method (Boxplot)
Giả định dữ liệuBắt buộc dữ liệu phải có phân phối chuẩn (Hình chuông đối xứng)Không cần giả định phân phối (Áp dụng cho mọi loại dữ liệu)
Công thức xác định OutlierĐiểm có $Z
Mức độ ảnh hưởng bởi OutlierBị ảnh hưởng (vì chính công thức tính ZZ có chứa Mean và Std)Hoàn toàn không bị ảnh hưởng (Do dùng các điểm phân vị)
Khuyến nghị sử dụng thực tếKhi chắc chắn dữ liệu phân phối chuẩn (Điểm thi chuẩn hóa, Sai số cảm biến)Chuẩn mặc định cho mọi phân tích khám phá dữ liệu (EDA)

📊 Bảng 3: Dấu Hiệu Nhận Biết Dữ Liệu Bị Lệch (Skewness) Qua Mean và Median

Dạng phân phốiMối quan hệ giữa Mean và MedianHình dạng đồ thịVí dụ thực tế đời thường
Đối xứng (Symmetric)Mean≈Median≈Mode\text{Mean} \approx \text{Median} \approx \text{Mode}Chuông cân đối 2 bênChiều cao, Cân nặng, Huyết áp người trưởng thành
Lệch Phải (Right-Skewed / Positively Skewed)Mean>Median\mathbf{\text{Mean} > \text{Median}} (Mean bị kéo sang phải)Đuôi dài kéo dài về phía bên phải (Giá trị lớn)Thu nhập người dân, Giá nhà đất, Lượt xem video Youtube
Lệch Trái (Left-Skewed / Negatively Skewed)Mean<Median\mathbf{\text{Mean} < \text{Median}} (Mean bị kéo sang trái)Đuôi dài kéo dài về phía bên trái (Giá trị nhỏ)Độ tuổi tử vong tự nhiên, Điểm thi tốt nghiệp đề dễ

4. Best Practices & Thực Hành Code Python Căn Bản (Pro-Tips)

💡 Code Python Phân Tích Thống Kê Mô Tả Đầy Đủ Bằng Pandas

import pandas as pd
import numpy as np

# 1. Tạo tập dữ liệu mẫu về mức lương (đơn vị: triệu đồng/tháng):
# Có 1 vị Giám đốc lương 250 triệu kéo lệch dữ liệu:
salaries = [10, 11, 12, 12, 13, 14, 15, 15, 16, 18, 20, 250]
df = pd.DataFrame({'salary': salaries})

# 2. Tính các đại lượng thống kê cơ bản:
mean_val = df['salary'].mean()       # Kết quả: ~33.8 triệu (Bị lệch quá cao!)
median_val = df['salary'].median()   # Kết quả: 14.5 triệu (Phản ánh rất đúng thực tế)
mode_val = df['salary'].mode()[0]     # Kết quả: 12 triệu (Mức lương xuất hiện nhiều nhất)
std_val = df['salary'].std()         # Độ lệch chuẩn: ~68.1 triệu

print(f"Mean: {mean_val:.1f} | Median: {median_val:.1f} | Mode: {mode_val} | Std: {std_val:.1f}")

# 3. Phát hiện Outlier bằng phương pháp IQR:
Q1 = df['salary'].quantile(0.25) # Phân vị 25% (12.0)
Q3 = df['salary'].quantile(0.75) # Phân vị 75% (16.5)
IQR = Q3 - Q1                    # 16.5 - 12.0 = 4.5

lower_bound = Q1 - 1.5 * IQR     # 12.0 - 6.75 = 5.25
upper_bound = Q3 + 1.5 * IQR     # 16.5 + 6.75 = 23.25

# Lọc ra các dòng Outlier:
outliers = df[(df['salary'] < lower_bound) | (df['salary'] > upper_bound)]
print("Danh sách các giá trị bất thường (Outliers):")
print(outliers) # Bắt chính xác mức lương 250 triệu!

5. Góc Ôn Luyện Phỏng Vấn (Interview Corner)

❓ Câu hỏi 1: Khi nào bạn nên sử dụng Median (Trung vị) thay vì Mean (Trung bình cộng) để báo cáo cho ban giám đốc? Cho một ví dụ cụ thể trong công việc thực tế.

  • Gợi ý trả lời ngắn gọn, tự tin:
    • Nguyên tắc lựa chọn:
      • Sử dụng Mean khi tập dữ liệu có phân phối tương đối đối xứng và không có các giá trị ngoại lai dị biệt.
      • Sử dụng Median khi tập dữ liệu bị lệch (Skewed Distribution) hoặc có chứa các giá trị ngoại lai cực lớn/cực nhỏ (Outliers).
    • Ví dụ thực tế:
      • Trong đo lường Thời gian xử lý đơn hàng (Order Delivery Time) của sàn E-commerce: Đa số đơn hàng giao thành công trong vòng 1−2 ngaˋy1 - 2\text{ ngày}. Nhưng có một vài đơn hàng bị thất lạc hoặc người mua hẹn lại 30 ngaˋy30\text{ ngày} sau mới nhận.
      • Nếu dùng Mean, thời gian giao hàng trung bình sẽ bị đội lên thành 4−5 ngaˋy4 - 5\text{ ngày}, khiến ban giám đốc hiểu nhầm rằng chất lượng dịch vụ vận chuyển đang rất kém.
      • Nếu dùng Median, con số hiển thị chuẩn xác là 1.5 ngaˋy1.5\text{ ngày}, phản ánh đúng trải nghiệm của hơn 90%90\% khách hàng thông thường.

❓ Câu hỏi 2: Độ lệch chuẩn (Standard Deviation) đo lường điều gì? Hãy giải thích ý nghĩa của quy tắc 68-95-99.7 bằng một hình ảnh ví dụ dễ hiểu.

  • Gợi ý trả lời:
    • Bản chất của Độ lệch chuẩn:
      • Độ lệch chuẩn đo lường mức độ biến thiên hoặc độ phân tán của các điểm dữ liệu xung quanh giá trị trung bình. Nó cho biết các con số thực tế đang nằm co cụm sát mức trung bình hay đang tản mác ra rất xa.
    • Giải thích quy tắc 68-95-99.7 (Trong phân phối chuẩn):
      • Ví dụ: Điểm thi kết thúc môn của 10,00010,000 sinh viên có phân phối chuẩn với Điểm trung bình μ=7.0\mu = 7.0 và Độ lệch chuẩn σ=1.0\sigma = 1.0:
        1. Khoảng 68%68\% sinh viên sẽ có điểm thi nằm trong khoảng từ 6.06.0 đến 8.08.0 (tức μ±1σ\mu \pm 1\sigma).
        2. Khoảng 95%95\% sinh viên sẽ có điểm thi nằm trong khoảng từ 5.05.0 đến 9.09.0 (tức μ±2σ\mu \pm 2\sigma).
        3. Khoảng 99.7%99.7\% sinh viên sẽ có điểm thi nằm trong khoảng từ 4.04.0 đến 10.010.0 (tức μ±3σ\mu \pm 3\sigma).
      • Nếu có một sinh viên bị điểm 2.02.0 (nằm ngoài khoảng ±3σ\pm 3\sigma), đây là trường hợp cực kỳ cá biệt (chỉ có xác suất xảy ra <0.3%< 0.3\%).

❓ Câu hỏi 3: Biểu đồ Boxplot gồm những thành phần nào và phương pháp IQR xác định một điểm là Outlier như thế nào?

  • Gợi ý trả lời:
    • 5 Thành phần của biểu đồ Boxplot (Five-number summary):
      1. Min Bound (Râu dưới): Q1−1.5×IQRQ_1 - 1.5 \times \text{IQR}.
      2. Q1 (Tứ phân vị thứ nhất): Mốc 25%25\% dữ liệu.
      3. Median (Đường kẻ ở giữa hộp): Mốc 50%50\% dữ liệu.
      4. Q3 (Tứ phân vị thứ ba): Mốc 75%75\% dữ liệu.
      5. Max Bound (Râu trên): Q3+1.5×IQRQ_3 + 1.5 \times \text{IQR}.
    • Quy tắc xác định Outlier:
      • Đoạn thân hộp chính là khoảng tứ phân vị: IQR=Q3−Q1\text{IQR} = Q_3 - Q_1, đại diện cho 50%50\% số lượng dữ liệu ổn định ở vùng giữa.
      • Bất kỳ điểm dữ liệu nào nằm vượt ra ngoài phạm vi [Q1−1.5IQR,Q3+1.5IQR][Q_1 - 1.5\text{IQR}, Q_3 + 1.5\text{IQR}] đều được thuật toán coi là giá trị ngoại lai bất thường (Outlier) và được biểu diễn bằng các chấm tròn nằm ngoài râu hộp.

6. Tóm Tắt Ghi Nhớ Nhanh (Key Takeaways)

  1. Mean bị kéo lệch bởi Outliers; Median là "tấm khiên" phản ánh trung thực nhất dữ liệu bị lệch (Lương bổng, Giá nhà).
  2. Độ lệch chuẩn (σ\sigma) đo lường độ phân tán; giá trị càng nhỏ dữ liệu càng đồng đều và ổn định.
  3. Quy tắc 68-95-99.7 chỉ áp dụng cho Phân phối chuẩn (Bell Curve).
  4. Z-Score đo số lần độ lệch chuẩn cách xa mức trung bình; điểm ∣Z∣>3.0|Z| > 3.0 thường là Outlier.
  5. Phương pháp IQR (Boxplot) là công cụ chuẩn mực số 1 để tìm kiếm Outliers cho mọi loại dữ liệu thực tế.
0Claps