⭐ Gmean – Phương pháp lọc ngoại lai mới dựa trên mật độ phân phối

— Mục tiêu: lọc nhiễu và spike dựa trên mật độ, không chỉ dựa vào vị trí hay 2σ —

📌 1. Bài toán: khi Trimmed Mean và Three‑Sigma chưa đủ

Trong xử lý dữ liệu cảm biến, chúng ta thường gặp hai loại nhiễu:

  • Nhiễu nhẹ: vài giá trị lạc lõng, không theo cụm chính
  • Spike mạnh: giá trị đột biến, cách xa hoàn toàn vùng hoạt động

Một số phương pháp kinh điển:

  • Trimmed Mean 10%: cắt 10% nhỏ nhất và 10% lớn nhất → tổng cộng 20% dữ liệu
  • Three‑Sigma (2σ): giữ dữ liệu trong khoảng [μ − 2σ, μ + 2σ]

Tuy nhiên, chúng có hạn chế:

  • Trimmed Mean 10% chỉ cắt ở hai đầu, không cắt được ngoại lai nằm giữa.
  • Three‑Sigma dễ bị σ phình to khi có spike lớn, dẫn đến không lọc được spike.

Để khắc phục, ta cần một phương pháp lọc mới, vẫn đơn giản, nhưng “thông minh” hơn: Gmean.

📌 2. Gmean là gì?

Gmean (Grouped Mean Filtering) là một phương pháp lọc ngoại lai dựa trên mật độ phân phối, thay vì dựa vào thứ tự (như Trimmed Mean) hoặc độ lệch chuẩn (như Three‑Sigma).

Trực giác:

Ngoại lai không chỉ nằm ở hai đầu dữ liệu. Ngoại lai nằm ở những vùng thưa thớt của phân phối.Gmean cắt theo mật độ, không cắt theo vị trí.

📌 3. Cách Gmean hoạt động

3.1. Bước 1 – Chia dữ liệu thành 10 nhóm

  • B1: Tìm giá trị nhỏ nhất (min) và lớn nhất (max)
  • B2: Chia đoạn [min, max] thành 10 khoảng bằng nhau
  • B3: Mỗi khoảng là một nhóm (bin); mỗi mẫu dữ liệu rơi vào đúng một nhóm

Kết quả: thay vì nhìn dữ liệu từng điểm, ta nhìn dữ liệu như một phân phối gồm 10 nhóm, nhóm nào dày, nhóm nào thưa.

3.2. Bước 2 – Xác định nhóm “đủ dày” và nhóm “thưa thớt”

Nếu có N mẫu và 10 nhóm, thì quân số trung bình mỗi nhóm là N/10.

Gmean đặt ngưỡng:

  • Quân số trung bình: avgCount = N / 10
  • Ngưỡng cắt: threshold = 20% * avgCount, thường làm tròn lên số nguyên

Quy tắc: nhóm nào có số mẫu ≤ threshold được coi là nhóm thưa và bị loại bỏ.

Ví dụ:

  • N = 100 → trung bình = 10 mẫu/nhóm
  • 20% của 10 = 2 → nhóm có 0, 1, 2 mẫu bị loại
  • Nhóm có từ 3 mẫu trở lên được giữ lại

3.3. Bước 3 – Tính trung bình trên các nhóm còn lại

Sau khi loại các nhóm thưa, ta chỉ còn các nhóm “đủ dày”, đại diện cho cụm dữ liệu chính.

Gmean lúc này là trung bình cộng của toàn bộ các mẫu nằm trong những nhóm đủ dày đó.

Kết quả: mean không bị kéo lệch bởi các vùng thưa thớt (nhiễu, spike), mà bám sát vùng dữ liệu chính.

📌 4. Tại sao Gmean là mở rộng tự nhiên của Trimmed Mean 10%?

Trimmed Mean 10% làm việc rất đơn giản:

  • Sắp xếp dữ liệu
  • Cắt 10% nhỏ nhất và 10% lớn nhất
  • Tính mean trên phần còn lại (80% dữ liệu)

Điểm yếu: phương pháp này chỉ cắt ở hai đầu. Nếu dữ liệu có ngoại lai nằm giữa (một cụm spike giữa dải giá trị), Trimmed Mean không nhìn thấy nó.

Gmean giữ lại tinh thần “cắt 20% dữ liệu nhiễu”, nhưng thay đổi tiêu chí:

  • Trimmed Mean: cắt 20% theo vị trí (2 đầu)
  • Gmean: cắt khoảng 20% theo mật độ (nhóm nào thưa thì cắt, bất kể nằm ở đâu)

Vì vậy có thể xem Gmean là một mở rộng thông minh của Trimmed Mean 10%: không chỉ cắt biên, mà cắt mọi vùng thưa thớt trong phân phối.

📌 5. Ví dụ trực quan

Giả sử ta có dữ liệu cảm biến như sau:

0.5 … 12.1    (cụm chính, dữ liệu “đẹp”)
25, 37        (nhiễu nhẹ, lạc lõng)
48–52         (một cụm spike nhỏ)
80            (spike mạnh, rất xa)

Nếu tính:

  • Mean thường: bị kéo lên khá mạnh
  • Trimmed Mean 10%: cắt 2 đầu nhưng vẫn giữ vài giá trị nhiễu
  • Three‑Sigma (2σ): sigma bị spike kéo phình, khoảng lọc quá rộng, không loại hết spike
  • Gmean: loại các nhóm thưa (25, 37, 80, các điểm lẻ), giữ lại vùng dày nhất → mean nằm gần cụm 0–12 hơn, phản ánh đúng vùng hoạt động

Điểm thú vị: bằng mắt thường ta khó cảm nhận được cấu trúc “dày – thưa” này, nhưng khi chia nhóm và đếm mật độ, Gmean làm lộ rõ cấu trúc phân phối và cắt đúng chỗ.

📌 6. Ưu điểm và hạn chế của Gmean

Ưu điểm:

  • Không cần giả định phân phối chuẩn: không dựa vào σ, không bị spike lớn phá hỏng.
  • Cắt ngoại lai ở bất kỳ vị trí nào: không chỉ cắt hai đầu như Trimmed Mean.
  • Tự động thích ứng với dữ liệu: vùng nào dày thì giữ, vùng nào thưa thì loại.
  • Tính toán đơn giản: chỉ cần đếm nhóm và cộng lại, phù hợp cho vi điều khiển và IoT.

Hạn chế:

  • Nếu số mẫu quá ít (ví dụ dưới 20), chia thành 10 nhóm có thể không ổn.
  • Nếu dữ liệu có hai cụm lớn thật sự (cả hai đều quan trọng), Gmean có thể giữ cả hai vì chúng đều “đủ dày”.

💡 7. Kết luận

Gmean là một phương pháp lọc ngoại lai mới, dựa trên nguyên tắc:

Ngoại lai là những vùng thưa thớt của phân phối,không chỉ là các giá trị lớn nhất hay nhỏ nhất.

Nó:

  • Mở rộng tự nhiên từ Trimmed Mean 10%
  • Ổn định hơn Three‑Sigma trong dữ liệu có spike
  • Đơn giản, dễ triển khai, phù hợp cho hệ thống cảm biến và IoT

Nếu bạn đang cần một bộ lọc vừa nhẹ, vừa “có não”, vừa chống được spike, thì Gmean là một ứng viên rất đáng để thử nghiệm và đưa vào sản phẩm.

Bình luận về bài viết này