IoT anomali tespiti, normal davranışla uyuşmayan sensör okumalarını veya örüntüleri, harekete geçmek için yeterince erken ve otomatik olarak fark etmek anlamına gelir. Bu rehber, başlıca dedektör ailelerini karşılaştırıyor, her birinin MQTT broker'ınıza göre nerede çalışması gerektiğini gösteriyor ve dashboard'ların ve insanların güvenebileceği anomali olaylarını yayınlamak için bir referans mimari sunuyor.
IoT Verisinde Anomali Sayılan Nedir
Tüm anomaliler aynı görünmez ve sizi ilgilendiren tür, yöntemi belirler.
- Nokta anomalileri. Normal aralığın çok dışında tek bir okuma: hiçbir zaman 80'i geçmeyen bir sensörde 140 derecelik bir sıcaklık.
- Bağlamsal anomaliler. Bir bağlamda normal, başka bir bağlamda anormal olan bir değer: 30 derece yaz öğle saatinde sorun değildir, ancak bir soğuk odada gece saat 3'te şüphelidir.
- Kolektif anomaliler. Zaman içindeki bir örüntü: her örnekte sınırlar içinde kalan ama spektrumu yavaş yavaş bir rulman arıza frekansına doğru kayan titreşim.
- Çok değişkenli anomaliler. Her sinyal tek başına normaldir ama birleşim değildir: yüksek motor akımı ile düşük debi tıkanmış bir pompaya işaret eder.
Bir de prosesle hiç ilgisi olmayan bir kategori vardır: düz bir çizgiye dönmüş sensör, takılı kalmış bir değer, ani bir birim değişikliği veya sırası bozuk gelen zaman damgaları gibi veri kalitesi anomalileri. Pratikte bunlar en yaygın uyarılar arasındadır ve önce bunları yakalamak, proses dedektörlerinizin yanlış alarm üretmesini önler.
IoT Anomali Tespiti Yöntem Aileleri
| Aile | Örnekler | Uygun olduğu durum | Eğitim verisi gerekir mi | Mikrodenetleyicide çalışır mı |
|---|---|---|---|---|
| Kurallar ve eşikler | Sabit sınırlar, değişim hızı sınırları | Bilinen arıza modları, güvenlik sınırları | Hayır | Evet |
| İstatistiksel | Z-skoru, IQR, EWMA, kayan pencereler | Kararlı bir referansa sahip tekil sinyaller | Kısa bir geçmiş | Evet |
| Klasik makine öğrenmesi | Isolation Forest, One-Class SVM, Local Outlier Factor | Çok değişkenli tablo özellikleri | Etiketsiz normal veri | Bazen |
| Derin öğrenme | Autoencoder'lar, LSTM veya 1D-CNN tahmin modelleri | Dalga formları, spektrumlar, karmaşık zaman örüntüleri | Büyük bir normal veri seti | Yalnızca küçük modeller |
| Tahmin artığı | Mevsimsel modeller, gradient boosting tahminleri | Enerji yükü gibi mevsimsel sinyaller | Mevsimleri içeren geçmiş | Nadiren |
İstatistiksel Dedektörler
Buradan başlayın. Kayan bir ortalama ve standart sapma ya da bir medyan ve çeyrekler açıklığı, neredeyse hiç mühendislik gerektirmeden gerçek sorunların şaşırtıcı bir kısmını yakalar. EWMA (üstel ağırlıklı hareketli ortalama), pencere saklamadan yavaş kaymaya uyum sağlar. Bu yöntemler açıklanabilir, ucuz ve ayarlaması kolaydır. Ayrıntılar ve kod, Z-skoru, IQR ve EWMA ile sensör verisinde aykırı değer tespiti yazısında.
Makine Öğrenmesi Dedektörleri
Anomaliler sinyaller arasındaki ilişkide saklanıyorsa, normal çalışma üzerinde denetimsiz bir model eğitin. Isolation Forest pratik bir varsayılan seçimdir: hızlı eğitilir, ilgisiz özelliklere karşı dayanıklıdır ve etiket gerektirmez. Pencere başına özellikler (her sinyal için ortalama, RMS, tepe, eğim) çıkarırsınız ve model her pencerenin ne kadar yalıtılmış olduğunu puanlar. Eksiksiz bir anlatım sensör verisi için Isolation Forest yazısında.
Derin Öğrenme Dedektörleri
Titreşim ve ses gibi ham dalga formları için autoencoder'lar normal örüntüleri yeniden oluşturmayı öğrenir; yüksek bir yeniden oluşturma hatası yeni bir şeye işaret eder. Daha fazla veri ve hesaplama gücü gerektirirler ve açıklanmaları daha zordur; bu yüzden onları daha basit özellikler gerçekten yetersiz kaldığında kullanın. Makine sesi iyi bir örnektir ve makineler için ses tabanlı anomali tespiti yazısında ele alınıyor.
Dedektörler Broker'a Göre Nerede Çalışır
MQTT size temiz bir ayrım sunar: cihazlar veri yayınlar, dedektörler abone olur ve dedektörler sonuçları yeni mesajlar olarak geri yayınlar. MQTT broker ortada durur ve hiçbir dedektörün ne yaptığını bilmesi gerekmez. Bu da üç yerleşim seçeneği bırakır.
Cihazda
Eşikleri, değişim hızı kontrollerini ve küçük modelleri doğrudan sensör düğümünde çalıştırın. Faydaları: anında tepki, bağlantıya bağımlılık olmaması ve ham yüksek hızlı veri yerine yalnızca özetler ile anomali olaylarını gönderebilmek. Sınırları: küçük modeller, daha zor güncellemeler ve cihazlar arası bağlamın olmaması.
Uç Gateway'de
Bir gateway veya endüstriyel PC yerel makinelere abone olur, Isolation Forest veya autoencoder'lar gibi daha ağır modelleri çalıştırır ve skorları yayınlar. Bu, tek bir makine veya hat içindeki çok değişkenli tespit için ideal noktadır ve yüksek frekanslı veriyi sahada tutar.
Bulutta
Bir bulut servisi aynı anda birçok sahaya abone olur. Fabrikalar arasında benzer makineleri karşılaştırabilir, maliyetli modeller çalıştırabilir ve proses verisini iş bağlamıyla birleştirebilir. Gecikme daha yüksektir ve dış bağlantıya bağımlıdır; bu yüzden güvenlikle ilgili hiçbir şey için doğru yer değildir.
Gerçek sistemlerin çoğu üçünü birleştirir: cihazda sınırlar, uçta ML, bulutta filo karşılaştırmaları; hepsi topic'ler aracılığıyla iletişim kurar.
Referans Topic Mimarisi
connectmq/site1/area2/line1/pump3/telemetry raw or aggregated readings
connectmq/site1/area2/line1/pump3/anomaly detector output per asset
connectmq/site1/alerts confirmed alerts for people
connectmq/site1/area2/line1/pump3/detector/status retained: model, version, health
Bir dedektör çıktı mesajı kendini açıklamalıdır:
{
"ts": "2026-10-16T09:12:30Z",
"asset": "pump3",
"detector": "iforest-v3",
"score": 0.71,
"threshold": 0.62,
"isAnomaly": true,
"features": {"currentA": 18.4, "flowLpm": 41.0},
"reason": "high current with low flow"
}
Eşiği, dedektör sürümünü ve en çok katkıda bulunan özellikleri eklemek, anlaşılmaz bir kırmızı ışığı bir teknisyenin kontrol edebileceği bir şeye dönüştürür.
Minimal Bir Dedektör Döngüsü
Herhangi bir akış dedektörünün kalbi birkaç satıra sığar. Bu kayan z-skoru puanlayıcısı, kapsamlı Python ile gerçek zamanlı anomali tespiti eğitiminin eksiksiz bir MQTT servisine genişlettiği kalıptır:
from collections import deque
import statistics
window = deque(maxlen=120)
def score(value, k=3.5):
if len(window) < 30:
window.append(value)
return None
mean = statistics.fmean(window)
std = statistics.pstdev(window) or 1e-9
z = (value - mean) / std
if abs(z) < k:
window.append(value) # yalnızca normal değerlerden öğren
return z
Son ayrıntıya dikkat edin: anormal değerler referansa eklenmez; böylece uzun süren bir arıza yavaş yavaş yeni normal hâline gelmez.
Yanlış Alarmları Azaltmak
Yanlış alarmlar anomali tespiti projelerini kaçırılan tespitlerden daha hızlı öldürür, çünkü operatörler bakmayı bırakır. Yardımcı olacak bir kontrol listesi:
- Önce veri kalitesini filtreleyin. Takılı kalmış, eksik ve aralık dışı değerleri proses anomalilerinden ayrı olarak işaretleyin.
- Bağlamı kullanın. Bir durum (state) topic'inden tespit edebileceğiniz devreye alma, temizlik ve ürün değişimi sırasındaki okumaları yok sayın.
- Süreklilik arayın. Tek bir örnekte değil, yalnızca M pencereden N'i anormal olduğunda uyarı üretin.
- Histerezis ekleyin. Gidip gelmeyi (flapping) önlemek için uyarıyı, onu tetikleyen eşikten daha düşük bir eşikte temizleyin.
- Skoru uyarıdan ayırın. Ham skorları sürekli yayınlayın ve uyarı kararını ayarlayabileceğiniz ayrı bir adımda verin.
- Haftalık gözden geçirin. Her uyarıyı faydalı ya da gürültü olarak işaretleyin ve eşikleri bu kayda göre ayarlayın.
- Dedektörleri sürümleyin. Bir değişikliğin öncesini ve sonrasını karşılaştırabilmek için her mesaja dedektör sürümünü koyun.
Mesajlaşma Katmanını Çalıştırmak
Dedektörler, dashboard'lar, historian'lar ve uyarı araçlarının hepsi aynı broker'a bağlıdır; bu yüzden broker'ın güvenilirliği önemlidir. Denemeler için ConnectMQ'nun broker.connectmq.com adresinde işlettiği ücretsiz genel MQTT broker, bir simülatörü, bir dedektörü ve bir dashboard'u dakikalar içinde birbirine bağlamak için yeterlidir. Gerçek fabrika verisi için cihaz başına kimlik bilgilerine sahip, TLS ile korunan özel bir bulut MQTT broker istersiniz.
ConnectMQ tam olarak bu katmanı sağlar: TLS ve güvenli WebSocket üzerinde MQTT 3.1.1 ve 5.0, ISA-95 seviyelerine göre düzenlenmiş bir cihaz görünümü, skorları gerçek zamanlı izlemek için canlı topic gezgini ve basit sayısal sınırlar için uyarı günlüğüyle birlikte eşik tabanlı uyarı kuralları. Tespit modellerinin kendisi sizin servislerinizde çalışır; bu da istediğiniz kütüphaneyi kullanma özgürlüğünüzü korur.
Anomali tespitinin tahminleme, bilgisayarlı görü ve LLM asistanlarıyla nasıl bir araya geldiğini öğrenmek için yapay zeka ve IoT rehberini okuyun.
Anomali Hattınızı ConnectMQ Üzerinde Kurun
app.connectmq.com adresinde ücretsiz Serverless planında kredi kartı gerektirmeden bir broker oluşturun, simüle edilmiş okumalar yayınlayın ve skorları geri yayınlayan bir dedektör çalıştırın. Dakikalar içinde ham değerleri ve anomali olaylarını topic gezgininde yan yana göreceksiniz.
Sık Sorulan Sorular
Hangi anomali tespiti yöntemiyle başlamalıyım?
Her önemli sinyalde eşikler ve kayan bir z-skoru veya EWMA ile başlayın. Isolation Forest'a veya autoencoder'lara yalnızca anomalilerin sinyaller arasındaki ilişkilerde ya da dalga formu şekillerinde saklandığına dair kanıtınız olduğunda geçin.
Etiketli arıza verisine ihtiyacım var mı?
Hayır. IoT anomali tespitinin çoğu denetimsizdir: modeller normal davranışı öğrenir ve sapmaları işaretler. Etiketler daha sonra uyarıları değerlendirmek ve ayarlamak için değer kazanır.
Anomali tespiti uçta mı yoksa bulutta mı çalışmalı?
Hızlı ve güvenlikle ilgili kontrolleri cihazda veya uçta, filo genelindeki karşılaştırmaları ise bulutta çalıştırın. MQTT, cihazları değiştirmeden bir dedektörü konumlar arasında taşımanıza olanak tanır.
Anomali sonuçlarını nasıl yayınlarım?
Her varlık için skoru, eşiği, dedektör sürümünü ve katkıda bulunan özellikleri içeren bir JSON mesajını ayrı bir anomali topic'inde yayınlayın. İnsanlara yönelik onaylanmış uyarıları ayrı bir topic'te tutun.



