Mở Đầu

Phân bố Gaussian, còn được gọi là phân bố chuẩn (Normal Distribution), là một trong những khái niệm nền tảng nhất trong thống kê và khoa học dữ liệu. Việc hiểu và vẽ được phân bố Gaussian không chỉ giúp bạn nắm bắt được các đặc tính quan trọng của dữ liệu mà còn mở ra cánh cửa cho nhiều kỹ thuật phân tích nâng cao như kiểm định giả thuyết, hồi quy, và mô hình hóa dự đoán. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ khái niệm cơ bản, công thức toán học, cách tính các tham số, cho tới cách vẽ biểu đồ bằng các công cụ phổ biến như Python (matplotlib, seaborn), R, và thậm chí là Excel.

Mục tiêu của bài viết:
1. Giải thích khái niệm và các tính chất của phân bố Gaussian.
2. Hướng dẫn cách tính các tham số µ (mean) và σ (standard deviation).
3. Trình bày cách vẽ đồ thị phân bố Gaussian bằng các phần mềm và ngôn ngữ lập trình.
4. Đưa ra một số ví dụ thực tế và lưu ý khi áp dụng.

Sau khi đọc xong, bạn sẽ có thể tự tin vẽ và phân tích phân bố Gaussian cho bất kỳ tập dữ liệu nào.

1. Tổng Quan Về Phân Bố Gaussian

1.1 Định Nghĩa

Phân bố Gaussian là một hàm mật độ xác suất (Probability Density Function – PDF) có dạng:

f(x;\mu,\sigma) = \frac{1}{\sigma\sqrt{2\pi}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

Trong đó:
µ (mu) là trung bình (mean) – xác định vị trí trung tâm của đường cong.
σ (sigma) là độ lệch chuẩn (standard deviation) – quyết định độ rộng và “độ dốc” của đường cong.

1.2 Các Đặc Tính Quan Trọng

Cách Vẽ Phân Bố Gause
Cách Vẽ Phân Bố Gause
Đặc tính Mô tả
Đối xứng Đường cong đối xứng quanh µ.
Độ lệch chuẩn Khoảng ±1σ chứa khoảng 68.27% dữ liệu, ±2σ chứa 95.45%, ±3σ chứa 99.73% (nguyên tắc 68‑95‑99.7).
Độ dốc Độ dốc tại điểm trung bình là cao nhất, giảm dần khi xa µ.
Độ dài vô hạn Đường cong kéo dài vô hạn về cả hai phía, tuy nhiên giá trị ở các cực ngoài gần bằng 0.

1.3 Tại Sao Phân Bố Gaussian Quan Trọng?

  • Luật số lớn (Central Limit Theorem): Khi tổng hoặc trung bình của một lượng lớn các biến ngẫu nhiên độc lập và có cùng phân bố, kết quả sẽ tiệm cận phân bố chuẩn, bất kể phân bố gốc là gì.
  • Mô hình hóa sai số: Nhiều hiện tượng tự nhiên (độ cao, cân nặng, sai số đo lường) gần như tuân theo phân bố Gaussian.
  • Cơ sở cho các kiểm định thống kê: Nhiều kiểm định (t‑test, ANOVA) dựa trên giả thuyết dữ liệu tuân theo chuẩn.

2. Tính Toán Tham Số µ và σ

Trước khi vẽ, bạn cần xác định µ và σ từ dữ liệu thực tế.

2.1 Công Thức Tính Trung Bình (µ)

\mu = \frac{1}{n}\sum_{i=1}^{n} x_i

Trong đó (x_i) là các quan sát và (n) là số lượng quan sát.

2.2 Công Thức Tính Độ Lệch Chuẩn (σ)

\sigma = \sqrt{\frac{1}{n-1}\sum_{i=1}^{n} (x_i – \mu)^2}

Lưu ý: Sử dụng (n-1) (bộ chia Bessel) để có ước lượng không chệch cho mẫu.

2.3 Ví Dụ Thực Tế

Giả sử bạn có dữ liệu về chiều cao (cm) của 10 người:
165, 170, 168, 172, 169, 171, 167, 166, 173, 168

  • Tính µ:

    \mu = \frac{165+170+…+168}{10}=169.0 \text{ cm}

  • Tính σ:

    \sigma = \sqrt{\frac{(165-169)^2 + … + (168-169)^2}{9}} \approx 2.73 \text{ cm}

Với µ = 169 và σ = 2.73, bạn đã có đủ thông tin để vẽ phân bố Gaussian cho dữ liệu này.

Cách Vẽ Phân Bố Gause
Cách Vẽ Phân Bố Gause

3. Vẽ Phân Bố Gaussian Bằng Python

Python là ngôn ngữ phổ biến nhất trong khoa học dữ liệu. Dưới đây là cách vẽ bằng matplotlibseaborn.

3.1 Cài Đặt Thư Viện Cần Thiết

pip install numpy matplotlib seaborn scipy

3.2 Mã Nguồn Cơ Bản

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import norm # Dữ liệu mẫu
data = np.array(165, 170, 168, 172, 169, 171, 167, 166, 173, 168) # Tính µ và σ
mu = np.mean(data)
sigma = np.std(data, ddof=1) # ddof=1 để dùng mẫu (n-1) # Tạo dải giá trị x để vẽ đường chuẩn
x = np.linspace(mu - 4sigma, mu + 4sigma, 1000)
pdf = norm.pdf(x, mu, sigma) # Hàm mật độ chuẩn # Vẽ histogram của dữ liệu và đường chuẩn
plt.figure(figsize=(10,6))
sns.histplot(data, bins=6, kde=False, stat='density', color='skyblue', edgecolor='black')
plt.plot(x, pdf, 'r', lw=2, label=f'Normal PDF ($\\mu$={mu:.2f}, $\\sigma$={sigma:.2f})')
plt.title('Biểu Đồ Phân Bố Gaussian Của Dữ Liệu Chiều Cao')
plt.xlabel('Chiều cao (cm)')
plt.ylabel('Mật độ')
plt.legend()
plt.grid(True)
plt.show()

Giải thích:
np.meannp.std tính µ, σ.
np.linspace tạo dải giá trị x từ µ‑4σ tới µ+4σ (đủ để thấy toàn bộ đường cong).
norm.pdf trả về giá trị mật độ tại mỗi x.
sns.histplot vẽ histogram chuẩn hoá (density) để so sánh trực quan.

3.3 Vẽ Đường Cong Độ Tin Cậy (Confidence Interval)

Bạn có thể vẽ các vùng ±1σ, ±2σ để minh hoạ quy tắc 68‑95‑99.7:

plt.fill_between(x, 0, pdf, where=(x >= mu-sigma) & (x <= mu+sigma), color='orange', alpha=0.3, label='±1σ (68%)')
plt.fill_between(x, 0, pdf, where=(x >= mu-2sigma) & (x <= mu+2sigma), color='green', alpha=0.2, label='±2σ (95%)')
plt.fill_between(x, 0, pdf, where=(x >= mu-3sigma) & (x <= mu+3sigma), color='blue', alpha=0.1, label='±3σ (99.7%)')

3.4 Tùy Biến Hình Dáng (Styling)

  • Thay sns.set_style('whitegrid') để đổi nền.
  • Dùng plt.xlimplt.ylim để điều chỉnh trục.
  • Thêm plt.annotate để ghi chú các điểm quan trọng.

4. Vẽ Phân Bố Gaussian Bằng R

R là môi trường thống kê mạnh mẽ, đặc biệt với ggplot2.

4.1 Cài Đặt Gói Cần Thiết

Cách Vẽ Phân Bố Gause
Cách Vẽ Phân Bố Gause
install.packages(c("ggplot2", "gridExtra"))
library(ggplot2)

4.2 Mã Nguồn

# Dữ liệu
data <- c(165, 170, 168, 172, 169, 171, 167, 166, 173, 168) # Tính µ và σ
mu <- mean(data)
sigma <- sd(data) # mặc định dùng n-1 # Tạo dải x
x <- seq(mu - 4sigma, mu + 4sigma, length.out = 1000)
pdf <- dnorm(x, mean = mu, sd = sigma) # Tạo dataframe cho ggplot
df_curve <- data.frame(x = x, y = pdf) # Vẽ histogram + đường chuẩn
ggplot() + geom_histogram(aes(x = data, y = ..density..), bins = 6, fill = "skyblue", color = "black", alpha = 0.6) + geom_line(data = df_curve, aes(x = x, y = y), color = "red", size = 1.2) + labs(title = "Phân Bố Gaussian Của Dữ Liệu Chiều Cao", x = "Chiều cao (cm)", y = "Mật độ") + theme_minimal()

4.3 Thêm Vùng Độ Tin Cậy

df_curve$region1 <- ifelse(df_curve$x >= mu-sigma & df_curve$x <= mu+sigma, df_curve$y, NA)
df_curve$region2 <- ifelse(df_curve$x >= mu-2sigma & df_curve$x <= mu+2sigma, df_curve$y, NA) ggplot() + geom_histogram(aes(x = data, y = ..density..), bins = 6, fill = "skyblue", color = "black", alpha = 0.6) + geom_ribbon(data = df_curve, aes(x = x, ymin = 0, ymax = region1), fill = "orange", alpha = 0.3) + geom_ribbon(data = df_curve, aes(x = x, ymin = 0, ymax = region2), fill = "green", alpha = 0.2) + geom_line(data = df_curve, aes(x = x, y = y), color = "red", size = 1.2) + labs(title = "Phân Bố Gaussian Với Vùng ±1σ, ±2σ", x = "Chiều cao (cm)", y = "Mật độ") + theme_minimal()

5. Vẽ Phân Bố Gaussian Bằng Excel

Dù không mạnh mẽ như Python hay R, Excel vẫn đủ để vẽ nhanh.

5.1 Bước 1: Tính µ và σ

  • Sử dụng hàm =AVERAGE(A2:A11) cho µ.
  • Sử dụng hàm =STDEV.S(A2:A11) cho σ (đối với mẫu).

5.2 Bước 2: Tạo Dải Giá Trị X

  • Trong cột B, nhập dải từ µ-4σ tới µ+4σ với bước 0.1 (hoặc 0.2).
  • Ví dụ: =B$1-4$C$1 (trong đó C1 là σ).

5.3 Bước 3: Tính PDF

  • Trong cột C, dùng công thức chuẩn:
    =NORM.DIST(B2,$C$2,$C$3,FALSE)
    (trong đó C2 là µ, C3 là σ). Kéo công thức xuống hết dải X.

5.4 Bước 4: Vẽ Đồ Thị

Cách Vẽ Phân Bố Gause
Cách Vẽ Phân Bố Gause
  • Chọn dải X và PDF → Insert → Scatter with Smooth Lines.
  • Để vẽ histogram: Chọn dữ liệu gốc → Insert → Histogram.
  • Đặt trục Y của histogram thành “Density” (chuẩn hoá): chia số lượng quan sát cho tổng số bin và chiều rộng bin.

5.5 Thêm Vùng ±1σ

  • Tạo thêm 2 cột: một cho giá trị PDF khi X nằm trong µ‑σ, µ+σ, một cho ngoài.
  • Dùng công thức IF: =IF(AND(B2>=$C$2-$C$3, B2<=$C$2+$C$3), C2, NA()).
  • Vẽ các cột này dưới dạng “Area” để tô màu.

6. Ứng Dụng Thực Tiễn Của Phân Bố Gaussian

6.1 Kiểm Định Giả Thuyết (t‑test)

Khi bạn muốn so sánh trung bình của hai nhóm, t‑test dựa trên giả thuyết rằng dữ liệu của mỗi nhóm gần như chuẩn. Việc vẽ phân bố Gaussian giúp kiểm tra trực quan.

6.2 Kiểm Soát Chất Lượng (Control Charts)

Trong sản xuất, các chỉ số như độ dày, trọng lượng thường được mô hình hoá bằng phân bố chuẩn. Các biểu đồ “Shewhart” sử dụng ±3σ để xác định điểm ngoài kiểm soát.

6.3 Mô Hình Hồi Quy (Linear Regression)

Cách Vẽ Phân Bố Gause
Cách Vẽ Phân Bố Gause

Sai số của mô hình hồi quy thường được giả định là chuẩn. Đồ thị histogram của residuals cùng với đường chuẩn giúp kiểm tra giả thuyết này.

6.4 Đánh Giá Rủi Ro Tài Chính

Trong mô hình Black‑Scholes, lợi nhuận log‑return được giả định là chuẩn. Vẽ phân bố Gaussian cho dữ liệu lịch sử giúp xác định VaR (Value at Risk).

7. Một Số Lưu Ý Khi Áp Dụng Phân Bố Gaussian

Vấn đề Mô tả Giải pháp
Dữ liệu không chuẩn Đôi khi dữ liệu lệch mạnh, có outlier. Thử biến đổi (log, Box‑Cox) hoặc dùng phân bố khác (t‑distribution).
Kích thước mẫu nhỏ Với n < 30, ước lượng µ, σ không ổn định. Sử dụng kiểm định không tham số (Wilcoxon) hoặc bootstrap.
Đa mô hình Dữ liệu có thể là hỗn hợp của nhiều phân bố chuẩn. Áp dụng mô hình Gaussian Mixture Models (GMM).
Độ lệch chuẩn bằng 0 Khi mọi quan sát giống nhau, không thể vẽ đường chuẩn. Kiểm tra dữ liệu, loại bỏ các trường hợp lỗi nhập liệu.

8. Kết Luận

Việc vẽ phân bố Gaussian không chỉ là một kỹ năng đồ họa mà còn là một công cụ quan trọng để hiểu sâu dữ liệu và đánh giá các giả thuyết thống kê. Bằng cách nắm vững công thức, tính toán µ và σ, và áp dụng các công cụ như Python, R, hay Excel, bạn có thể:

  • Trực quan hoá dữ liệu một cách chuyên nghiệp.
  • Kiểm tra tính chuẩn của dữ liệu trước khi thực hiện các phân tích phức tạp.
  • Truyền đạt kết quả một cách rõ ràng cho đồng nghiệp hoặc khách hàng.

Hy vọng bài viết đã cung cấp cho bạn một hướng dẫn toàn diện từ lý thuyết tới thực hành. Hãy thử áp dụng ngay vào dự án của mình và khám phá những insight mới từ dữ liệu!

Chúc bạn thành công!

Rate this post
Mục nhập này đã được đăng trong Blog. Đánh dấu trang permalink.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *