Skip to content

Built on peer-reviewed research accepted at IEEE DSA 2025: "Hamiltonian Neural Networks for Robust Out-of-Time Credit Scoring: Empirical Validation and Temporal Stability Analysis"

License

Notifications You must be signed in to change notification settings

Javihaus/Hamiltonian-Neural-Network-Optimization

Repository files navigation

Hamiltonian Neural Network Optimization

Research-Backed Temporal Stability for Production ML Systems

IEEE DSA 2025 Python 3.8+ License: MIT

Built on peer-reviewed research accepted at IEEE DSA 2025: "Hamiltonian Neural Networks for Robust Out-of-Time Credit Scoring: Empirical Validation and Temporal Stability Analysis"

Description

The Problem

Production ML models degrade over time as data distributions shift. Standard optimizers like Adam and SGD are designed for fixed distributions, not temporal robustness. This leads to:

  • Degrading risk discrimination in financial models over 12-18 months
  • Frequent retraining cycles costing compute and engineering time
  • Poor out-of-time prediction when deployed models face future data

The Solution

This library implements Hamiltonian mechanics-based optimization that maintains performance stability across temporal distribution shifts. Validated on real-world financial data with statistically significant improvements in out-of-time scenarios.

Validated Performance

Results from IEEE DSA 2025 peer-reviewed research on Freddie Mac Single-Family Loan-Level Dataset:

Metric XGBoost (Baseline) Hamiltonian Approach Improvement
AUC (FM12 - 12 months) 0.6072 0.8027 +32.2%
AUC (FM36 - 36 months) 0.6221 0.7640 +22.8%
AUC (FM60 - 60 months) 0.6665 0.6974 +4.6%
Temporal Stability Degrades significantly Maintains consistent More Stable

Statistical significance confirmed via paired t-tests (p < 0.001 for FM12 and FM36, p < 0.05 for FM60)

Key Finding: While XGBoost achieves higher conventional accuracy metrics (98%+), our Hamiltonian approach provides superior discriminative power (AUC) critical for ranking-based applications like credit scoring.

Installation

pip install hamiltonian-optimizer

Quick Start - Credit Scoring Use Case

import torch
import torch.nn as nn
from hamiltonian_optimizer import HamiltonianOptimizer

# Your credit scoring model
class CreditScoringNN(nn.Module):
    def __init__(self, input_dim):
        super().__init__()
        self.fc1 = nn.Linear(input_dim, 128)
        self.fc2 = nn.Linear(128, 64)
        self.fc3 = nn.Linear(64, 2)
        self.relu = nn.ReLU()

    def forward(self, x):
        x = self.relu(self.fc1(x))
        x = self.relu(self.fc2(x))
        return self.fc3(x)

model = CreditScoringNN(input_dim=7)

# Use Hamiltonian optimizer for temporal stability
optimizer = HamiltonianOptimizer(
    model.parameters(),
    lr=0.01,
    beta=0.9,              # Momentum coefficient
    epsilon=1e-8,
    lambda_reg=0.01        # Hamiltonian regularization strength
)

# Standard PyTorch training loop
for epoch in range(epochs):
    optimizer.zero_grad()
    outputs = model(X_train)
    loss = criterion(outputs, y_train)
    loss.backward()
    optimizer.step()

When To Use This

Use Hamiltonian optimization when:

  • Models must maintain performance over months/years in production
  • Data distributions shift over time (concept drift)
  • Out-of-time prediction accuracy matters (e.g., future risk assessment)
  • You can afford 15-20% computational overhead for stability
  • Working in: financial ML, fraud detection, credit scoring, time-series forecasting

Do NOT use when:

  • Quick prototyping or experimentation
  • Stable, fixed data distributions
  • Compute-constrained environments
  • Generic computer vision or NLP tasks (not yet validated)

Computational Tradeoffs

Overhead: 15-20% longer training time vs standard Adam (based on experimental validation) Memory: Comparable to Adam Worth it for: Production deployments where temporal stability reduces retraining frequency

See docs/computational_tradeoffs.md for detailed analysis.

Validated Use Cases

Credit Scoring (Peer-Reviewed ✅)

  • Superior AUC in forward-looking risk assessment (0.8027 vs 0.6072 on FM12)
  • Maintains performance across economic cycles
  • Handles severe class imbalance effectively (230,460:591 ratio with SMOTE)

See: examples/credit_scoring_reproduction.py

Time-Series Forecasting

  • Preliminary results show improved stability (we need more testing)
  • Not yet peer-reviewed
  • Validate thoroughly before production use

See: examples/time_series_stability.py

Research Foundation

This implementation is based on applying Hamiltonian mechanics principles to neural network optimization:

  • Energy Conservation: Prevents destabilizing large updates through adaptive step sizing
  • Symplectic Integration: Preserves geometric properties of optimization landscape
  • Temporal Regularization: Parameter history tracking for stability

The Hamiltonian optimizer uses a Forest-Ruth 4th-order symplectic integrator with adaptive step sizing:

# Core Hamiltonian update (simplified)
momentum = beta * momentum + (1 - beta) * gradient
kinetic_energy = 0.5 * ||momentum||²
potential_energy = 0.5 * ||parameters||²
hamiltonian = kinetic_energy + potential_energy
step_size = learning_rate / (sqrt(hamiltonian) + epsilon)
parameters = parameters - step_size * momentum

For theoretical details, see our paper: [Link to IEEE Xplore when published]

Reproducibility

All results from the IEEE DSA 2025 paper are fully reproducible:

# Reproduce credit scoring results on Freddie Mac data
python examples/credit_scoring_reproduction.py

# Run ablation studies
python examples/ablation_study.py

Ablation Study Results (FM12 Dataset):

Model Variant AUC % Decrease vs Full Model
Full Hamiltonian Model 0.8027 -
Without Hamiltonian Normalization 0.7645 -4.76%
Without Momentum Updates 0.7412 -7.66%
Standard Neural Network 0.7103 -11.51%

Limitations & Future Work

Current Limitations

Validated primarily on financial/tabular data - Not tested on CV/NLP ✓ Higher computational cost than standard optimizers (15-20% overhead) ✓ Limited interpretability - Acknowledged by IEEE reviewers

In Progress

  • Validation on additional financial datasets
  • Rolling window testing for concept drift
  • Scalability improvements for large models
  • Interpretability enhancements for regulatory compliance

Consulting & Custom Implementation

This library demonstrates my approach to production ML temporal stability using physics-inspired methods. If your organization needs:

  • Custom optimization for temporal robustness in your domain
  • Adaptation to regulated industries (finance, healthcare)
  • Production deployment with stability guarantees

See CONSULTING.md for how we can work together.

Citation

If you use this in research:

@inproceedings{marin2025hamiltonian,
  title={Hamiltonian Neural Networks for Robust Out-of-Time Credit Scoring: Empirical Validation and Temporal Stability Analysis},
  author={Marin, Javier},
  booktitle={IEEE International Conference on Data Science and Advanced Analytics (DSA)},
  year={2025},
  organization={IEEE}
}

License

MIT License - see LICENSE

Acknowledgments

Accepted at IEEE DSA 2025 with strong reviews (Rating: 7-9, Accept to Strong Accept).

Reviewers noted: "Novel approach", "Superior OOT performance", "Promising direction for real-world credit risk assessment"

Dataset: Freddie Mac Single-Family Loan-Level Dataset (publicly available)


Ready to improve your model's temporal stability? Start with docs/when_to_use.md to determine if Hamiltonian optimization fits your use case.

About

Built on peer-reviewed research accepted at IEEE DSA 2025: "Hamiltonian Neural Networks for Robust Out-of-Time Credit Scoring: Empirical Validation and Temporal Stability Analysis"

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •