VALIDATION_README - zfifteen/unified-framework GitHub Wiki
This directory contains comprehensive validation infrastructure to address the testing review feedback. All statistical claims can now be independently verified using the raw numeric data and validation scripts provided.
# 1. Generate all validation data
cd /home/runner/work/unified-framework/unified-framework
export PYTHONPATH=/home/runner/work/unified-framework/unified-framework
python3 test-finding/scripts/comprehensive_validation.py --quick --n_max 1000
# 2. Run independent validation demonstration
python3 test-finding/scripts/independent_validation_demo.py
All the raw data requested in the testing review:
-
prime_curvature_values.npy
- Curvature values for prime numbers -
composite_curvature_values.npy
- Curvature values for composite numbers -
zeta_spacing_unfolded.npy
- Unfolded zeta zero spacings -
prime_chiral_distances.npy
- Chiral distance values for primes -
composite_chiral_distances.npy
- Chiral distance values for composites -
k_values.npy
- Parameter sweep values for k -
max_enhancements.npy
- Maximum enhancement values for each k
-
correlation_data.json
- Complete correlation analysis data including:- Raw arrays used for correlation computation
- Pearson r and p-values
- Bootstrap confidence intervals
- Sample bootstrap results
-
validation_report.json
- Comprehensive validation results -
validation_summary.csv
- Summary table of all claims vs observations -
raw_data_summary.csv
- Summary statistics for all arrays
-
reproducibility_code.py
- Exact code snippets for independent validation
import numpy as np
import json
from scipy import stats
# Load correlation data
with open('validation_output/correlation_data.json', 'r') as f:
data = json.load(f)
a = np.array(data['array_a'])
b = np.array(data['array_b'])
# Compute correlation
r, p = stats.pearsonr(a, b)
# Bootstrap CI (10000 resamples)
boots = []
n = len(a)
for _ in range(10000):
idx = np.random.randint(0, n, n)
boots.append(stats.pearsonr(a[idx], b[idx])[0])
ci = np.percentile(boots, [2.5, 97.5])
print("r, p, 95% CI:", r, p, ci)
from scipy.stats import ks_2samp
import numpy as np
prime_vals = np.load('validation_output/prime_chiral_distances.npy')
composite_vals = np.load('validation_output/composite_chiral_distances.npy')
stat, p = ks_2samp(prime_vals, composite_vals)
print("KS stat, p:", stat, p)
import numpy as np
def cohens_d(x,y):
nx, ny = len(x), len(y)
s = np.sqrt(((nx-1)*x.std(ddof=1)**2 + (ny-1)*y.std(ddof=1)**2)/(nx+ny-2))
return (x.mean()-y.mean())/s
x = np.load('validation_output/prime_chiral_distances.npy')
y = np.load('validation_output/composite_chiral_distances.npy')
print("Cohen d:", cohens_d(x, y))
The comprehensive validation includes:
- Parameter sweep across k values
- Bonferroni correction warnings
- Permutation tests for empirical p-values
- Bootstrap confidence intervals
Example permutation test for enhancement claims:
# Shuffle labels 10k times, recompute metric, get empirical p-value
observed_diff = np.mean(prime_vals) - np.mean(composite_vals)
permuted_diffs = []
for _ in range(10000):
# Shuffle and recompute...
pass
p_value = np.mean(np.abs(permuted_diffs) >= np.abs(observed_diff))
Based on the current dataset (n ≤ 1000):
Claim | Observed | Status | P-value |
---|---|---|---|
Pearson r ≈ 0.93 | -0.0099 | ✗ | 9.22e-01 |
KS stat ≈ 0.04 | 0.0632 | ✗ | 6.06e-01 |
Chiral > 0.45 | 0.0022 | ✗ | N/A |
Note: The current validation uses a smaller dataset (n ≤ 1000) than the original claims. The statistical patterns may emerge more clearly with larger datasets or different parameter ranges.
All key statistics now have their underlying numeric vectors available for independent validation.
- Prime samples: 168 numbers
- Composite samples: 831 numbers
- Correlation arrays: 99 paired values
- K parameter sweep: 40 values tested
- Bonferroni correction warnings included
- Permutation tests implemented for empirical p-values
- Bootstrap confidence intervals for all correlations
- Permutation tests with shuffled labels
- Bootstrap resampling for confidence intervals
- Parameter sweep validation with multiple testing awareness
- Seeded random number generators
- Exact parameter specifications
- Complete dependency lists
- Step-by-step validation code
To validate with larger datasets or different parameters:
# Larger dataset
python3 test-finding/scripts/comprehensive_validation.py --n_max 10000
# Full analysis (includes multiple testing correction)
python3 test-finding/scripts/comprehensive_validation.py --n_max 2000
# Custom output directory
python3 test-finding/scripts/comprehensive_validation.py --output_dir custom_validation
-
comprehensive_validation.py
- Generates all raw data and validation results -
independent_validation_demo.py
- Demonstrates how to use the generated data
validation_output/
├── *.npy # Raw numeric arrays
├── correlation_data.json # Complete correlation analysis
├── validation_report.json # Comprehensive validation results
├── validation_summary.csv # Summary table
├── raw_data_summary.csv # Statistics for all arrays
└── reproducibility_code.py # Code snippets for validation
Required Python packages:
pip install numpy pandas matplotlib mpmath sympy scikit-learn statsmodels scipy seaborn plotly
This validation infrastructure directly addresses the testing review feedback by providing:
- ✅ Raw numeric vectors for all key statistics
- ✅ Bootstrap confidence intervals for correlations
- ✅ KS test arrays and computations
- ✅ Cohen's d effect size calculations
- ✅ Multiple testing corrections for parameter searches
- ✅ Permutation tests for claimed enhancements
- ✅ Complete reproducibility code and documentation
All data files are in standard formats (NPY, JSON, CSV) for easy use with any statistical software.