DEV Community

Mujahida Joynab
Mujahida Joynab

Posted on

A Complete Guide to Evidence Fusion and Risk Assessment Using Sequential Combination

Introduction

In decision-making systems, particularly in risk assessment and analysis, we often face the challenge of combining multiple pieces of evidence into a unified perspective. This blog explores an elegant sequential combination method for fusing evidence values (like 100, 1000, or any number of inputs) to determine risk probabilities across multiple categories—from "Very Very Low" to "Very Very High" risk.

The Core Methodology: Sequential Evidence Fusion

The Sequential Combination Formula

The heart of our approach lies in sequentially combining evidence using a weighted fusion method:

  1. Start with the first two evidence values (m₁ and m₂)
  2. Combine them into a single value (C₁)
  3. Take this combined value and fuse it with the third evidence (m₃) to get C₂
  4. Continue this process: Cₙ = fuse(Cₙ₋₁, mₙ₊₁)
  5. Repeat until all evidence is incorporated

This incremental approach allows the system to naturally weigh evidence as it accumulates, creating a dynamic assessment that evolves with each new piece of information.

Mathematical Foundation

The combination formula typically follows a pattern that might look like:

C_k = α·C_{k-1} + β·m_k + γ·(C_{k-1}·m_k)
Enter fullscreen mode Exit fullscreen mode

Where coefficients α, β, and γ are tuned based on:

  • Evidence reliability
  • Temporal relevance (if evidence is time-stamped)
  • Domain-specific importance factors

Normalization: The 1-k Factor

After sequential combination, we apply normalization to ensure our final value falls within a consistent range (typically 0 to 1):

Normalized Value = 1 - k · (some transformation of combined evidence)
Enter fullscreen mode Exit fullscreen mode

Or more generally:

Normalized Score = 1 - f(combined_evidence)
Enter fullscreen mode Exit fullscreen mode

This normalization ensures that higher combined evidence values correspond to higher risk levels, properly scaled for interpretation.

Risk Categorization Framework

Our system classifies risk into 11 distinct categories for granular assessment:

Risk Level Typical Probability Range Description
Very Very Low 0-9% Minimal to negligible risk
Very Low 10-19% Low probability of adverse outcomes
Low 20-29% Below average risk
Very Very Medium 30-39% Lower medium risk
Very Medium 40-49% Medium-low risk
Medium 50-59% Average/expected risk level
High Medium 60-69% Medium-high risk
High 70-79% Elevated risk requiring attention
Very High 80-89% Significantly elevated risk
Very Very High 90-100% Critical risk requiring immediate action

Practical Implementation: From Excel to Actionable Insights

Step 1: Data Preparation

Evidence values stored in Excel (or CSV) format are loaded into the system. These could represent:

  • Financial transaction amounts
  • Security alert scores
  • Medical test results
  • Quality control measurements
  • Any numerical evidence relevant to risk assessment

Step 2: Sequential Combination Process

def sequential_combine(evidence_list, alpha=0.4, beta=0.4, gamma=0.2):
    """
    Sequentially combine evidence using weighted fusion
    """
    if len(evidence_list) < 2:
        return evidence_list[0] if evidence_list else 0

    # Normalize evidence to [0,1] range first
    normalized_evidence = [normalize(e) for e in evidence_list]

    # Start with first two pieces of evidence
    combined = alpha*normalized_evidence[0] + beta*normalized_evidence[1] + gamma*(normalized_evidence[0]*normalized_evidence[1])

    # Sequentially combine with remaining evidence
    for i in range(2, len(normalized_evidence)):
        combined = alpha*combined + beta*normalized_evidence[i] + gamma*(combined*normalized_evidence[i])

    return combined
Enter fullscreen mode Exit fullscreen mode

Step 3: Risk Probability Calculation

def calculate_risk_probabilities(combined_score):
    """
    Convert combined score into risk category probabilities
    """
    # This could use a softmax distribution across categories
    # or a Bayesian approach based on historical data
    risk_categories = ["Very Very Low", "Very Low", "Low", 
                      "Very Very Medium", "Very Medium", "Medium",
                      "High Medium", "High", "Very High", "Very Very High"]

    # Generate probabilities (example using transformed sigmoid)
    base_prob = sigmoid_transform(combined_score)

    # Distribute probabilities across categories
    # (Implementation depends on specific distribution model)
    return category_probabilities
Enter fullscreen mode Exit fullscreen mode

Synthetic Data Generation

For testing and validation, we can generate synthetic evidence data:

import numpy as np
import pandas as pd

def generate_synthetic_evidence(num_samples=1000, num_evidence_points=50):
    """
    Generate realistic synthetic evidence data
    """
    data = []

    for _ in range(num_samples):
        # Generate evidence with different patterns
        pattern_type = np.random.choice(['random', 'trending_up', 'trending_down', 'spiky'])

        if pattern_type == 'random':
            evidence = np.random.uniform(0, 1000, num_evidence_points)
        elif pattern_type == 'trending_up':
            base = np.random.uniform(0, 500, num_evidence_points)
            trend = np.linspace(0, 500, num_evidence_points)
            evidence = base + trend
        elif pattern_type == 'trending_down':
            base = np.random.uniform(0, 500, num_evidence_points)
            trend = np.linspace(500, 0, num_evidence_points)
            evidence = base + trend
        else:  # spiky
            evidence = np.random.exponential(200, num_evidence_points)
            spikes = np.random.choice([0, 1], num_evidence_points, p=[0.9, 0.1])
            evidence = evidence * (1 + spikes * np.random.uniform(1, 5, num_evidence_points))

        data.append(evidence)

    return pd.DataFrame(data)
Enter fullscreen mode Exit fullscreen mode

Real-World Applications

1. Financial Fraud Detection

Combine multiple transaction alerts (amount, frequency, location mismatch) into a unified risk score.

2. Healthcare Diagnostics

Fuse various test results and symptoms to assess disease probability.

3. Cybersecurity Threat Assessment

Combine network anomalies, failed login attempts, and suspicious file activities into a comprehensive threat level.

4. Quality Control in Manufacturing

Fuse multiple sensor readings from production lines to predict defect probability.

Advantages of Sequential Combination

  1. Incremental Updates: New evidence can be added without reprocessing all historical data
  2. Computational Efficiency: O(n) complexity for n evidence points
  3. Interpretability: Each combination step can be logged and analyzed
  4. Adaptability: Weights can be adjusted based on evidence reliability
  5. Memory Efficiency: Only need to store the current combined value, not all historical evidence

Challenges and Considerations

  1. Order Sensitivity: Sequential combination may be order-dependent
  2. Weight Calibration: Optimal α, β, γ values require careful tuning
  3. Normalization Consistency: Ensuring consistent scaling across different evidence types
  4. Category Thresholds: Defining clear boundaries between risk levels

Conclusion

The sequential evidence fusion approach provides a robust, scalable framework for combining thousands of evidence points into coherent risk assessments. By normalizing results and distributing probabilities across granular risk categories (from "Very Very Low" to "Very Very High"), decision-makers gain nuanced insights that support better risk management decisions.

Whether you're working with 100 or 100,000 evidence points in Excel, this methodology transforms raw data into actionable intelligence, enabling organizations to make informed decisions in uncertain environments.

Key Takeaway: The power of this approach lies not in any single piece of evidence, but in the sophisticated fusion of all available information, progressively refined through sequential combination to reveal the true underlying risk profile.

Top comments (0)