Phân phối mũ và phân phối Gamma trong thống kê thường xuất hiện khi dữ liệu gắn liền với thời gian chờ, sự kiện xảy ra ngẫu nhiên và quá trình vận hành của hệ thống. Không giống các phân phối chỉ mô tả hình dạng, hai phân phối này còn phản ánh cách dữ liệu được sinh ra theo thời gian.
Hiểu được phân phối mũ và phân phối Gamma giúp bạn mô hình hóa đúng các hiện tượng liên quan đến thời gian, tránh việc áp dụng nhầm phân phối chuẩn cho những dữ liệu vốn không đối xứng.
Phân phối mũ (Exponential distribution)
Phân phối mũ là dạng phân phối dùng để mô tả thời gian chờ cho đến khi một sự kiện xảy ra. Đồ thị của phân phối mũ có đỉnh nằm sát bên trái, gần giá trị 0, và kéo dài dần về phía bên phải, tạo thành một chiếc đuôi dài.
Đặc điểm nổi bật của phân phối mũ là giá trị nhỏ xuất hiện rất nhiều. Ngược lại, giá trị lớn hiếm dần nhưng không bao giờ là không thể xảy ra. Vì vậy, xét về hình dạng, phân phối mũ là một phân phối lệch phải.
Trong phân phối mũ, điều quan trọng không nằm ở một giá trị trung tâm. Thay vào đó, nó nằm ở việc xác suất giảm dần theo thời gian chờ. Càng chờ lâu, khả năng phải chờ thêm càng nhỏ, nhưng vẫn luôn tồn tại.
Có thể gặp phân phối mũ ở đâu?
Phân phối mũ xuất hiện rất nhiều trong các bài toán liên quan đến thời gian chờ và sự kiện xảy ra ngẫu nhiên. Đây là một trong những phân phối phổ biến nhất khi làm việc với hệ thống, mạng và các quá trình vận hành thực tế.
Bạn có thể gặp phân phối mũ trong thời gian chờ của khách hàng. Phần lớn khách chỉ phải chờ rất ngắn trước khi được phục vụ. Một số ít phải chờ lâu hơn khi hệ thống bận. Và rất hiếm khi có người phải chờ cực lâu vì sự cố bất thường.
Phân phối mũ cũng thường xuất hiện trong thời gian giữa hai sự kiện liên tiếp, chẳng hạn như:
- thời gian giữa hai lần request đến hệ thống
- thời gian giữa hai cuộc gọi đến tổng đài
- thời gian giữa hai lỗi hệ thống
Điểm chung của các trường hợp này là sự kiện xảy ra bất chợt, không theo lịch trình cố định và không “ghi nhớ” quá khứ.
Dùng phân phối mũ khi nào?
Bạn nên nghĩ đến phân phối mũ khi:
- dữ liệu là thời gian chờ hoặc khoảng thời gian giữa các sự kiện
- giá trị luôn không âm
- đa số giá trị nhỏ, chỉ một số ít giá trị lớn
- không có thời điểm đặc biệt nào khiến sự kiện dễ xảy ra hơn
Một dấu hiệu rất quan trọng của phân phối mũ là tính không có trí nhớ. Điều này có nghĩa là khả năng sự kiện xảy ra trong tương lai không phụ thuộc vào việc bạn đã chờ bao lâu.
Trong những trường hợp này, nếu cố gắng mô hình hóa dữ liệu bằng phân phối chuẩn, bạn sẽ dễ tạo ra các giá trị âm và đánh giá sai xác suất của các thời gian chờ dài.
Ví dụ dữ liệu
Hãy tưởng tượng bạn đo thời gian chờ để một request được xử lý trong một hệ thống trực tuyến. Phần lớn request được xử lý gần như ngay lập tức. Một số request phải chờ lâu hơn do tải cao. Và rất hiếm khi có request phải chờ cực lâu vì lỗi hệ thống.
Nếu vẽ histogram của thời gian chờ này, bạn sẽ thấy một cột rất cao gần giá trị 0. Các cột sau đó thấp dần khi thời gian chờ tăng. Không có điểm “cắt” rõ ràng ở phía bên phải. Đây chính là hình ảnh điển hình của phân phối mũ.
Code Python và đồ thị phân phối mũ:
import numpy as np
import matplotlib.pyplot as plt
# Ví dụ: dữ liệu thời gian chờ theo phân phối mũ
samples = np.random.exponential(scale=1.0, size=20000)
plt.hist(samples, bins=50, density=True)
plt.title("Phân phối mũ (Exponential)")
plt.xlabel("Thời gian chờ")
plt.ylabel("Mật độ")
plt.show()

Đặc điểm thấy rõ trên biểu đồ:
- Đỉnh nằm sát bên trái (gần 0)
- Đồ thị giảm dần theo trục x
- Đuôi kéo dài về bên phải
- Rất nhiều giá trị nhỏ, rất ít giá trị lớn
Phân phối Gamma (Gamma distribution)
Phân phối Gamma là dạng phân phối có hình dạng lệch phải, với các giá trị luôn không âm và một chiếc đuôi kéo dài về phía bên phải. So với phân phối mũ, phân phối Gamma linh hoạt hơn vì hình dạng của nó có thể thay đổi tùy theo tham số.
Nếu phân phối mũ mô tả thời gian chờ cho một sự kiện duy nhất, thì phân phối Gamma mô tả tổng thời gian chờ cho nhiều sự kiện liên tiếp. Chính vì vậy, Gamma thường được xem là bước mở rộng tự nhiên của phân phối mũ.
Trong phân phối Gamma, dữ liệu vẫn có nhiều giá trị nhỏ và một số ít giá trị lớn. Tuy nhiên, mức độ lệch có thể nhẹ hoặc mạnh, tùy vào bối cảnh mà nó được dùng để mô hình hóa.
Có thể gặp phân phối Gamma ở đâu?
Phân phối Gamma xuất hiện khá nhiều trong các bài toán liên quan đến thời gian, chi phí và quá trình tích lũy. Điều này đặc biệt đúng khi đại lượng quan tâm là kết quả của nhiều lần chờ cộng lại.
Một ví dụ quen thuộc là tổng thời gian chờ của nhiều request trong một hệ thống. Mỗi request riêng lẻ có thể có thời gian chờ gần giống phân phối mũ. Khi cộng thời gian chờ của nhiều request lại, phân phối của tổng thời gian thường có dạng Gamma.
Trong hệ thống và AI, bạn có thể gặp phân phối Gamma trong:
- thời gian hoàn thành một tác vụ gồm nhiều bước
- thời gian xử lý của pipeline
- tổng độ trễ của một chuỗi dịch vụ
- lượng tài nguyên tiêu thụ trong một khoảng thời gian
Ngoài ra, phân phối Gamma cũng xuất hiện trong các mô hình lưu lượng mạng, nhiễu tích lũy và mô hình hóa cường độ sự kiện.
Dùng phân phối Gamma khi nào?
Bạn nên nghĩ đến phân phối Gamma khi:
- dữ liệu luôn lớn hơn hoặc bằng 0
- có hình dạng lệch phải
- đại lượng quan tâm là tổng của nhiều yếu tố ngẫu nhiên
- phân phối mũ tỏ ra quá đơn giản để mô tả dữ liệu
Phân phối Gamma đặc biệt phù hợp khi sự kiện không xảy ra chỉ một lần, mà cần nhiều bước hoặc nhiều lần chờ mới hoàn thành.
Ví dụ dữ liệu
Hãy tưởng tượng một tác vụ trong hệ thống cần hoàn thành qua nhiều bước liên tiếp. Mỗi bước có thời gian xử lý ngẫu nhiên. Tổng thời gian hoàn thành tác vụ là tổng của tất cả các bước đó.
Nếu vẽ histogram của tổng thời gian hoàn thành qua nhiều lần đo, bạn sẽ thấy dữ liệu tập trung ở một khoảng nhất định. Đồng thời, đồ thị lệch phải rõ rệt và có đuôi kéo dài về phía các giá trị lớn.
Code Python và đồ thị phân phối Gamma
import numpy as np
import matplotlib.pyplot as plt
# Ví dụ: dữ liệu theo phân phối Gamma
samples = np.random.gamma(shape=3.0, scale=1.0, size=20000)
plt.hist(samples, bins=50, density=True)
plt.title("Phân phối Gamma")
plt.xlabel("Giá trị")
plt.ylabel("Mật độ")
plt.show()

Đặc điểm thấy rõ trên biểu đồ:
- Lệch phải
- Giá trị luôn không âm
- Có vùng tập trung rõ ràng
- Đuôi kéo dài về phía bên phải
- Hình dạng thay đổi tùy tham số
Kết luận
Phân phối mũ và phân phối Gamma trong thống kê không chỉ mô tả hình dạng dữ liệu. Chúng phản ánh cách dữ liệu được sinh ra theo thời gian và qua nhiều bước ngẫu nhiên.
Phân phối mũ phù hợp với thời gian chờ cho một sự kiện. Phân phối Gamma phù hợp với tổng thời gian chờ của nhiều sự kiện. Việc phân biệt hai phân phối này giúp bạn chọn mô hình đúng và tránh áp dụng nhầm phân phối chuẩn.
Trong nhiều dữ liệu thực tế, thời gian và chi phí không chỉ được cộng dồn mà còn tăng trưởng theo tỉ lệ. Khi đó, một dạng phân phối lệch phải khác thường xuất hiện. Do đó ngoài phân phối mũ và phân phối Gamma trong thống kê, ở trong bài tiếp theo bạn sẽ được giới thiệu về phân phối log-normal và lý do vì sao nó xuất hiện rất nhiều trong dữ liệu thật.


