1 điểm bởi GN⁺ 2025-11-28 | 1 bình luận | Chia sẻ qua WhatsApp
  • Giới thiệu cách triển khai kiểm soát quá trình thống kê (SPC) bằng Python để nắm bắt biến động theo thời gian của chất lượng sản phẩm và thời điểm cần can thiệp
  • Sử dụng pandas, plotnine, scipy để thực hiện xử lý dữ liệu, trực quan hóa và tính toán thống kê
  • Dùng dữ liệu suối nước nóng ở tỉnh Kagoshima, Nhật Bản làm ví dụ để phân tích nhiệt độ, pH, hàm lượng lưu huỳnh làm chỉ số kiểm soát chất lượng
  • Thông qua thống kê nhóm con, biểu đồ kiểm soát (X-bar, S, biểu đồ khoảng dao động di chuyển) để đánh giá độ ổn định của quá trình và phát hiện ngoại lệ
  • Trình bày quy trình chẩn đoán trực quan trạng thái quá trình và hỗ trợ quyết định cải tiến dựa trên dữ liệu

Tổng quan về kiểm soát quá trình thống kê bằng Python

  • Kiểm soát quá trình thống kê (SPC) là cách tiếp cận thống kê nhằm đo lường biến động của chất lượng sản phẩm và xác định thời điểm cần can thiệp
    • Trong Python, dùng plotnine để trực quan hóa, pandas để thao tác dữ liệu, scipy để tính toán thống kê
  • Trong phần thực hành, các khái niệm SPC được áp dụng thông qua trường hợp quản lý chất lượng nước suối nóng
    • Nhiệt độ, pH, hàm lượng lưu huỳnh của suối nóng được chọn làm các chỉ số chất lượng chính

Gói thư viện và hàm do người dùng định nghĩa

  • Các gói cần thiết: pandas, plotnine, scipy
  • Các hàm do người dùng định nghĩa được lấy từ thư mục functions/ trong kho GitHub
    • functions_distributions.py: hàm về độ tin cậy và phân phối
    • functions_process_control.py: hàm phục vụ kiểm soát quá trình
  • Thêm thư mục hàm vào đường dẫn Python bằng sys.path.append('functions'), sau đó import

Ví dụ: quản lý chất lượng suối nước nóng ở Nhật Bản

  • Suối nước nóng Nhật Bản (onsen) là tài nguyên du lịch cốt lõi của kinh tế địa phương, và nhiệt độ, pH, hàm lượng lưu huỳnh là các tiêu chuẩn chất lượng
    • Tiêu chuẩn nhiệt độ: Extra Hot(>42°C), Hot(41~34°C), Warm(33~25°C)
    • Tiêu chuẩn pH: Acidic(pH<3) ~ Alkaline(pH>8.5)
    • Tiêu chuẩn lưu huỳnh: được phân loại là suối lưu huỳnh khi từ 1mg/kg trở lên
  • Dữ liệu suối nước nóng của tỉnh Kagoshima được lấy mẫu 20 lần mỗi tháng trong 15 tháng để phân tích biến động chất lượng

Tải dữ liệu và thống kê cơ bản

  • Tải tệp onsen.csv để kiểm tra dữ liệu nhiệt độ, pH, hàm lượng lưu huỳnh
  • Dùng hàm describe() để tính trung bình (mean) và độ lệch chuẩn (sd)
    • Kết quả ví dụ: trung bình 44.85°C, độ lệch chuẩn 1.99°C
  • Các giá trị thống kê này là chỉ số cơ bản để nắm bắt tâm quá trình và mức độ biến động

Trực quan hóa tổng quan quá trình

  • Dùng plotnine để trực quan hóa phân bố nhiệt độ theo thời gian bằng biểu đồ hộp (boxplot) và phân bố điểm
    • Đường trung tâm là giá trị trung bình toàn bộ, cho phép so sánh phân bố theo từng thời điểm
  • Hiển thị phân bố nhiệt độ tổng thể bằng histogram để kiểm tra tâm quá trình và độ rộng biến động

Tính thống kê nhóm con

  • Gom từng thời điểm (time) thành nhóm con để tính trung bình (xbar), khoảng dao động (r), độ lệch chuẩn (sd)
    • Ví dụ: trung bình của nhóm đầu tiên là 44.635°C, khoảng dao động là 4.2°C
  • Tính σₛ (độ lệch chuẩn trong nhóm con)sai số chuẩn (se) để thiết lập giới hạn trên/dưới (±3σ)
  • Qua đó có thể đánh giá độ ổn định theo thời gian của quá trình

Thống kê toàn bộ quá trình

  • Gộp toàn bộ các nhóm để tính trung bình tổng (xbbar), khoảng dao động trung bình (rbar), độ lệch chuẩn trung bình (sdbar)
    • Ví dụ: xbbar 44.85, rbar 7.26, sdbar 1.94
  • So sánh với σₜ (độ lệch chuẩn tổng thể) để nắm được biến động bên trong và giữa các quá trình con

Biểu đồ kiểm soát (X-bar và S)

  • Biểu đồ X-bar: hiển thị trung bình của từng nhóm con theo trục thời gian
    • Đường trung tâm: trung bình tổng thể, giới hạn trên/dưới: ±3σ
    • Vùng tô bóng là phạm vi giới hạn kiểm soát
  • Nếu vượt ra ngoài giới hạn kiểm soát hoặc xuất hiện mẫu hình không ngẫu nhiên, thì có khả năng quá trình đang bất thường

Kiểm tra học tập: trực quan hóa quá trình pH

  • Dùng cùng hàm ggprocess() để tạo biểu đồ tổng quan quá trình cho dữ liệu pH
    • So sánh trực quan đường trung bình và phân bố theo từng thời điểm

Biểu đồ khoảng dao động di chuyển (n=1)

  • Khi chỉ có các giá trị đo riêng lẻ, sử dụng khoảng dao động di chuyển (Moving Range)
    • Tính chênh lệch tuyệt đối giữa các giá trị đo liên tiếp để ước lượng mức độ biến động
  • Tính khoảng dao động di chuyển trung bình (mrbar), giới hạn trên (upper), giới hạn dưới (lower=0)
  • Biểu đồ khoảng dao động di chuyển hữu ích để giám sát biến động quá trình dựa trên dữ liệu cá thể

Kết luận

  • Có thể dùng Python để tạo tổng quan quá trình, thống kê nhóm con, biểu đồ khoảng dao động di chuyển
  • Thông qua các công cụ SPC, có thể chẩn đoán trực quan độ ổn định và dấu hiệu bất thường của quá trình
  • Các phân tích này có thể được dùng cho cải tiến chất lượng và ra quyết định dựa trên dữ liệu

1 bình luận

 
GN⁺ 2025-11-28
Ý kiến trên Hacker News
  • Gợi tôi nhớ đến một dự án trước đây
    Chúng tôi đã thay thế thành công hàng nghìn bộ phát hiện bất thường chuỗi thời gian dựa trên deep learning phức tạp tại một công ty FANG bằng các mô hình kiểm soát quy trình mang tính thống kê (phi tham số, bán tham số)
    Mô hình mới có ít hơn 3–4 bậc độ lớn về số lượng tham số huấn luyện, và đủ đơn giản để một nhóm 3–4 người có thể quản lý hàng nghìn luồng dữ liệu
    Các mô hình deep learning rất khó debug và diễn giải, nên việc vận hành quá vất vả
    Nếu là một nhóm nhỏ, tôi vẫn rất khuyến nghị cách tiếp cận dựa trên thống kê
    Tuy nhiên, vì lý do chính trị nội bộ, lựa chọn này có thể không hẳn tốt cho sự nghiệp. Những người đã đặt cược rất lớn thường không thích khi có bằng chứng ngược lại xuất hiện

    • Cảm ơn vì đã chia sẻ một trải nghiệm thật tuyệt
      Đây cũng là lý do tôi hoài nghi về bầu không khí AI bị thổi phồng hiện nay
      Trong nhiều trường hợp, các phương pháp cổ điển sẵn có ổn định và hiệu quả hơn nhiều, nên tôi không hiểu vì sao các công ty lại cố chọn những cách phức tạp và kém ổn định hơn
    • Bước chuyển nghề nghiệp đầu tiên của tôi cũng tương tự
      Công ty khoe một mô hình ML hào nhoáng để trình diễn ở hội nghị, nhưng những người vận hành thực tế lại rất không hài lòng vì độ chính xác và khả năng diễn giải kém
      Vì vậy tôi đã viết lại mã dựa trên các quy tắc toán học đơn giản mà đội vận hành thực sự dùng, và đạt kết quả tốt hơn nhiều
    • Là một kỹ sư machine vision trong ngành bán dẫn, tôi đã thấy rất nhiều sự thổi phồng quanh deep learning và AI
      Nó hợp với OCR, nhưng hiệu quả kém hơn trong các tác vụ phân loại
      Nếu tập trung vào ánh sáng tốt và các kỹ thuật thị giác máy tính truyền thống, nhiều khi sẽ cho kết quả tốt hơn
      Tôi cũng đồng cảm với vấn đề chính trị trong việc áp dụng công nghệ. Vì thế tôi thường đề xuất cách tiếp cận lai kết hợp deep learning với thị giác máy tính truyền thống
    • Lý do deep learning gây bối rối là vì lượng tín hiệu đủ để học thì không nhiều, trong khi số tham số lại quá lớn
      Có vẻ như phần lớn tham số đều không ổn định hoặc tương quan với nhau
    • Tôi tò mò không biết bạn có dùng thứ gì như Matrix Profile không. Nếu có thì liệu bạn cũng đã thay thế nó chứ?
  • Trước đây tôi từng lấy chứng chỉ Lean Six Sigma Green Belt và làm một dự án kiểm soát quy trình bằng thống kê cho quy trình back office của ngân hàng đầu tư bằng Minitab
    Giờ có vẻ chẳng ai còn nhớ đến Minitab nữa. Ai cũng chỉ dùng Python

    • Tôi cũng lấy Six Sigma Green Belt bằng Minitab vào khoảng năm 2018
      Nó vẫn đang được cập nhật, và còn có cả giao diện Python → gói mtbpy
    • Minitab ngày xưa có bộ công cụ SPC thực sự xuất sắc
      Các công cụ mã nguồn mở chỉ hỗ trợ đến x-bar/S/R, còn thiếu những tính năng nâng cao như phân tích đa biến
    • Tôi từng làm ở một công ty dùng JMP. Đến giờ tôi vẫn còn những ký ức ấm áp về thời đó
    • Tôi chỉ nhớ là thư viện trường đại học của chúng tôi từng có sách hướng dẫn Minitab
  • Vài năm trước tôi đã viết một hướng dẫn thực hành cho người mới bắt đầu với SPC
    Có thể hữu ích để tham khảo → Statistical Process Control: A Practitioner’s Guide

  • Với các bộ dữ liệu nhỏ như dữ liệu lâm sàng, thống kê cổ điển vẫn là cốt lõi
    Việc thu thập và đồng bộ metadata rất khó, và trong nghiên cứu bệnh hiếm, nhiều khi ngay cả machine learning hay hồi quy cũng khó áp dụng

  • Dữ liệu ngoài đời thực không bao giờ sạch cả
    Phần lớn thời gian được dùng cho quản lý chất lượng dữ liệu
    Giá trị ngoại lai có thể do lỗi đo lường hoặc thay đổi trong quy trình, và để hiểu điều đó thì cần trực giác về chính quy trình ấy
    Vì thế, các công cụ trưởng thành cho phép trực quan hóa và khám phá nhanh là rất quan trọng
    Tự viết code để tạo biểu đồ SPC Cpk là không hiệu quả

  • SPC thực sự là một công cụ tuyệt vời
    Nó đơn giản hơn nhiều và hoạt động tốt hơn so với các bộ công cụ phức tạp khác

  • Có khá nhiều lỗi chính tả

  • Tôi thực sự thích thiết kế và không khí của trang này