%%{init: {'theme': 'base', 'themeVariables': {'primaryColor':'#2C3E50','primaryTextColor':'#fff','primaryBorderColor':'#16A085','lineColor':'#16A085','secondaryColor':'#E67E22','tertiaryColor':'#7F8C8D','background':'#ffffff','mainBkg':'#2C3E50','secondaryBkg':'#16A085','tertiaryBkg':'#E67E22','textColor':'#2C3E50','fontSize':'16px'}}}%%
graph TB
subgraph Point["Point Anomaly"]
P1[Normal: 20-25C]
P2[Normal: 22C]
P3[ANOMALY: -40C]
P4[Normal: 23C]
P1 --> P2 --> P3 --> P4
style P3 fill:#E67E22,stroke:#E67E22,stroke-width:3px
end
subgraph Contextual["Contextual Anomaly"]
C1[80C in Oven<br/>Normal]
C2[80C in Fridge<br/>ANOMALY]
style C2 fill:#E67E22,stroke:#E67E22,stroke-width:3px
end
subgraph Collective["Collective Anomaly"]
S1[Sensor 1: 0.8 mm/s]
S2[Sensor 2: 1.0 mm/s]
S3[Sensor 3: 0.7 mm/s]
S4[Sensor 4: 1.2 mm/s]
Pattern[Pattern: Increasing variance<br/>ANOMALY]
S1 --> Pattern
S2 --> Pattern
S3 --> Pattern
S4 --> Pattern
style Pattern fill:#E67E22,stroke:#E67E22,stroke-width:3px
end
style Point fill:#2C3E50,color:#fff
style Contextual fill:#2C3E50,color:#fff
style Collective fill:#2C3E50,color:#fff
1358 Types of Anomalies in IoT Systems
1358.1 Learning Objectives
By the end of this chapter, you will be able to:
- Classify Anomaly Types: Distinguish between point, contextual, and collective anomalies in IoT sensor data streams
- Identify Detection Requirements: Match anomaly types to appropriate detection methods and deployment locations
- Evaluate Detection Trade-offs: Balance detection sensitivity, latency, and resource requirements for each anomaly type
Core Concept: Not all anomalies are created equal. Point anomalies are single outliers, contextual anomalies depend on when/where they occur, and collective anomalies emerge from patterns across multiple readings or sensors.
Why It Matters: Choosing the wrong detection method for your anomaly type wastes resources and misses critical events. A motor vibration pattern anomaly (collective) wonβt be caught by simple threshold checks designed for point anomalies.
Key Takeaway: Identify your anomaly type first, then select detection methods. Point anomalies use Z-score/IQR, contextual use ARIMA/rules, collective use LSTM/autoencoders.
1358.2 Prerequisites
Before diving into this chapter, you should be familiar with:
- Anomaly Detection Overview: Understanding why anomaly detection matters for IoT and the fundamental challenges of finding rare events in massive data streams
This chapter covers the first step in any anomaly detection project: understanding what types of anomalies youβre looking for. Subsequent chapters cover the methods:
- Statistical Methods: Techniques for detecting point anomalies
- Time-Series Methods: Techniques for contextual anomalies
- Machine Learning: Advanced methods for collective anomalies
1358.3 Introduction
Understanding anomaly types is essential for selecting the right detection method. IoT systems encounter three fundamental anomaly categories, each requiring different detection approaches and computational resources.
1358.4 Point Anomalies
Definition: A single data point is anomalous relative to the rest of the dataset.
Characteristics: - Individual measurement significantly deviates from normal range - Most common and easiest to detect - Can be detected using simple statistical methods
IoT Examples:
| Sensor Type | Normal Range | Point Anomaly | Likely Cause |
|---|---|---|---|
| Temperature | 18-24C | -40C | Sensor malfunction |
| Humidity | 30-60% RH | 105% RH | Water damage to sensor |
| Pressure | 980-1030 hPa | 0 hPa | Disconnected sensor |
| Current | 5-12 A | 85 A | Short circuit |
Detection Approach: Statistical outlier detection (Z-score, IQR)
1358.5 Contextual Anomalies
Definition: A data point is anomalous only in a specific context (time, location, or related sensor values).
Characteristics: - Value is normal in isolation but anomalous given context - Requires understanding of temporal patterns or sensor relationships - Harder to detect than point anomalies
IoT Examples:
Example 1: Temperature Context
- Value: 80C
- Context 1 (Oven): Normal operating temperature
- Context 2 (Refrigerator): ANOMALY - Cooling system failure
Example 2: Time Context
- Value: High power consumption
- Context 1 (2 PM, weekday): Normal business hours
- Context 2 (3 AM, Sunday): ANOMALY - Equipment left on or intrusion
Example 3: Location Context
- Value: 95% humidity
- Context 1 (Greenhouse sensor): Normal for plant growth
- Context 2 (Server room sensor): ANOMALY - Condensation risk
Detection Approach: Time-series models (ARIMA, LSTM) or conditional anomaly detection
1358.6 Collective Anomalies
Definition: A collection of related data points is anomalous, even if individual points appear normal.
Characteristics: - Pattern or sequence is unusual, not individual values - Requires analyzing windows of data or correlations across sensors - Most complex to detect but often most meaningful
IoT Examples:
Vibration Pattern Anomaly:
Motor vibration readings (mm/s):
Normal sequence: [0.8, 0.9, 0.8, 0.9, 0.8, ...] (steady oscillation)
Anomalous sequence: [0.8, 1.1, 0.7, 1.3, 0.6, ...] (increasing variance)
Individual values all within 0.6-1.3 range (normal)
But pattern shows increasing instability - ANOMALY
Multi-Sensor Network Anomaly:
Smart building with 50 temperature sensors:
- Individual readings: All within 20-24C (normal)
- Pattern: All sensors rising by 0.5C/hour simultaneously - ANOMALY
(Indicates HVAC system failure, not 50 individual sensor faults)
Detection Approach: Sequence modeling (LSTM, Hidden Markov Models) or multi-variate anomaly detection
1358.7 Comparison of Anomaly Types
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
flowchart TB
subgraph Point["Point Anomaly"]
direction TB
P1[Detection: Single value outlier]
P2[Difficulty: Easy]
P3[Latency: Milliseconds]
P4[Methods: Z-score, IQR]
P5[Example: Sensor spike -40C]
end
subgraph Context["Contextual Anomaly"]
direction TB
C1[Detection: Value + context]
C2[Difficulty: Medium]
C3[Latency: Seconds]
C4[Methods: ARIMA, Rules]
C5[Example: High power at 3AM]
end
subgraph Collect["Collective Anomaly"]
direction TB
CO1[Detection: Pattern across data]
CO2[Difficulty: Hard]
CO3[Latency: Minutes]
CO4[Methods: LSTM, Autoencoders]
CO5[Example: Vibration variance increase]
end
subgraph Edge["Where to Detect"]
E1[Edge: Point anomalies<br/>Immediate response]
E2[Fog: Contextual anomalies<br/>Cross-sensor correlation]
E3[Cloud: Collective anomalies<br/>ML model inference]
end
Point --> E1
Context --> E2
Collect --> E3
style Point fill:#16A085,color:#fff
style Context fill:#E67E22,color:#fff
style Collect fill:#2C3E50,color:#fff
style Edge fill:#7F8C8D,color:#fff
1358.8 Detection Method Selection
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#fff'}}}%%
flowchart TD
START{Anomaly<br/>Type?} --> POINT[Point Anomaly]
START --> CONTEXT[Contextual Anomaly]
START --> COLLECT[Collective Anomaly]
POINT --> P_Q{Data<br/>distribution?}
P_Q -->|Gaussian| ZSCORE[Z-Score<br/>Fast, simple]
P_Q -->|Any distribution| IQR[IQR Method<br/>Robust to outliers]
P_Q -->|Unknown| ISO[Isolation Forest<br/>No assumptions]
CONTEXT --> C_Q{Context<br/>type?}
C_Q -->|Temporal| ARIMA[ARIMA/ETS<br/>Time-series models]
C_Q -->|Spatial| CLUSTER[Clustering<br/>Geographic context]
C_Q -->|Multi-sensor| CORR[Correlation<br/>Cross-sensor analysis]
COLLECT --> COL_Q{Sequence<br/>length?}
COL_Q -->|Short patterns| DTW[Dynamic Time Warping<br/>Pattern matching]
COL_Q -->|Long sequences| LSTM[LSTM Autoencoder<br/>Sequence learning]
COL_Q -->|Multi-variate| VAE[Variational AE<br/>Complex patterns]
style START fill:#2C3E50,stroke:#16A085,color:#fff
style ZSCORE fill:#16A085,stroke:#2C3E50,color:#fff
style IQR fill:#16A085,stroke:#2C3E50,color:#fff
style ISO fill:#16A085,stroke:#2C3E50,color:#fff
style ARIMA fill:#E67E22,stroke:#2C3E50,color:#fff
style CLUSTER fill:#E67E22,stroke:#2C3E50,color:#fff
style CORR fill:#E67E22,stroke:#2C3E50,color:#fff
style DTW fill:#7F8C8D,stroke:#2C3E50,color:#fff
style LSTM fill:#7F8C8D,stroke:#2C3E50,color:#fff
style VAE fill:#7F8C8D,stroke:#2C3E50,color:#fff
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'primaryTextColor': '#2C3E50', 'primaryBorderColor': '#16A085'}}}%%
quadrantChart
title Detection Strategy by Domain Criticality
x-axis Low False Negative Cost --> High False Negative Cost
y-axis Low False Positive Cost --> High False Positive Cost
quadrant-1 "Conservative: High thresholds, ML ensemble"
quadrant-2 "Aggressive: Low thresholds, immediate alerts"
quadrant-3 "Relaxed: Simple rules, batch review"
quadrant-4 "Balanced: Adaptive thresholds, tiered alerts"
"Nuclear Safety": [0.95, 0.15]
"Medical ICU": [0.90, 0.25]
"Industrial": [0.75, 0.40]
"Smart Home": [0.30, 0.80]
"Consumer IoT": [0.20, 0.70]
"Logistics": [0.55, 0.50]
"HVAC": [0.40, 0.55]
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#fff'}}}%%
sequenceDiagram
participant S as Sensor
participant E as Edge Device
participant F as Fog Layer
participant C as Cloud
participant O as Operator
Note over S,O: Fast Path - Point Anomaly Detection
S->>E: Raw reading: 85C
E->>E: Z-Score check: |Z|=4.2 > 3
E->>O: ALERT: Point anomaly (5ms)
Note over S,O: Medium Path - Contextual Detection
S->>E: Reading sequence
E->>F: Window of 100 readings
F->>F: ARIMA forecast vs actual
F->>O: ALERT: Contextual anomaly (500ms)
Note over S,O: Deep Path - Collective Detection
S->>E: Continuous stream
E->>F: Aggregated features
F->>C: Multi-sensor correlation
C->>C: LSTM autoencoder
C->>O: ALERT: Collective pattern (5s)
1358.9 Knowledge Check
1358.10 Summary
Understanding anomaly types is the essential first step in designing effective detection systems:
- Point Anomalies: Single outliers detected with statistical methods (Z-score, IQR) at the edge
- Contextual Anomalies: Context-dependent deviations requiring time-series or rule-based methods at the fog layer
- Collective Anomalies: Pattern-based anomalies needing ML approaches (LSTM, autoencoders) in the cloud
Key Takeaway: Match your anomaly type to the appropriate detection method and deployment location. Using the wrong approach wastes resources and misses critical events.
1358.11 Whatβs Next
Now that you understand anomaly types, learn the specific detection methods:
- Statistical Methods: Z-score, IQR, and adaptive thresholds for point anomaly detection
- Time-Series Methods: ARIMA, exponential smoothing, and STL for contextual anomalies
- Machine Learning Approaches: Isolation Forest, autoencoders, and LSTM for collective anomalies