MinAI - Về trang chủ
Lý thuyết
2/121 giờ
Đang tải...

Thống kê Mô tả - Độ đo Tập trung

Mean, Median, Mode và các khái niệm cơ bản

0

🎯 Mục tiêu bài học

TB5 min

Sau bài học này, bạn sẽ:

✅ Hiểu và tính toán Mean, Median, Mode

✅ Biết khi nào sử dụng độ đo nào

✅ Phân biệt Population vs Sample Statistics

✅ Hiểu ảnh hưởng của Outliers lên các độ đo

Thời gian: 1 giờ | Độ khó: Beginner | Yêu cầu: Bài 01-02

1

📖 Bảng Thuật Ngữ Quan Trọng

TB5 min
Thuật ngữTiếng ViệtMô tả
MeanTrung bình cộngTổng giá trị chia cho số phần tử
MedianTrung vịGiá trị ở vị trí giữa khi sắp xếp
ModeYếu vịGiá trị xuất hiện nhiều nhất
Weighted MeanTrung bình có trọng sốMean tính theo trọng số
OutlierGiá trị ngoại laiGiá trị bất thường, khác biệt lớn
SkewnessĐộ lệchMức độ bất đối xứng của phân phối
NominalDanh nghĩaDữ liệu phân loại không có thứ tự
OrdinalThứ bậcDữ liệu phân loại có thứ tự

Checkpoint

Population Mean dùng ký hiệu μ (mu), Sample Mean dùng x̄ (x-bar). Bạn nhớ chưa?

2

📊 Các Loại Dữ Liệu

TB5 min

Phân loại dữ liệu

📊Data Types
Categorical
Nominal (Màu sắc, Giới tính)
Ordinal (Xếp hạng, Mức độ)
Numerical
Discrete (Số học sinh)
Continuous (Chiều cao)
LoạiVí dụĐộ đo phù hợp
NominalMàu sắc, Nhóm máuMode
OrdinalXếp hạng 1-5 saoMedian, Mode
DiscreteSố con, Số xeMean, Median, Mode
ContinuousChiều cao, Thu nhậpMean, Median
3

📐 Mean (Trung bình cộng)

TB5 min

Công thức

Population Mean (Trung bình tổng thể):

μ=1Ni=1Nxi=x1+x2+...+xNN\mu = \frac{1}{N}\sum_{i=1}^{N} x_i = \frac{x_1 + x_2 + ... + x_N}{N}

Sample Mean (Trung bình mẫu):

xˉ=1ni=1nxi=x1+x2+...+xnn\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i = \frac{x_1 + x_2 + ... + x_n}{n}

Population vs Sample
  • Population (N): Toàn bộ đối tượng nghiên cứu
  • Sample (n): Một phần được chọn từ tổng thể
  • Ký hiệu: μ (mu) cho population, x̄ (x-bar) cho sample

Ví dụ tính tay

Dữ liệu: Điểm thi của 8 học sinh: [7, 8, 6, 9, 7, 8, 10, 5]

xˉ=7+8+6+9+7+8+10+58=608=7.5\bar{x} = \frac{7 + 8 + 6 + 9 + 7 + 8 + 10 + 5}{8} = \frac{60}{8} = 7.5

Weighted Mean (Trung bình có trọng số)

xˉw=i=1nwixii=1nwi\bar{x}_w = \frac{\sum_{i=1}^{n} w_i x_i}{\sum_{i=1}^{n} w_i}

Ví dụ: Tính điểm trung bình học phần

MônĐiểm (x)Số tín chỉ (w)w × x
Toán8432
7321
Hóa9218
Tổng-971

xˉw=32+21+184+3+2=719=7.89\bar{x}_w = \frac{32 + 21 + 18}{4 + 3 + 2} = \frac{71}{9} = 7.89

Code Python

Python
1import numpy as np
2
3# Dữ liệu
4scores = [7, 8, 6, 9, 7, 8, 10, 5]
5
6# Mean đơn giản
7mean_score = np.mean(scores)
8print(f"Mean: {mean_score}") # 7.5
9
10# Weighted Mean
11grades = [8, 7, 9]
12credits = [4, 3, 2]
13weighted_mean = np.average(grades, weights=credits)
14print(f"Weighted Mean: {weighted_mean:.2f}") # 7.89

Checkpoint

Tính Weighted Mean điểm học kỳ: Toán 8.5 (4 TC), Văn 7.0 (3 TC), Anh 9.0 (3 TC), TD 8.0 (2 TC).

4

📊 Median (Trung vị)

TB5 min

Định nghĩa

Median là giá trị ở vị trí giữa khi sắp xếp dữ liệu theo thứ tự.

Cách tính:

  • Nếu n lẻ: Median = giá trị ở vị trí n+12\frac{n+1}{2}
  • Nếu n chẵn: Median = trung bình của 2 giá trị giữa

Ví dụ tính tay

Ví dụ 1: n lẻ

Dữ liệu: [3, 7, 2, 9, 4]

Sắp xếp: [2, 3, 4, 7, 9]

Vị trí giữa: 5+12=3\frac{5+1}{2} = 3Median = 4

Ví dụ 2: n chẵn

Dữ liệu: [3, 7, 2, 9, 4, 6]

Sắp xếp: [2, 3, 4, 6, 7, 9]

Hai giá trị giữa: 4 và 6 → Median = 4+62\frac{4+6}{2} = 5

Code Python

Python
1import numpy as np
2
3# n lẻ
4data_odd = [3, 7, 2, 9, 4]
5print(f"Median (n lẻ): {np.median(data_odd)}") # 4.0
6
7# n chẵn
8data_even = [3, 7, 2, 9, 4, 6]
9print(f"Median (n chẵn): {np.median(data_even)}") # 5.0
5

🔢 Mode (Yếu vị)

TB5 min

Định nghĩa

Mode là giá trị xuất hiện nhiều lần nhất trong tập dữ liệu.

  • Unimodal: 1 mode
  • Bimodal: 2 modes
  • Multimodal: nhiều modes
  • No mode: tất cả xuất hiện bằng nhau

Ví dụ

Dữ liệuModeLoại
[1, 2, 2, 3, 4]2Unimodal
[1, 1, 2, 2, 3]1, 2Bimodal
[1, 2, 3, 4, 5]NoneNo mode

Code Python

Python
1from scipy import stats
2import numpy as np
3
4# Unimodal
5data = [1, 2, 2, 3, 4]
6mode_result = stats.mode(data, keepdims=True)
7print(f"Mode: {mode_result.mode[0]}") # 2
8print(f"Count: {mode_result.count[0]}") # 2
9
10# Sử dụng pandas cho multiple modes
11import pandas as pd
12data_bimodal = pd.Series([1, 1, 2, 2, 3])
13print(f"Modes: {data_bimodal.mode().tolist()}") # [1, 2]

Checkpoint

Dữ liệu: [5, 3, 5, 7, 3, 5, 8, 3]. Mode là gì? Unimodal hay Bimodal?

6

⚖️ So Sánh Mean, Median, Mode

TB5 min

Ảnh hưởng của Outliers

Ảnh hưởng của Outliers

📊Data với Outliers
⚠️Mean (Bị ảnh hưởng)
Median (Robust)
Mode (Tùy thuộc)

Ví dụ: Thu nhập (triệu/tháng): [10, 12, 11, 13, 100]

Độ đoGiá trịNhận xét
Mean29.2Bị kéo lên bởi outlier 100
Median12Không bị ảnh hưởng

Khi nào dùng độ đo nào?

Tình huốngĐộ đo phù hợp
Dữ liệu đối xứng, không có outliersMean
Dữ liệu lệch (skewed) hoặc có outliersMedian
Dữ liệu categoricalMode
Thu nhập, giá nhàMedian
Điểm số, chiều caoMean
Màu sắc yêu thíchMode

Skewness và vị trí các độ đo

Skewness và vị trí các độ đo

🔴Left Skewed: Mean < Median < Mode
🟢Symmetric: Mean ≈ Median ≈ Mode
🔵Right Skewed: Mode < Median < Mean

Code minh họa

Python
1import numpy as np
2import matplotlib.pyplot as plt
3from scipy import stats
4
5# Tạo dữ liệu với outlier
6data_normal = [10, 12, 11, 13, 14, 12, 11, 13]
7data_with_outlier = [10, 12, 11, 13, 14, 12, 11, 100]
8
9# So sánh
10print("=== Data without outlier ===")
11print(f"Mean: {np.mean(data_normal):.2f}")
12print(f"Median: {np.median(data_normal):.2f}")
13
14print("\n=== Data with outlier ===")
15print(f"Mean: {np.mean(data_with_outlier):.2f}")
16print(f"Median: {np.median(data_with_outlier):.2f}")
17
18# Visualization
19fig, axes = plt.subplots(1, 2, figsize=(12, 4))
20
21# Normal data
22axes[0].hist(data_normal, bins=10, edgecolor='black', alpha=0.7)
23axes[0].axvline(np.mean(data_normal), color='red', linestyle='--', label=f'Mean: {np.mean(data_normal):.1f}')
24axes[0].axvline(np.median(data_normal), color='green', linestyle='--', label=f'Median: {np.median(data_normal):.1f}')
25axes[0].set_title('Without Outlier')
26axes[0].legend()
27
28# Data with outlier
29axes[1].hist(data_with_outlier, bins=10, edgecolor='black', alpha=0.7)
30axes[1].axvline(np.mean(data_with_outlier), color='red', linestyle='--', label=f'Mean: {np.mean(data_with_outlier):.1f}')
31axes[1].axvline(np.median(data_with_outlier), color='green', linestyle='--', label=f'Median: {np.median(data_with_outlier):.1f}')
32axes[1].set_title('With Outlier')
33axes[1].legend()
34
35plt.tight_layout()
36plt.show()

Checkpoint

Lương nhân viên (triệu/tháng): [15, 18, 16, 17, 19, 150]. Mean hay Median phản ánh thực tế hơn? Tại sao?

7

🧩 Bài Tập Thực Hành

TB5 min

Bài tập 1: Tính các độ đo

Cho dữ liệu điểm kiểm tra: [85, 90, 78, 92, 88, 85, 95, 85, 80, 75]

  1. Tính Mean
  2. Tính Median
  3. Tìm Mode
Đáp án
  • Mean = 85.3
  • Median = 85
  • Mode = 85

Bài tập 2: Weighted Mean

Tính điểm trung bình học kỳ với:

  • Toán: 8.5 (4 tín chỉ)
  • Văn: 7.0 (3 tín chỉ)
  • Anh: 9.0 (3 tín chỉ)
  • Thể dục: 8.0 (2 tín chỉ)

Bài tập 3: Phân tích outlier

Cho dữ liệu lương nhân viên (triệu/tháng): [15, 18, 16, 17, 19, 150]

  1. Tính Mean và Median
  2. Độ đo nào phản ánh thực tế hơn?
  3. Giải thích tại sao
8

📝 Tổng Kết

TB5 min
Độ đoCông thứcƯu điểmNhược điểm
Meanxˉ=xin\bar{x} = \frac{\sum x_i}{n}Sử dụng tất cả dữ liệuNhạy với outliers
MedianGiá trị giữaRobust với outliersBỏ qua giá trị cực trị
ModeGiá trị phổ biến nhấtDùng cho categoricalCó thể không duy nhất

Câu hỏi tự kiểm tra

  1. Khi nào nên sử dụng Median thay vì Mean để mô tả dữ liệu?
  2. Mode có thể áp dụng cho loại dữ liệu nào mà Mean và Median không phù hợp?
  3. Tại sao cần kiểm tra phân phối dữ liệu trước khi chọn độ đo xu hướng trung tâm?
  4. Nếu một tập dữ liệu có outliers lớn, Mean và Median sẽ khác nhau như thế nào?
Key Takeaways
  1. Mean phù hợp cho dữ liệu đối xứng
  2. Median robust hơn khi có outliers
  3. Mode dùng cho dữ liệu categorical
  4. Luôn kiểm tra distribution trước khi chọn độ đo

🎉 Tuyệt vời! Bạn đã hoàn thành bài học Đo lường xu hướng trung tâm!

Tiếp theo: Chúng ta sẽ tìm hiểu về các độ đo phân tán (Range, Variance, Standard Deviation) để hiểu dữ liệu trải rộng như thế nào.