mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-15 06:52:39 +02:00
Add MATLAB comparison framework for LFM kernel validation
This commit is contained in:
parent
7227ad8a17
commit
ca1d4bffe9
2 changed files with 394 additions and 0 deletions
76
backlog/features/2025-08-15_matlab-comparison-framework.md
Normal file
76
backlog/features/2025-08-15_matlab-comparison-framework.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
---
|
||||
id: "matlab-comparison-framework"
|
||||
title: "Create MATLAB comparison framework for LFM kernel validation"
|
||||
status: "In Progress"
|
||||
priority: "High"
|
||||
created: "2025-08-15"
|
||||
last_updated: "2025-08-15"
|
||||
owner: "Neil Lawrence"
|
||||
github_issue: ""
|
||||
dependencies: "lfm-kernel-code-review"
|
||||
tags:
|
||||
- lfm
|
||||
- kernel
|
||||
- validation
|
||||
- matlab
|
||||
- comparison
|
||||
---
|
||||
|
||||
# Create MATLAB comparison framework for LFM kernel validation
|
||||
|
||||
## Description
|
||||
Create a comprehensive comparison framework to validate our GPy LFM kernel implementation against the MATLAB reference implementation in GPmat.
|
||||
|
||||
## Background
|
||||
- We have analyzed the complete MATLAB implementation (SIM, DISIM kernels)
|
||||
- Need to validate our GPy implementation against the reference
|
||||
- Comparison framework will ensure mathematical correctness and numerical accuracy
|
||||
- Will help catch implementation errors and validate parameter handling
|
||||
|
||||
## Implementation Tasks
|
||||
- [x] Create MATLAB comparison script (`scripts/compare_with_matlab.py`)
|
||||
- [ ] Test MATLAB script with existing GPmat installation
|
||||
- [ ] Create standard test cases for SIM and DISIM kernels
|
||||
- [ ] Implement GPy computation integration in comparison script
|
||||
- [ ] Add parameter validation and constraint testing
|
||||
- [ ] Create visualization tools for comparison results
|
||||
- [ ] Add cross-kernel computation validation
|
||||
- [ ] Document comparison methodology and tolerance standards
|
||||
|
||||
## Test Cases to Implement
|
||||
- [ ] Basic SIM kernel with standard parameters
|
||||
- [ ] SIM kernel with fast decay and no delay
|
||||
- [ ] Basic DISIM kernel with hierarchical parameters
|
||||
- [ ] Edge cases (zero delay, extreme decay values)
|
||||
- [ ] Multi-output scenarios
|
||||
- [ ] Cross-kernel computations (SIM × RBF, DISIM × SIM)
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] MATLAB comparison script runs successfully
|
||||
- [ ] Standard test cases produce consistent results
|
||||
- [ ] Comparison framework can detect implementation errors
|
||||
- [ ] Tolerance standards defined and documented
|
||||
- [ ] Results visualization and reporting implemented
|
||||
- [ ] Framework integrated into development workflow
|
||||
|
||||
## Implementation Notes
|
||||
- Use scipy.io for loading MATLAB .mat files
|
||||
- Support both MATLAB and Octave as reference implementations
|
||||
- Implement robust error handling for missing dependencies
|
||||
- Create standardized test data sets for reproducible comparisons
|
||||
- Consider numerical precision differences between platforms
|
||||
|
||||
## Related
|
||||
- Backlog: lfm-kernel-code-review
|
||||
- Backlog: implement-lfm-kernel-core
|
||||
- MATLAB Implementation: ~/lawrennd/GPmat/matlab/
|
||||
|
||||
## Progress Updates
|
||||
|
||||
### 2025-08-15
|
||||
Created initial MATLAB comparison framework:
|
||||
- Implemented `MATLABComparison` class with automatic MATLAB/Octave detection
|
||||
- Created test case generation for SIM and DISIM kernels
|
||||
- Added result comparison with tolerance checking
|
||||
- Framework ready for integration with GPy implementation
|
||||
- Script can generate MATLAB code dynamically for different test cases
|
||||
Loading…
Add table
Add a link
Reference in a new issue