calibration_benchmark / src /pages /OptimizationLeaderboard.py
odunbar
Initial updates for new CES leaderboard for UQ results with quantiles 0.15,0.5,0.85
245eff6
Raw
History Blame
1.68 kB
from pathlib import Path
import sys
import streamlit as st
try:
from data_store import load_metric_store
from common.leaderboard import render_leaderboard
except ModuleNotFoundError:
sys.path.append(str(Path(__file__).resolve().parents[1]))
from data_store import load_metric_store
from common.leaderboard import render_leaderboard
st.set_page_config(page_title="Optimization Leaderboard", page_icon="πŸ“Š", layout="wide")
# Sidebar navigation
st.sidebar.title("Navigation")
st.sidebar.page_link("streamlit_app.py", label="Home", icon="🏠")
st.sidebar.page_link("pages/OptimizationLeaderboard.py", label="Optimization Leaderboard", icon="πŸ“Š")
st.sidebar.page_link("pages/UQLeaderboard.py", label="UQ Leaderboard", icon="🎯")
st.sidebar.page_link("pages/MethodDetails.py", label="Methods", icon="πŸ“˜")
st.sidebar.page_link("pages/RawData.py", label="Get Data", icon="🧾")
st.markdown(r"**Optimization target.** A run succeeds when the normalized weighted distance from the ensemble-mean forward-model output to the true data falls at or below the (selected in the target controls) RMSE target level $\tau$:")
st.latex(r"\frac{1}{N_y}\bigl(y - G(\bar{\theta})\bigr)^\top \Gamma^{-1}\bigl(y - G(\bar{\theta})\bigr) \leq \tau")
st.markdown(r"where $y$ is the true observation, $G(\bar{\theta})$ is the forward-model output at the final ensemble mean $\bar{\theta}$, and $\Gamma$ is the observation noise covariance, and $N_y = \dim(y)$.")
render_leaderboard(
load_metric_store(),
target_col="rmse_target",
target_label="RMSE Target Level",
title="Optimization Leaderboard",
state_prefix="opt",
raw_page="pages/RawData.py",
)