1 poin oleh GN⁺ 2025-11-28 | 1 komentar | Bagikan ke WhatsApp
  • Memperkenalkan cara menerapkan Statistical Process Control (SPC) dengan Python untuk memahami variasi kualitas produk dari waktu ke waktu dan kapan intervensi diperlukan
  • Menggunakan pandas, plotnine, dan scipy untuk pemrosesan data, visualisasi, dan perhitungan statistik
  • Menggunakan data pemandian air panas dari Prefektur Kagoshima, Jepang, sebagai contoh untuk menganalisis suhu, pH, dan kandungan sulfur sebagai indikator kontrol kualitas
  • Menggunakan statistik subgrup dan peta kendali (X-bar, S, dan moving range chart) untuk menilai stabilitas proses dan mendeteksi outlier
  • Menyajikan prosedur untuk mendiagnosis kondisi proses secara visual dan mendukung keputusan perbaikan berbasis data

Gambaran umum Statistical Process Control dengan Python

  • Statistical Process Control (SPC) adalah pendekatan statistik untuk mengukur variasi kualitas produk dan menentukan kapan intervensi diperlukan
    • Di Python, plotnine digunakan untuk visualisasi, pandas untuk manipulasi data, dan scipy untuk perhitungan statistik
  • Dalam praktik ini, konsep SPC diterapkan melalui kasus kontrol kualitas air pemandian air panas
    • Suhu, pH, dan kandungan sulfur pada pemandian air panas ditetapkan sebagai indikator kualitas utama

Paket dan fungsi buatan pengguna

  • Paket yang diperlukan: pandas, plotnine, scipy
  • Fungsi buatan pengguna diimpor dari direktori functions/ di repositori GitHub
    • functions_distributions.py: fungsi reliabilitas dan distribusi
    • functions_process_control.py: fungsi untuk kontrol proses
  • Tambahkan direktori fungsi ke path Python dengan sys.path.append('functions'), lalu lakukan import
Iklan

Kasus: kontrol kualitas pemandian air panas di Jepang

  • Pemandian air panas Jepang (onsen) merupakan sumber daya wisata utama bagi ekonomi lokal, dan suhu, pH, serta kandungan sulfur menjadi standar kualitasnya
    • Standar suhu: Extra Hot(>42°C), Hot(41~34°C), Warm(33~25°C)
    • Standar pH: Acidic(pH<3) ~ Alkaline(pH>8.5)
    • Standar sulfur: diklasifikasikan sebagai pemandian sulfur jika kandungan sulfur 1mg/kg atau lebih
  • Data pemandian air panas dari Prefektur Kagoshima dianalisis selama 15 bulan dengan 20 kali sampling setiap bulan untuk melihat variasi kualitas

Memuat data dan statistik dasar

  • Memuat file onsen.csv lalu memeriksa data suhu, pH, dan kandungan sulfur
  • Menghitung rata-rata (mean) dan simpangan baku (sd) dengan fungsi describe()
    • Contoh hasil: rata-rata 44.85°C, simpangan baku 1.99°C
  • Nilai statistik ini menjadi indikator dasar untuk memahami pusat dan variasi proses

Visualisasi gambaran proses

  • Menggunakan plotnine untuk memvisualisasikan distribusi suhu dari waktu ke waktu dengan boxplot dan sebaran titik
    • Garis tengah menunjukkan rata-rata keseluruhan, sehingga distribusi tiap titik waktu bisa dibandingkan
  • Histogram menampilkan distribusi suhu keseluruhan untuk melihat pusat proses dan lebar variasinya
Iklan

Menghitung statistik subgrup

  • Setiap titik waktu (time) dikelompokkan sebagai subgrup untuk menghitung rata-rata(xbar), rentang(r), dan simpangan baku(sd)
    • Contoh: rata-rata grup pertama 44.635°C, rentang 4.2°C
  • Menghitung σₛ (simpangan baku dalam subgrup) dan standard error (se) untuk menetapkan batas atas dan bawah (±3σ)
  • Dengan ini, stabilitas proses dari waktu ke waktu dapat dievaluasi

Statistik proses keseluruhan

  • Semua grup digabungkan untuk menghitung rata-rata total(xbbar), rata-rata rentang(rbar), dan rata-rata simpangan baku(sdbar)
    • Contoh: xbbar 44.85, rbar 7.26, sdbar 1.94
  • Dengan membandingkannya terhadap σₜ (simpangan baku total), variasi di dalam dan antarproses dapat dipahami

Peta kendali (X-bar dan S chart)

  • X-bar chart: menampilkan rata-rata tiap subgrup pada sumbu waktu
    • Garis tengah: rata-rata keseluruhan, batas atas dan bawah: ±3σ
    • Area bayangan menunjukkan rentang batas kendali
    Iklan
  • Jika melewati batas kendali atau muncul pola non-acak, ada kemungkinan anomali proses

Pemeriksaan pembelajaran: visualisasi proses pH

  • Menggunakan fungsi ggprocess() yang sama untuk membuat chart gambaran proses bagi data pH
    • Membandingkan garis rata-rata dan distribusi tiap titik waktu secara visual

Moving range chart (n=1)

  • Jika hanya ada nilai pengukuran individual, gunakan moving range
    • Variabilitas diperkirakan dengan menghitung selisih absolut antar pengukuran berurutan
  • Menghitung rata-rata moving range (mrbar), batas atas (upper), dan batas bawah (lower=0)
  • Moving range chart berguna untuk memantau variasi proses berdasarkan data individual

Kesimpulan

  • Dengan Python, dapat dibuat gambaran proses, statistik subgrup, dan moving range chart
  • Melalui alat SPC, stabilitas proses dan ada tidaknya anomali dapat didiagnosis secara visual
  • Analisis ini dapat dimanfaatkan untuk peningkatan kualitas dan pengambilan keputusan berbasis data

1 komentar

 
GN⁺ 2025-11-28
Komentar Hacker News
  • Ini mengingatkanku pada proyek lama
    Kami berhasil mengganti ribuan detektor anomali deret waktu berbasis deep learning yang kompleks di sebuah perusahaan FANG dengan model kontrol proses statistik (nonparametrik, semiparametrik)
    Model baru memiliki jumlah parameter pelatihan 3–4 digit lebih sedikit, dan cukup sederhana sehingga tim beranggotakan 3–4 orang bisa mengelola ribuan stream
    Model deep learning sulit di-debug dan tidak transparan untuk diinterpretasikan, jadi terlalu sulit dikelola
    Untuk tim kecil, aku masih sangat merekomendasikan pendekatan berbasis statistik
    Hanya saja, karena alasan politik, pilihan seperti ini belum tentu baik untuk karier. Orang-orang yang sudah memasang taruhan besar tidak suka jika muncul bukti yang bertentangan

    • Terima kasih banyak sudah berbagi pengalaman yang sangat keren
      Karena alasan seperti inilah aku skeptis terhadap euforia AI saat ini
      Dalam banyak kasus, metode klasik yang sudah ada jauh lebih stabil dan efisien, jadi aku tidak paham kenapa perusahaan sengaja memilih pendekatan yang rumit dan tidak stabil
    • Peralihan karier pertamaku juga mirip
      Perusahaan membanggakan model ML yang keren untuk konferensi, tetapi operator di lapangan sangat tidak puas karena kurangnya akurasi dan interpretabilitas
      Jadi aku menulis ulang kode berdasarkan aturan matematis sederhana yang benar-benar dipakai operator, dan hasilnya jauh lebih baik
    • Sebagai engineer machine vision di industri semikonduktor, aku sudah banyak melihat hype seputar deep learning dan AI
      Cocok untuk OCR, tetapi kurang efektif untuk tugas klasifikasi
      Sering kali hasil yang lebih baik didapat dengan pencahayaan yang bagus dan fokus pada teknik computer vision tradisional
      Aku juga paham soal masalah politik dalam adopsi teknologi. Karena itu aku biasanya mengusulkan pendekatan hibrida yang menggabungkan deep learning dan vision tradisional
    • Alasan deep learning membingungkan adalah karena jumlah sinyal yang layak dipelajari tidak cukup, sementara jumlah parameternya terlalu banyak
      Sepertinya sebagian besar parameter itu tidak stabil atau saling berkorelasi
    • Aku penasaran apakah kalian juga memakai Matrix Profile. Kalau iya, aku ingin tahu apakah itu juga diganti
  • Dulu aku mengambil sertifikasi Lean Six Sigma Green Belt dan mengerjakan proyek kontrol proses statistik untuk proses back office bank investasi dengan Minitab
    Sekarang rasanya tidak ada lagi yang ingat Minitab. Semua orang cuma pakai Python

    • Aku juga mengambil Six Sigma Green Belt dengan Minitab sekitar tahun 2018
      Sampai sekarang masih terus diperbarui, dan juga punya antarmuka Python → mtbpy package
    • Minitab lama dulu punya toolbox SPC yang benar-benar luar biasa
      Tool open source hanya mendukung sampai x-bar/S/R, dan kurang pada fitur lanjutan seperti analisis multivariat
    • Aku pernah bekerja di perusahaan yang memakai JMP. Sampai sekarang aku masih punya kenangan hangat dari masa itu
    • Yang kuingat cuma perpustakaan kampus kami dulu punya manual Minitab
  • Beberapa tahun lalu aku menulis panduan praktis untuk pemula SPC
    Mungkin bisa jadi referensi → Statistical Process Control: A Practitioner’s Guide

  • Pada dataset kecil seperti data klinis, statistika klasik masih tetap inti utamanya
    Pengumpulan dan penyelarasan metadata itu sulit, dan dalam penelitian penyakit langka sering kali bahkan machine learning atau regresi pun susah diterapkan

  • Data dunia nyata tidak pernah benar-benar bersih
    Sebagian besar waktu habis untuk mengelola kualitas data
    Outlier bisa disebabkan oleh kesalahan pengukuran atau perubahan proses, dan untuk memahaminya dibutuhkan intuisi tentang proses itu sendiri
    Karena itu, alat yang matang dan memungkinkan visualisasi serta eksplorasi cepat sangat penting
    Membuat chart SPC Cpk sendiri dengan kode itu tidak efisien

  • SPC memang alat yang sangat hebat
    Jauh lebih sederhana dan bekerja lebih baik daripada toolkit lain yang lebih rumit

  • Banyak typo

  • Aku sangat suka desain dan nuansa halaman ini