HFSModel Hyperfine Anomalies
Trey V. Wenger (c) June 2025
HFSModel can also account for a non-CTEX effects. HFSModel considers the detailed balance between all states in the mol_data dictionary. Each state’s statistical weight is a free parameter drawn from a Dirichlet distribution. The Dirichlet distribution is defined by a hyperparameter, CTEX_variance, which controls the statistical weight deviations from the CTEX values. As CTEX_variance goes to zero, the weights go to the CTEX values. Note that we make no physical inference
about the CTEX deviations, we just ensure that the solution is physical (i.e., that detailed balance is maintained).
[1]:
# General imports
import time
import matplotlib.pyplot as plt
import arviz as az
import pandas as pd
import numpy as np
import pymc as pm
print("pymc version:", pm.__version__)
print("arviz version:", az.__version__)
import bayes_spec
print("bayes_spec version:", bayes_spec.__version__)
import bayes_hfs
print("bayes_hfs version:", bayes_hfs.__version__)
# Notebook configuration
pd.options.display.max_rows = None
pymc version: 5.22.0
arviz version: 0.22.0dev
bayes_spec version: 1.9.0
bayes_hfs version: 1+0.gc6f9e00.dirty
Preparing Molecule Data
Here we model the hyperfine structure of CN transitions to the ground rotational state.
[2]:
from bayes_hfs import get_molecule_data, supplement_molecule_data
import pickle
try:
all_mol_data_12CN, all_mol_metadata_12CN = get_molecule_data("CN, v=0,1", fmin=100.0, fmax=200.0)
with open("mol_data_12CN.pkl", "wb") as f:
pickle.dump(all_mol_data_12CN, f)
with open("mol_metadata_12CN.pkl", "wb") as f:
pickle.dump(all_mol_metadata_12CN, f)
except:
with open("mol_data_12CN.pkl", "rb") as f:
all_mol_data_12CN = pickle.load(f)
with open("mol_metadata_12CN.pkl", "rb") as f:
all_mol_metadata_12CN = pickle.load(f)
all_mol_data_12CN.pprint_all()
FREQ ERR LGINT DR ELO GUP MOLWT TAG QNFMT Ju Ku vu F1u F2u F3u Jl Kl vl F1l F2l F3l name Lab
MHz MHz nm2 MHz 1 / cm u
----------- ------ ------- --- --------- --- ----- ---- ----- --- --- --- --- --- --- --- --- --- --- --- --- --------- -----
112101.656 0.05 -8.0612 2 2042.4216 2 26 5041 234 1 1 1 1 -- -- 0 1 1 2 -- -- CN, v=0,1 True
112128.989 0.05 -8.069 2 2042.4222 4 26 5041 234 1 1 1 2 -- -- 0 1 1 1 -- -- CN, v=0,1 True
112148.503 0.05 -7.9593 2 2042.4216 4 26 5041 234 1 1 1 2 -- -- 0 1 1 2 -- -- CN, v=0,1 True
112442.806 0.05 -7.9569 2 2042.4222 4 26 5041 234 1 1 2 2 -- -- 0 1 1 1 -- -- CN, v=0,1 True
112445.015 0.05 -7.5311 2 2042.4216 6 26 5041 234 1 1 2 3 -- -- 0 1 1 2 -- -- CN, v=0,1 True
112453.876 0.05 -8.0586 2 2042.4222 2 26 5041 234 1 1 2 1 -- -- 0 1 1 1 -- -- CN, v=0,1 True
112462.292 0.05 -8.0664 2 2042.4216 4 26 5041 234 1 1 2 2 -- -- 0 1 1 2 -- -- CN, v=0,1 True
113123.3701 0.0058 -4.7118 2 0.0007 2 26 5041 234 1 0 1 1 -- -- 0 0 1 1 -- -- CN, v=0,1 False
113144.1573 0.0057 -3.7989 2 -0.0 2 26 5041 234 1 0 1 1 -- -- 0 0 1 2 -- -- CN, v=0,1 False
113170.4915 0.0039 -3.809 2 0.0007 4 26 5041 234 1 0 1 2 -- -- 0 0 1 1 -- -- CN, v=0,1 False
113191.2787 0.0034 -3.6955 2 -0.0 4 26 5041 234 1 0 1 2 -- -- 0 0 1 2 -- -- CN, v=0,1 False
113488.1202 0.0033 -3.6932 2 0.0007 4 26 5041 234 1 0 2 2 -- -- 0 0 1 1 -- -- CN, v=0,1 False
113490.9702 0.0024 -3.2691 2 -0.0 6 26 5041 234 1 0 2 3 -- -- 0 0 1 2 -- -- CN, v=0,1 False
113499.6443 0.0028 -3.7962 2 0.0007 2 26 5041 234 1 0 2 1 -- -- 0 0 1 1 -- -- CN, v=0,1 False
113508.9074 0.0028 -3.8065 2 -0.0 4 26 5041 234 1 0 2 2 -- -- 0 0 1 2 -- -- CN, v=0,1 False
113520.4315 0.0044 -4.709 2 -0.0 2 26 5041 234 1 0 2 1 -- -- 0 0 1 2 -- -- CN, v=0,1 False
[3]:
# Keep only Kl = 0 transitions
all_mol_data_12CN = all_mol_data_12CN[all_mol_data_12CN["Kl"] == 0]
# Add GLO
all_mol_data_12CN["GLO"] = 2 * all_mol_data_12CN["F1l"]
all_mol_data_12CN.pprint_all()
FREQ ERR LGINT DR ELO GUP MOLWT TAG QNFMT Ju Ku vu F1u F2u F3u Jl Kl vl F1l F2l F3l name Lab GLO
MHz MHz nm2 MHz 1 / cm u
----------- ------ ------- --- ------ --- ----- ---- ----- --- --- --- --- --- --- --- --- --- --- --- --- --------- ----- ---
113123.3701 0.0058 -4.7118 2 0.0007 2 26 5041 234 1 0 1 1 -- -- 0 0 1 1 -- -- CN, v=0,1 False 2
113144.1573 0.0057 -3.7989 2 -0.0 2 26 5041 234 1 0 1 1 -- -- 0 0 1 2 -- -- CN, v=0,1 False 4
113170.4915 0.0039 -3.809 2 0.0007 4 26 5041 234 1 0 1 2 -- -- 0 0 1 1 -- -- CN, v=0,1 False 2
113191.2787 0.0034 -3.6955 2 -0.0 4 26 5041 234 1 0 1 2 -- -- 0 0 1 2 -- -- CN, v=0,1 False 4
113488.1202 0.0033 -3.6932 2 0.0007 4 26 5041 234 1 0 2 2 -- -- 0 0 1 1 -- -- CN, v=0,1 False 2
113490.9702 0.0024 -3.2691 2 -0.0 6 26 5041 234 1 0 2 3 -- -- 0 0 1 2 -- -- CN, v=0,1 False 4
113499.6443 0.0028 -3.7962 2 0.0007 2 26 5041 234 1 0 2 1 -- -- 0 0 1 1 -- -- CN, v=0,1 False 2
113508.9074 0.0028 -3.8065 2 -0.0 4 26 5041 234 1 0 2 2 -- -- 0 0 1 2 -- -- CN, v=0,1 False 4
113520.4315 0.0044 -4.709 2 -0.0 2 26 5041 234 1 0 2 1 -- -- 0 0 1 2 -- -- CN, v=0,1 False 4
[4]:
mol_data_12CN = supplement_molecule_data(all_mol_data_12CN, all_mol_metadata_12CN)
print(mol_data_12CN.keys())
print("molecular weight (Daltons):", mol_data_12CN['mol_weight'])
print("transition frequency (MHz):", mol_data_12CN['freq'])
print("Einstein A coefficient (s-1):", mol_data_12CN['Aul'])
print("Relative intensities:", mol_data_12CN['relative_int'])
print("state info:", mol_data_12CN["states"])
print("upper state index:", mol_data_12CN["state_u_idx"])
print("lower state index:", mol_data_12CN["state_l_idx"])
print("upper state degeneracy:", mol_data_12CN["Gu"])
print("lower state degeneracy:", mol_data_12CN["Gl"])
dict_keys(['mol_weight', 'freq', 'Aul', 'relative_int', 'states', 'state_u_idx', 'state_l_idx', 'Gu', 'Gl'])
molecular weight (Daltons): 26
transition frequency (MHz): [113123.3701 113144.1573 113170.4915 113191.2787 113488.1202 113490.9702
113499.6443 113508.9074 113520.4315]
Einstein A coefficient (s-1): [1.24997446e-06 1.02301076e-05 4.99866053e-06 6.49280964e-06
6.54458098e-06 1.15851092e-05 1.03265758e-05 5.04267116e-06
1.26251089e-06]
Relative intensities: [0.01204927 0.09859632 0.09632981 0.12510097 0.12576526 0.33393404
0.0992112 0.09688593 0.0121272 ]
state info: {'state': [np.str_('0 0 1 1 -- --'), np.str_('0 0 1 2 -- --'), np.str_('1 0 1 1 -- --'), np.str_('1 0 1 2 -- --'), np.str_('1 0 2 1 -- --'), np.str_('1 0 2 2 -- --'), np.str_('1 0 2 3 -- --')], 'deg': array([2, 4, 2, 4, 2, 4, 6]), 'E': array([ 1.00714381e-03, -0.00000000e+00, 5.43007265e+00, 5.43233412e+00,
5.44813096e+00, 5.44757789e+00, 5.44670753e+00])}
upper state index: [2, 2, 3, 3, 5, 6, 4, 5, 4]
lower state index: [0, 1, 0, 1, 0, 1, 0, 1, 1]
upper state degeneracy: [2 2 4 4 4 6 2 4 2]
lower state degeneracy: [2 4 2 4 2 4 2 4 4]
Simulate data
[5]:
from bayes_spec import SpecData
# spectral axis definition
freq_axis_1 = np.arange(113100.0, 113210.0, 0.2) # MHz
freq_axis_2 = np.arange(113470.0, 113530.0, 0.2) # MHz
# data noise can either be a scalar (assumed constant noise across the spectrum)
# or an array of the same length as the data
noise = 0.03 # K
# brightness data. In this case, we just throw in some random data for now
# since we are only doing this in order to simulate some actual data.
brightness_data_1 = noise * np.random.randn(len(freq_axis_1)) # K
brightness_data_2 = noise * np.random.randn(len(freq_axis_2)) # K
# HFSModel datasets can be named anything, here we name them "12CN-1" and "12CN-2"
obs_1 = SpecData(
freq_axis_1,
brightness_data_1,
noise,
xlabel=r"LSRK Frequency (MHz)",
ylabel=r"$T_B$ (K)",
)
obs_2 = SpecData(
freq_axis_2,
brightness_data_2,
noise,
xlabel=r"LSRK Frequency (MHz)",
ylabel=r"$T_B$ (K)",
)
dummy_data = {"12CN-1": obs_1, "12CN-2": obs_2}
# Plot the simulated data
fig, axes = plt.subplots(2)
axes[0].plot(dummy_data["12CN-1"].spectral, dummy_data["12CN-1"].brightness, "k-")
axes[0].set_ylabel(dummy_data["12CN-1"].ylabel)
axes[1].plot(dummy_data["12CN-2"].spectral, dummy_data["12CN-2"].brightness, "k-")
axes[1].set_xlabel(dummy_data["12CN-2"].xlabel)
_ = axes[1].set_ylabel(dummy_data["12CN-2"].ylabel)
[6]:
from bayes_hfs import HFSModel
# Initialize and define the model
n_clouds = 3 # number of cloud components
baseline_degree = 0 # polynomial baseline degree
model = HFSModel(
mol_data_12CN, # molecular data
dummy_data,
bg_temp = 2.7, # assumed background temperature (K)
Beff = 1.0, # beam efficiency
Feff = 1.0, # forward efficiency
n_clouds=n_clouds,
baseline_degree=baseline_degree,
seed=1234,
verbose=True
)
model.add_priors(
prior_log10_Ntot = [13.5, 0.5], # mean and width of log10 total column density prior (cm-2)
prior_fwhm2 = 1.0, # width of FWHM^2 prior (km2 s-2)
prior_velocity = [-3.0, 3.0], # upper and lower limit of velocity prior (km/s)
prior_log10_Tex_CTEX = [0.75, 0.25], # mean and width of log10 CTEX excitation temperature prior (K)
assume_CTEX = False, # do not assume CTEX
prior_log10_CTEX_variance = [-4.0, 1.0], # offset and width of log10 CTEX variance prior
clip_weights = 1.0e-9, # clip statistical weights between [clip_weights, 1-clip_weights]
clip_tau = -10.0, # clip optical depths below to prevent masers
prior_fwhm_L = None, # assume Gaussian line profile
prior_baseline_coeffs = None, # use default baseline priors
)
model.add_likelihood()
sim_params = {
"log10_Ntot": np.array([13.8, 13.9, 14.0]),
"fwhm2": np.array([1.0, 1.25, 1.5])**2.0,
"velocity": [-2.0, 0.0, 2.5],
"log10_Tex_CTEX": np.log10([4.46, 3.98, 3.16]),
"log10_CTEX_variance": [-1.5, -2.0, -3.0],
"baseline_12CN-1_norm": [0.0],
"baseline_12CN-2_norm": [0.0],
}
# add derived quantities to sim_params
for key in model.cloud_deterministics + ["weights"]:
if key not in sim_params.keys():
sim_params[key] = model.model[key].eval(sim_params, on_unused_input="ignore")
# Evaluate and save simulated observations
sim_obs1 = model.model["12CN-1"].eval(sim_params, on_unused_input="ignore")
sim_obs2 = model.model["12CN-2"].eval(sim_params, on_unused_input="ignore")
# Plot the simulated data
fig, axes = plt.subplots(2)
axes[0].plot(dummy_data["12CN-1"].spectral, sim_obs1, "k-")
axes[0].set_ylabel(dummy_data["12CN-1"].ylabel)
axes[1].plot(dummy_data["12CN-2"].spectral, sim_obs2, "k-")
axes[1].set_xlabel(dummy_data["12CN-2"].xlabel)
_ = axes[1].set_ylabel(dummy_data["12CN-2"].ylabel)
[7]:
sim_params
[7]:
{'log10_Ntot': array([13.8, 13.9, 14. ]),
'fwhm2': array([1. , 1.5625, 2.25 ]),
'velocity': [-2.0, 0.0, 2.5],
'log10_Tex_CTEX': array([0.64933486, 0.59988307, 0.49968708]),
'log10_CTEX_variance': [-1.5, -2.0, -3.0],
'baseline_12CN-1_norm': [0.0],
'baseline_12CN-2_norm': [0.0],
'CTEX_weights': array([[1.99954842, 4. , 0.59193533, 1.18327051, 0.58954346,
1.17923313, 1.76919492],
[1.99949396, 4. , 0.51109864, 1.02161662, 0.5087849 ,
1.01771121, 1.52690069],
[1.99936267, 4. , 0.35871387, 0.71691448, 0.35666979,
0.71346443, 1.07049146]]),
'Tex': array([[4.05444411, 4.52949482, 3.22358484],
[3.88913415, 4.24504889, 3.18955201],
[3.88139514, 4.19463058, 3.18389978],
[3.72972002, 3.94969673, 3.15071616],
[4.20828281, 4.00918084, 3.19153193],
[4.80371409, 4.18580968, 3.14352813],
[4.03035563, 4.87072952, 3.22663902],
[4.03098566, 3.7854684 , 3.15828082],
[3.86748828, 4.54431378, 3.1926533 ]]),
'tau': array([[0.0285187 , 0.03373917, 0.0608651 ],
[0.25192297, 0.30918194, 0.50923403],
[0.23263892, 0.28030451, 0.48877471],
[0.32566198, 0.40600501, 0.64894965],
[0.29189042, 0.37343917, 0.63645788],
[0.76670168, 1.05278166, 1.730899 ],
[0.23507701, 0.26689488, 0.49995897],
[0.24304589, 0.32010818, 0.50126882],
[0.03101042, 0.03668263, 0.06248488]]),
'tau_total': array([2.406468 , 3.07913716, 5.13889304]),
'TR': array([[1.92835874, 2.34468097, 1.23725902],
[1.78627809, 2.09364636, 1.21007084],
[1.77932952, 2.04927148, 1.20530425],
[1.65071068, 1.83737352, 1.17894533],
[2.05666061, 1.88433377, 1.2076583 ],
[2.58430731, 2.03705224, 1.16988738],
[1.90238695, 2.64453546, 1.23529128],
[1.90280138, 1.69348048, 1.18125133],
[1.76278995, 2.35195175, 1.20816995]]),
'weights': array([[0.17536077, 0.37135773, 0.04596153, 0.08654541, 0.04539133,
0.09613394, 0.17924929],
[0.17411721, 0.37744508, 0.05251642, 0.09539703, 0.0569054 ,
0.08951008, 0.15410877],
[0.21395955, 0.43581472, 0.03971055, 0.07771604, 0.03955192,
0.0776619 , 0.11558532]])}
[8]:
# Now we pack the simulated spectrum into a new SpecData instance
obs_1 = SpecData(
freq_axis_1,
sim_obs1,
noise,
xlabel=r"LSRK Frequency (MHz)",
ylabel=r"$T_B$ (K)",
)
obs_2 = SpecData(
freq_axis_2,
sim_obs2,
noise,
xlabel=r"LSRK Frequency (MHz)",
ylabel=r"$T_B$ (K)",
)
data = {"12CN-1": obs_1, "12CN-2": obs_2}
Model Definition
[9]:
# Initialize and define the model
model = HFSModel(
mol_data_12CN, # molecular data
data,
bg_temp = 2.7, # assumed background temperature (K)
Beff = 1.0, # beam efficiency
Feff = 1.0, # forward efficiency
n_clouds=n_clouds,
baseline_degree=baseline_degree,
seed=1234,
verbose=True
)
model.add_priors(
prior_log10_Ntot = [13.5, 0.5], # mean and width of log10 total column density prior (cm-2)
prior_fwhm2 = 1.0, # width of FWHM^2 prior (km2 s-2)
prior_velocity = [-3.0, 3.0], # upper and lower limit of velocity prior (km/s)
prior_log10_Tex_CTEX = [0.75, 0.25], # mean and width of log10 CTEX excitation temperature prior (K)
assume_CTEX = False, # do not assume CTEX
prior_log10_CTEX_variance = [-4.0, 1.0], # offset and width of log10 CTEX variance prior
clip_weights = 1.0e-9, # clip statistical weights between [clip_weights, 1-clip_weights]
clip_tau = -10.0, # clip optical depths below to prevent masers
prior_fwhm_L = None, # assume Gaussian line profile
prior_baseline_coeffs = None, # use default baseline priors
)
model.add_likelihood()
[10]:
# Plot model graph
model.graph().render('hfs_model_anomalies', format='png')
model.graph()
[10]:
[11]:
# model string representation
print(model.model.str_repr())
baseline_12CN-1_norm ~ Normal(0, 1)
baseline_12CN-2_norm ~ Normal(0, 1)
log10_Ntot_norm ~ Normal(0, 1)
fwhm2_norm ~ Gamma(0.5, f())
velocity_norm ~ Beta(2, 2)
log10_Tex_CTEX_norm ~ Normal(0, 1)
log10_CTEX_variance_norm ~ HalfNormal(0, 1)
weights ~ Dirichlet(f(log10_CTEX_variance_norm, log10_Tex_CTEX_norm))
log10_Ntot ~ Deterministic(f(log10_Ntot_norm))
fwhm2 ~ Deterministic(f(fwhm2_norm))
velocity ~ Deterministic(f(velocity_norm))
log10_Tex_CTEX ~ Deterministic(f(log10_Tex_CTEX_norm))
CTEX_weights ~ Deterministic(f(log10_Tex_CTEX_norm))
log10_CTEX_variance ~ Deterministic(f(log10_CTEX_variance_norm))
Tex ~ Deterministic(f(weights, log10_Ntot_norm))
tau ~ Deterministic(f(weights, log10_Ntot_norm))
tau_total ~ Deterministic(f(weights, log10_Ntot_norm))
TR ~ Deterministic(f(weights, log10_Ntot_norm))
12CN-1 ~ Normal(f(baseline_12CN-1_norm, weights, log10_Ntot_norm, velocity_norm, fwhm2_norm), <constant>)
12CN-2 ~ Normal(f(baseline_12CN-2_norm, weights, log10_Ntot_norm, velocity_norm, fwhm2_norm), <constant>)
[12]:
from bayes_spec.plots import plot_predictive
# prior predictive check
prior = model.sample_prior_predictive(
samples=1000, # prior predictive samples
)
_ = plot_predictive(model.data, prior.prior_predictive.sel(draw=slice(None, None, 20)))
Sampling: [12CN-1, 12CN-2, baseline_12CN-1_norm, baseline_12CN-2_norm, fwhm2_norm, log10_CTEX_variance_norm, log10_Ntot_norm, log10_Tex_CTEX_norm, velocity_norm, weights]
[13]:
print(model.cloud_freeRVs)
print(model.cloud_deterministics)
['log10_Ntot_norm', 'fwhm2_norm', 'velocity_norm', 'log10_Tex_CTEX_norm', 'log10_CTEX_variance_norm', 'weights']
['log10_Ntot', 'fwhm2', 'velocity', 'log10_Tex_CTEX', 'CTEX_weights', 'log10_CTEX_variance', 'Tex', 'tau', 'tau_total', 'TR']
[14]:
from bayes_spec.plots import plot_pair
var_names = [
param for param in model.cloud_deterministics + [p for p in model.cloud_freeRVs if "_norm" not in p]
if not set(model.model.named_vars_to_dims[param]).intersection(set(["transition", "state"]))
]
print(var_names)
_ = plot_pair(
prior.prior, # samples
var_names, # var_names to plot
combine_dims=["cloud"], # concatenate clouds
labeller=model.labeller, # label manager
kind="scatter", # plot type
reference_values=sim_params, # truths
)
['log10_Ntot', 'fwhm2', 'velocity', 'log10_Tex_CTEX', 'log10_CTEX_variance', 'tau_total']
Variational Inference
[15]:
start = time.time()
model.fit(
n = 1_000_000, # maximum number of VI iterations
draws = 1_000, # number of posterior samples
rel_tolerance = 0.005, # VI relative convergence threshold
abs_tolerance = 0.005, # VI absolute convergence threshold
learning_rate = 0.001, # VI learning rate
start = {"velocity_norm": np.linspace(0.1, 0.9, model.n_clouds)},
)
end = time.time()
print(f"Runtime: {(end-start)/60.0:.2f} minutes")
Convergence achieved at 72200
Interrupted at 72,199 [7%]: Average Loss = 1.8103e+26
Adding log-likelihood to trace
Runtime: 10.70 minutes
[16]:
pm.summary(model.trace.posterior)
arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)
/home/twenger/miniforge3/envs/bayes_spec-dev/lib/python3.13/site-packages/arviz/stats/diagnostics.py:991: RuntimeWarning: invalid value encountered in scalar divide
varsd = varvar / evar / 4
/home/twenger/miniforge3/envs/bayes_spec-dev/lib/python3.13/site-packages/arviz/stats/diagnostics.py:991: RuntimeWarning: invalid value encountered in scalar divide
varsd = varvar / evar / 4
/home/twenger/miniforge3/envs/bayes_spec-dev/lib/python3.13/site-packages/arviz/stats/diagnostics.py:991: RuntimeWarning: invalid value encountered in scalar divide
varsd = varvar / evar / 4
[16]:
| mean | sd | hdi_3% | hdi_97% | mcse_mean | mcse_sd | ess_bulk | ess_tail | r_hat | |
|---|---|---|---|---|---|---|---|---|---|
| baseline_12CN-1_norm[0] | -0.048 | 0.042 | -0.128 | 0.032 | 0.001 | 0.001 | 978.0 | 943.0 | NaN |
| baseline_12CN-2_norm[0] | -0.120 | 0.059 | -0.228 | -0.013 | 0.002 | 0.001 | 938.0 | 1024.0 | NaN |
| log10_Ntot_norm[0] | -0.154 | 0.012 | -0.175 | -0.132 | 0.000 | 0.000 | 840.0 | 1072.0 | NaN |
| log10_Ntot_norm[1] | 0.660 | 0.014 | 0.634 | 0.684 | 0.000 | 0.000 | 884.0 | 929.0 | NaN |
| log10_Ntot_norm[2] | -0.340 | 0.028 | -0.396 | -0.291 | 0.001 | 0.001 | 1049.0 | 914.0 | NaN |
| log10_Tex_CTEX_norm[0] | 0.519 | 0.154 | 0.201 | 0.779 | 0.005 | 0.004 | 1007.0 | 1010.0 | NaN |
| log10_Tex_CTEX_norm[1] | -0.440 | 0.075 | -0.571 | -0.290 | 0.002 | 0.002 | 947.0 | 944.0 | NaN |
| log10_Tex_CTEX_norm[2] | -0.194 | 0.107 | -0.401 | 0.006 | 0.004 | 0.002 | 814.0 | 839.0 | NaN |
| fwhm2_norm[0] | 1.189 | 0.044 | 1.106 | 1.270 | 0.001 | 0.001 | 985.0 | 908.0 | NaN |
| fwhm2_norm[1] | 1.561 | 0.060 | 1.456 | 1.680 | 0.002 | 0.001 | 1098.0 | 952.0 | NaN |
| fwhm2_norm[2] | 3.563 | 0.268 | 3.098 | 4.107 | 0.009 | 0.006 | 832.0 | 903.0 | NaN |
| velocity_norm[0] | 0.166 | 0.001 | 0.163 | 0.169 | 0.000 | 0.000 | 930.0 | 979.0 | NaN |
| velocity_norm[1] | 0.500 | 0.002 | 0.496 | 0.503 | 0.000 | 0.000 | 948.0 | 973.0 | NaN |
| velocity_norm[2] | 0.922 | 0.006 | 0.911 | 0.933 | 0.000 | 0.000 | 1033.0 | 1020.0 | NaN |
| log10_CTEX_variance_norm[0] | 2.199 | 0.232 | 1.788 | 2.647 | 0.008 | 0.005 | 936.0 | 877.0 | NaN |
| log10_CTEX_variance_norm[1] | 1.888 | 0.229 | 1.429 | 2.291 | 0.008 | 0.005 | 858.0 | 872.0 | NaN |
| log10_CTEX_variance_norm[2] | 2.162 | 0.228 | 1.780 | 2.647 | 0.007 | 0.006 | 986.0 | 942.0 | NaN |
| weights[0, 0 0 1 1 -- --] | 0.127 | 0.001 | 0.124 | 0.129 | 0.000 | 0.000 | 1031.0 | 849.0 | NaN |
| weights[0, 0 0 1 2 -- --] | 0.279 | 0.002 | 0.275 | 0.283 | 0.000 | 0.000 | 933.0 | 922.0 | NaN |
| weights[0, 1 0 1 1 -- --] | 0.064 | 0.001 | 0.063 | 0.065 | 0.000 | 0.000 | 922.0 | 983.0 | NaN |
| weights[0, 1 0 1 2 -- --] | 0.113 | 0.001 | 0.111 | 0.116 | 0.000 | 0.000 | 787.0 | 906.0 | NaN |
| weights[0, 1 0 2 1 -- --] | 0.061 | 0.001 | 0.060 | 0.062 | 0.000 | 0.000 | 1062.0 | 944.0 | NaN |
| weights[0, 1 0 2 2 -- --] | 0.138 | 0.001 | 0.135 | 0.141 | 0.000 | 0.000 | 862.0 | 793.0 | NaN |
| weights[0, 1 0 2 3 -- --] | 0.218 | 0.005 | 0.209 | 0.226 | 0.000 | 0.000 | 924.0 | 991.0 | NaN |
| weights[1, 0 0 1 1 -- --] | 0.170 | 0.001 | 0.168 | 0.173 | 0.000 | 0.000 | 761.0 | 892.0 | NaN |
| weights[1, 0 0 1 2 -- --] | 0.367 | 0.001 | 0.364 | 0.370 | 0.000 | 0.000 | 939.0 | 911.0 | NaN |
| weights[1, 1 0 1 1 -- --] | 0.055 | 0.000 | 0.054 | 0.056 | 0.000 | 0.000 | 927.0 | 944.0 | NaN |
| weights[1, 1 0 1 2 -- --] | 0.098 | 0.001 | 0.096 | 0.099 | 0.000 | 0.000 | 1166.0 | 980.0 | NaN |
| weights[1, 1 0 2 1 -- --] | 0.061 | 0.001 | 0.060 | 0.061 | 0.000 | 0.000 | 944.0 | 849.0 | NaN |
| weights[1, 1 0 2 2 -- --] | 0.092 | 0.001 | 0.091 | 0.094 | 0.000 | 0.000 | 1185.0 | 899.0 | NaN |
| weights[1, 1 0 2 3 -- --] | 0.157 | 0.003 | 0.152 | 0.162 | 0.000 | 0.000 | 1060.0 | 846.0 | NaN |
| weights[2, 0 0 1 1 -- --] | 0.157 | 0.004 | 0.151 | 0.164 | 0.000 | 0.000 | 1146.0 | 883.0 | NaN |
| weights[2, 0 0 1 2 -- --] | 0.340 | 0.004 | 0.333 | 0.348 | 0.000 | 0.000 | 897.0 | 865.0 | NaN |
| weights[2, 1 0 1 1 -- --] | 0.065 | 0.002 | 0.062 | 0.068 | 0.000 | 0.000 | 978.0 | 941.0 | NaN |
| weights[2, 1 0 1 2 -- --] | 0.113 | 0.002 | 0.109 | 0.118 | 0.000 | 0.000 | 950.0 | 908.0 | NaN |
| weights[2, 1 0 2 1 -- --] | 0.064 | 0.002 | 0.061 | 0.067 | 0.000 | 0.000 | 871.0 | 848.0 | NaN |
| weights[2, 1 0 2 2 -- --] | 0.116 | 0.003 | 0.111 | 0.120 | 0.000 | 0.000 | 908.0 | 943.0 | NaN |
| weights[2, 1 0 2 3 -- --] | 0.145 | 0.007 | 0.133 | 0.160 | 0.000 | 0.000 | 1080.0 | 960.0 | NaN |
| log10_Ntot[0] | 13.423 | 0.006 | 13.413 | 13.434 | 0.000 | 0.000 | 840.0 | 1072.0 | NaN |
| log10_Ntot[1] | 13.830 | 0.007 | 13.817 | 13.842 | 0.000 | 0.000 | 884.0 | 929.0 | NaN |
| log10_Ntot[2] | 13.330 | 0.014 | 13.302 | 13.354 | 0.000 | 0.000 | 1049.0 | 914.0 | NaN |
| fwhm2[0] | 1.189 | 0.044 | 1.106 | 1.270 | 0.001 | 0.001 | 985.0 | 908.0 | NaN |
| fwhm2[1] | 1.561 | 0.060 | 1.456 | 1.680 | 0.002 | 0.001 | 1098.0 | 952.0 | NaN |
| fwhm2[2] | 3.563 | 0.268 | 3.098 | 4.107 | 0.009 | 0.006 | 832.0 | 903.0 | NaN |
| velocity[0] | -2.004 | 0.009 | -2.021 | -1.988 | 0.000 | 0.000 | 930.0 | 979.0 | NaN |
| velocity[1] | -0.002 | 0.011 | -0.021 | 0.019 | 0.000 | 0.000 | 948.0 | 973.0 | NaN |
| velocity[2] | 2.531 | 0.035 | 2.468 | 2.598 | 0.001 | 0.001 | 1033.0 | 1020.0 | NaN |
| log10_Tex_CTEX[0] | 0.880 | 0.039 | 0.800 | 0.945 | 0.001 | 0.001 | 1007.0 | 1010.0 | NaN |
| log10_Tex_CTEX[1] | 0.640 | 0.019 | 0.607 | 0.677 | 0.001 | 0.000 | 947.0 | 944.0 | NaN |
| log10_Tex_CTEX[2] | 0.701 | 0.027 | 0.650 | 0.751 | 0.001 | 0.001 | 814.0 | 839.0 | NaN |
| CTEX_weights[0, 0 0 1 1 -- --] | 2.000 | 0.000 | 2.000 | 2.000 | 0.000 | 0.000 | 1007.0 | 1010.0 | NaN |
| CTEX_weights[0, 0 0 1 2 -- --] | 4.000 | 0.000 | 4.000 | 4.000 | 0.000 | NaN | 1000.0 | 1000.0 | NaN |
| CTEX_weights[0, 1 0 1 1 -- --] | 0.976 | 0.062 | 0.846 | 1.079 | 0.002 | 0.001 | 1007.0 | 1010.0 | NaN |
| CTEX_weights[0, 1 0 1 2 -- --] | 1.952 | 0.124 | 1.692 | 2.158 | 0.004 | 0.003 | 1007.0 | 1010.0 | NaN |
| CTEX_weights[0, 1 0 2 1 -- --] | 0.974 | 0.062 | 0.844 | 1.077 | 0.002 | 0.001 | 1007.0 | 1010.0 | NaN |
| CTEX_weights[0, 1 0 2 2 -- --] | 1.948 | 0.124 | 1.688 | 2.155 | 0.004 | 0.003 | 1007.0 | 1010.0 | NaN |
| CTEX_weights[0, 1 0 2 3 -- --] | 2.922 | 0.186 | 2.532 | 3.232 | 0.006 | 0.004 | 1007.0 | 1010.0 | NaN |
| CTEX_weights[1, 0 0 1 1 -- --] | 2.000 | 0.000 | 2.000 | 2.000 | 0.000 | 0.000 | 947.0 | 944.0 | NaN |
| CTEX_weights[1, 0 0 1 2 -- --] | 4.000 | 0.000 | 4.000 | 4.000 | 0.000 | NaN | 1000.0 | 1000.0 | NaN |
| CTEX_weights[1, 1 0 1 1 -- --] | 0.577 | 0.031 | 0.523 | 0.639 | 0.001 | 0.001 | 947.0 | 944.0 | NaN |
| CTEX_weights[1, 1 0 1 2 -- --] | 1.153 | 0.061 | 1.045 | 1.277 | 0.002 | 0.001 | 947.0 | 944.0 | NaN |
| CTEX_weights[1, 1 0 2 1 -- --] | 0.574 | 0.031 | 0.521 | 0.636 | 0.001 | 0.001 | 947.0 | 944.0 | NaN |
| CTEX_weights[1, 1 0 2 2 -- --] | 1.149 | 0.061 | 1.042 | 1.273 | 0.002 | 0.001 | 947.0 | 944.0 | NaN |
| CTEX_weights[1, 1 0 2 3 -- --] | 1.724 | 0.092 | 1.563 | 1.910 | 0.003 | 0.002 | 947.0 | 944.0 | NaN |
| CTEX_weights[2, 0 0 1 1 -- --] | 2.000 | 0.000 | 2.000 | 2.000 | 0.000 | 0.000 | 814.0 | 839.0 | NaN |
| CTEX_weights[2, 0 0 1 2 -- --] | 4.000 | 0.000 | 4.000 | 4.000 | 0.000 | NaN | 1000.0 | 1000.0 | NaN |
| CTEX_weights[2, 1 0 1 1 -- --] | 0.679 | 0.045 | 0.593 | 0.764 | 0.002 | 0.001 | 814.0 | 839.0 | NaN |
| CTEX_weights[2, 1 0 1 2 -- --] | 1.358 | 0.091 | 1.185 | 1.527 | 0.003 | 0.002 | 814.0 | 839.0 | NaN |
| CTEX_weights[2, 1 0 2 1 -- --] | 0.677 | 0.045 | 0.590 | 0.762 | 0.002 | 0.001 | 814.0 | 839.0 | NaN |
| CTEX_weights[2, 1 0 2 2 -- --] | 1.354 | 0.091 | 1.181 | 1.523 | 0.003 | 0.002 | 814.0 | 839.0 | NaN |
| CTEX_weights[2, 1 0 2 3 -- --] | 2.032 | 0.136 | 1.772 | 2.285 | 0.005 | 0.003 | 814.0 | 839.0 | NaN |
| log10_CTEX_variance[0] | -1.801 | 0.232 | -2.212 | -1.353 | 0.008 | 0.005 | 936.0 | 877.0 | NaN |
| log10_CTEX_variance[1] | -2.112 | 0.229 | -2.571 | -1.709 | 0.008 | 0.005 | 858.0 | 872.0 | NaN |
| log10_CTEX_variance[2] | -1.838 | 0.228 | -2.220 | -1.353 | 0.007 | 0.006 | 986.0 | 942.0 | NaN |
| Tex[113123.3701, 0] | 7.927 | 0.167 | 7.585 | 8.195 | 0.005 | 0.004 | 954.0 | 1016.0 | NaN |
| Tex[113123.3701, 1] | 4.823 | 0.049 | 4.739 | 4.921 | 0.002 | 0.001 | 781.0 | 981.0 | NaN |
| Tex[113123.3701, 2] | 6.169 | 0.232 | 5.743 | 6.607 | 0.008 | 0.005 | 916.0 | 972.0 | NaN |
| Tex[113144.1573, 0] | 6.961 | 0.104 | 6.762 | 7.146 | 0.004 | 0.002 | 867.0 | 916.0 | NaN |
| Tex[113144.1573, 1] | 4.525 | 0.035 | 4.461 | 4.593 | 0.001 | 0.001 | 847.0 | 882.0 | NaN |
| Tex[113144.1573, 2] | 5.665 | 0.165 | 5.376 | 5.971 | 0.006 | 0.004 | 900.0 | 938.0 | NaN |
| Tex[113170.4915, 0] | 6.742 | 0.111 | 6.534 | 6.943 | 0.003 | 0.003 | 1012.0 | 972.0 | NaN |
| Tex[113170.4915, 1] | 4.362 | 0.039 | 4.290 | 4.434 | 0.001 | 0.001 | 1064.0 | 952.0 | NaN |
| Tex[113170.4915, 2] | 5.315 | 0.162 | 5.025 | 5.625 | 0.005 | 0.004 | 994.0 | 766.0 | NaN |
| Tex[113191.2787, 0] | 6.031 | 0.077 | 5.881 | 6.170 | 0.003 | 0.002 | 932.0 | 982.0 | NaN |
| Tex[113191.2787, 1] | 4.117 | 0.028 | 4.064 | 4.171 | 0.001 | 0.001 | 1165.0 | 1019.0 | NaN |
| Tex[113191.2787, 2] | 4.937 | 0.116 | 4.743 | 5.162 | 0.004 | 0.003 | 929.0 | 754.0 | NaN |
| Tex[113488.1202, 0] | 8.902 | 0.199 | 8.525 | 9.234 | 0.006 | 0.004 | 967.0 | 868.0 | NaN |
| Tex[113488.1202, 1] | 4.166 | 0.036 | 4.100 | 4.232 | 0.001 | 0.001 | 1009.0 | 1017.0 | NaN |
| Tex[113488.1202, 2] | 5.446 | 0.169 | 5.176 | 5.806 | 0.005 | 0.004 | 1000.0 | 703.0 | NaN |
| Tex[113490.9702, 0] | 8.356 | 0.344 | 7.746 | 8.997 | 0.012 | 0.007 | 902.0 | 879.0 | NaN |
| Tex[113490.9702, 1] | 4.350 | 0.068 | 4.224 | 4.476 | 0.002 | 0.001 | 1040.0 | 866.0 | NaN |
| Tex[113490.9702, 2] | 4.349 | 0.199 | 4.021 | 4.757 | 0.006 | 0.004 | 1057.0 | 981.0 | NaN |
| Tex[113499.6443, 0] | 7.434 | 0.146 | 7.171 | 7.710 | 0.005 | 0.003 | 1007.0 | 937.0 | NaN |
| Tex[113499.6443, 1] | 5.272 | 0.060 | 5.162 | 5.383 | 0.002 | 0.001 | 993.0 | 982.0 | NaN |
| Tex[113499.6443, 2] | 6.073 | 0.213 | 5.687 | 6.484 | 0.007 | 0.005 | 913.0 | 1031.0 | NaN |
| Tex[113508.9074, 0] | 7.705 | 0.128 | 7.446 | 7.926 | 0.004 | 0.003 | 945.0 | 724.0 | NaN |
| Tex[113508.9074, 1] | 3.942 | 0.026 | 3.892 | 3.988 | 0.001 | 0.001 | 1166.0 | 1080.0 | NaN |
| Tex[113508.9074, 2] | 5.051 | 0.120 | 4.814 | 5.253 | 0.004 | 0.003 | 910.0 | 924.0 | NaN |
| Tex[113520.4315, 0] | 6.581 | 0.093 | 6.409 | 6.759 | 0.003 | 0.002 | 1036.0 | 942.0 | NaN |
| Tex[113520.4315, 1] | 4.919 | 0.042 | 4.843 | 5.000 | 0.001 | 0.001 | 893.0 | 850.0 | NaN |
| Tex[113520.4315, 2] | 5.586 | 0.153 | 5.302 | 5.864 | 0.005 | 0.003 | 897.0 | 932.0 | NaN |
| tau[113123.3701, 0] | 0.006 | 0.000 | 0.006 | 0.006 | 0.000 | 0.000 | 990.0 | 956.0 | NaN |
| tau[113123.3701, 1] | 0.027 | 0.001 | 0.026 | 0.028 | 0.000 | 0.000 | 929.0 | 982.0 | NaN |
| tau[113123.3701, 2] | 0.007 | 0.000 | 0.006 | 0.008 | 0.000 | 0.000 | 1070.0 | 816.0 | NaN |
| tau[113144.1573, 0] | 0.057 | 0.001 | 0.055 | 0.059 | 0.000 | 0.000 | 827.0 | 952.0 | NaN |
| tau[113144.1573, 1] | 0.248 | 0.004 | 0.240 | 0.256 | 0.000 | 0.000 | 903.0 | 923.0 | NaN |
| tau[113144.1573, 2] | 0.064 | 0.003 | 0.059 | 0.069 | 0.000 | 0.000 | 941.0 | 976.0 | NaN |
| tau[113170.4915, 0] | 0.052 | 0.001 | 0.050 | 0.054 | 0.000 | 0.000 | 948.0 | 789.0 | NaN |
| tau[113170.4915, 1] | 0.229 | 0.004 | 0.221 | 0.238 | 0.000 | 0.000 | 940.0 | 838.0 | NaN |
| tau[113170.4915, 2] | 0.060 | 0.003 | 0.055 | 0.066 | 0.000 | 0.000 | 1172.0 | 954.0 | NaN |
| tau[113191.2787, 0] | 0.080 | 0.001 | 0.077 | 0.082 | 0.000 | 0.000 | 781.0 | 1023.0 | NaN |
| tau[113191.2787, 1] | 0.329 | 0.005 | 0.319 | 0.340 | 0.000 | 0.000 | 906.0 | 895.0 | NaN |
| tau[113191.2787, 2] | 0.088 | 0.003 | 0.081 | 0.094 | 0.000 | 0.000 | 994.0 | 992.0 | NaN |
| tau[113488.1202, 0] | 0.056 | 0.002 | 0.053 | 0.059 | 0.000 | 0.000 | 1012.0 | 731.0 | NaN |
| tau[113488.1202, 1] | 0.305 | 0.006 | 0.295 | 0.317 | 0.000 | 0.000 | 939.0 | 912.0 | NaN |
| tau[113488.1202, 2] | 0.077 | 0.004 | 0.070 | 0.084 | 0.000 | 0.000 | 1135.0 | 721.0 | NaN |
| tau[113490.9702, 0] | 0.171 | 0.006 | 0.160 | 0.183 | 0.000 | 0.000 | 839.0 | 769.0 | NaN |
| tau[113490.9702, 1] | 0.854 | 0.016 | 0.825 | 0.885 | 0.001 | 0.000 | 956.0 | 982.0 | NaN |
| tau[113490.9702, 2] | 0.251 | 0.012 | 0.231 | 0.273 | 0.000 | 0.000 | 1032.0 | 941.0 | NaN |
| tau[113499.6443, 0] | 0.050 | 0.001 | 0.048 | 0.053 | 0.000 | 0.000 | 1011.0 | 767.0 | NaN |
| tau[113499.6443, 1] | 0.213 | 0.004 | 0.204 | 0.221 | 0.000 | 0.000 | 944.0 | 948.0 | NaN |
| tau[113499.6443, 2] | 0.057 | 0.003 | 0.052 | 0.063 | 0.000 | 0.000 | 1072.0 | 875.0 | NaN |
| tau[113508.9074, 0] | 0.052 | 0.001 | 0.051 | 0.055 | 0.000 | 0.000 | 887.0 | 864.0 | NaN |
| tau[113508.9074, 1] | 0.260 | 0.004 | 0.251 | 0.268 | 0.000 | 0.000 | 918.0 | 939.0 | NaN |
| tau[113508.9074, 2] | 0.067 | 0.003 | 0.062 | 0.072 | 0.000 | 0.000 | 1021.0 | 1037.0 | NaN |
| tau[113520.4315, 0] | 0.007 | 0.000 | 0.007 | 0.008 | 0.000 | 0.000 | 906.0 | 947.0 | NaN |
| tau[113520.4315, 1] | 0.029 | 0.000 | 0.028 | 0.030 | 0.000 | 0.000 | 881.0 | 904.0 | NaN |
| tau[113520.4315, 2] | 0.008 | 0.000 | 0.007 | 0.009 | 0.000 | 0.000 | 994.0 | 908.0 | NaN |
| tau_total[0] | 0.531 | 0.011 | 0.509 | 0.552 | 0.000 | 0.000 | 782.0 | 785.0 | NaN |
| tau_total[1] | 2.494 | 0.042 | 2.415 | 2.573 | 0.001 | 0.001 | 922.0 | 978.0 | NaN |
| tau_total[2] | 0.679 | 0.027 | 0.632 | 0.731 | 0.001 | 0.001 | 1079.0 | 914.0 | NaN |
| TR[113123.3701, 0] | 5.520 | 0.161 | 5.192 | 5.778 | 0.005 | 0.004 | 954.0 | 1016.0 | NaN |
| TR[113123.3701, 1] | 2.608 | 0.044 | 2.532 | 2.696 | 0.002 | 0.001 | 781.0 | 981.0 | NaN |
| TR[113123.3701, 2] | 3.848 | 0.218 | 3.450 | 4.260 | 0.007 | 0.005 | 916.0 | 972.0 | NaN |
| TR[113144.1573, 0] | 4.595 | 0.099 | 4.406 | 4.771 | 0.003 | 0.002 | 867.0 | 916.0 | NaN |
| TR[113144.1573, 1] | 2.340 | 0.031 | 2.283 | 2.401 | 0.001 | 0.001 | 847.0 | 882.0 | NaN |
| TR[113144.1573, 2] | 3.377 | 0.153 | 3.111 | 3.662 | 0.005 | 0.003 | 900.0 | 938.0 | NaN |
| TR[113170.4915, 0] | 4.387 | 0.105 | 4.190 | 4.578 | 0.003 | 0.002 | 1012.0 | 972.0 | NaN |
| TR[113170.4915, 1] | 2.196 | 0.035 | 2.133 | 2.259 | 0.001 | 0.001 | 1064.0 | 952.0 | NaN |
| TR[113170.4915, 2] | 3.054 | 0.149 | 2.789 | 3.340 | 0.005 | 0.003 | 994.0 | 766.0 | NaN |
| TR[113191.2787, 0] | 3.717 | 0.072 | 3.577 | 3.847 | 0.002 | 0.002 | 932.0 | 982.0 | NaN |
| TR[113191.2787, 1] | 1.982 | 0.025 | 1.936 | 2.028 | 0.001 | 0.001 | 1165.0 | 1019.0 | NaN |
| TR[113191.2787, 2] | 2.709 | 0.105 | 2.534 | 2.913 | 0.003 | 0.002 | 929.0 | 754.0 | NaN |
| TR[113488.1202, 0] | 6.455 | 0.192 | 6.090 | 6.777 | 0.006 | 0.004 | 967.0 | 868.0 | NaN |
| TR[113488.1202, 1] | 2.019 | 0.032 | 1.962 | 2.078 | 0.001 | 0.001 | 1009.0 | 1017.0 | NaN |
| TR[113488.1202, 2] | 3.170 | 0.156 | 2.922 | 3.502 | 0.005 | 0.004 | 1000.0 | 703.0 | NaN |
| TR[113490.9702, 0] | 5.927 | 0.332 | 5.339 | 6.546 | 0.011 | 0.007 | 902.0 | 879.0 | NaN |
| TR[113490.9702, 1] | 2.180 | 0.060 | 2.070 | 2.292 | 0.002 | 0.001 | 1040.0 | 866.0 | NaN |
| TR[113490.9702, 2] | 2.181 | 0.175 | 1.895 | 2.543 | 0.005 | 0.004 | 1057.0 | 981.0 | NaN |
| TR[113499.6443, 0] | 5.041 | 0.140 | 4.789 | 5.305 | 0.004 | 0.003 | 1007.0 | 937.0 | NaN |
| TR[113499.6443, 1] | 3.010 | 0.055 | 2.909 | 3.111 | 0.002 | 0.001 | 993.0 | 982.0 | NaN |
| TR[113499.6443, 2] | 3.752 | 0.199 | 3.391 | 4.138 | 0.007 | 0.004 | 913.0 | 1031.0 | NaN |
| TR[113508.9074, 0] | 5.300 | 0.123 | 5.051 | 5.512 | 0.004 | 0.003 | 945.0 | 724.0 | NaN |
| TR[113508.9074, 1] | 1.826 | 0.022 | 1.784 | 1.866 | 0.001 | 0.001 | 1166.0 | 1080.0 | NaN |
| TR[113508.9074, 2] | 2.808 | 0.109 | 2.594 | 2.992 | 0.004 | 0.002 | 910.0 | 924.0 | NaN |
| TR[113520.4315, 0] | 4.228 | 0.087 | 4.066 | 4.397 | 0.003 | 0.002 | 1036.0 | 942.0 | NaN |
| TR[113520.4315, 1] | 2.688 | 0.038 | 2.619 | 2.761 | 0.001 | 0.001 | 893.0 | 850.0 | NaN |
| TR[113520.4315, 2] | 3.298 | 0.141 | 3.037 | 3.556 | 0.005 | 0.003 | 897.0 | 932.0 | NaN |
[17]:
posterior = model.sample_posterior_predictive(
thin=10, # keep one in {thin} posterior samples
)
_ = plot_predictive(model.data, posterior.posterior_predictive)
Sampling: [12CN-1, 12CN-2]
MCMC
We increase target_accept since this model has some degeneracies.
[18]:
start = time.time()
model.sample(
init="advi+adapt_diag", # initialization strategy
tune=1000, # tuning samples
draws=1000, # posterior samples
chains=8, # number of independent chains
cores=8, # number of parallel chains
init_kwargs={
"rel_tolerance": 0.005,
"abs_tolerance": 0.005,
"learning_rate": 0.001,
"start": {"velocity_norm": np.linspace(0.1, 0.9, model.n_clouds)},
}, # VI initialization arguments
nuts_kwargs={"target_accept": 0.9}, # NUTS arguments
)
end = time.time()
print(f"Runtime: {(end-start)/60.0:.2f} minutes")
Initializing NUTS using custom advi+adapt_diag strategy
Convergence achieved at 72200
Interrupted at 72,199 [7%]: Average Loss = 1.8103e+26
Multiprocess sampling (8 chains in 8 jobs)
NUTS: [baseline_12CN-1_norm, baseline_12CN-2_norm, log10_Ntot_norm, fwhm2_norm, velocity_norm, log10_Tex_CTEX_norm, log10_CTEX_variance_norm, weights]
Sampling 8 chains for 1_000 tune and 1_000 draw iterations (8_000 + 8_000 draws total) took 508 seconds.
Adding log-likelihood to trace
Runtime: 19.77 minutes
[19]:
model.solve(
init_params="random_from_data", # GMM initialization strategy
n_init=10, # number of GMM initilizations
max_iter=1_000, # maximum number of GMM iterations
kl_div_threshold=0.1, # covergence threshold
)
GMM converged to unique solution
[20]:
print("solutions:", model.solutions)
az.summary(model.trace.solution_0)
# this also works: az.summary(model.trace.solution_0)
solutions: [0]
/home/twenger/miniforge3/envs/bayes_spec-dev/lib/python3.13/site-packages/arviz/stats/diagnostics.py:596: RuntimeWarning: invalid value encountered in scalar divide
(between_chain_variance / within_chain_variance + num_samples - 1) / (num_samples)
/home/twenger/miniforge3/envs/bayes_spec-dev/lib/python3.13/site-packages/arviz/stats/diagnostics.py:991: RuntimeWarning: invalid value encountered in scalar divide
varsd = varvar / evar / 4
/home/twenger/miniforge3/envs/bayes_spec-dev/lib/python3.13/site-packages/arviz/stats/diagnostics.py:596: RuntimeWarning: invalid value encountered in scalar divide
(between_chain_variance / within_chain_variance + num_samples - 1) / (num_samples)
/home/twenger/miniforge3/envs/bayes_spec-dev/lib/python3.13/site-packages/arviz/stats/diagnostics.py:991: RuntimeWarning: invalid value encountered in scalar divide
varsd = varvar / evar / 4
/home/twenger/miniforge3/envs/bayes_spec-dev/lib/python3.13/site-packages/arviz/stats/diagnostics.py:596: RuntimeWarning: invalid value encountered in scalar divide
(between_chain_variance / within_chain_variance + num_samples - 1) / (num_samples)
/home/twenger/miniforge3/envs/bayes_spec-dev/lib/python3.13/site-packages/arviz/stats/diagnostics.py:991: RuntimeWarning: invalid value encountered in scalar divide
varsd = varvar / evar / 4
[20]:
| mean | sd | hdi_3% | hdi_97% | mcse_mean | mcse_sd | ess_bulk | ess_tail | r_hat | |
|---|---|---|---|---|---|---|---|---|---|
| baseline_12CN-1_norm[0] | -0.046 | 0.044 | -0.128 | 0.036 | 0.000 | 0.001 | 8602.0 | 5324.0 | 1.00 |
| baseline_12CN-2_norm[0] | -0.119 | 0.062 | -0.230 | 0.003 | 0.001 | 0.001 | 9538.0 | 5722.0 | 1.00 |
| log10_Ntot_norm[0] | 0.292 | 0.211 | -0.117 | 0.668 | 0.005 | 0.004 | 1599.0 | 1314.0 | 1.01 |
| log10_Ntot_norm[1] | 0.813 | 0.125 | 0.578 | 1.043 | 0.003 | 0.002 | 1862.0 | 2341.0 | 1.00 |
| log10_Ntot_norm[2] | 0.951 | 0.189 | 0.595 | 1.315 | 0.004 | 0.003 | 1939.0 | 1779.0 | 1.00 |
| log10_Tex_CTEX_norm[0] | -0.191 | 0.311 | -0.650 | 0.414 | 0.009 | 0.011 | 1849.0 | 1444.0 | 1.01 |
| log10_Tex_CTEX_norm[1] | -0.522 | 0.109 | -0.716 | -0.309 | 0.002 | 0.002 | 2666.0 | 3340.0 | 1.00 |
| log10_Tex_CTEX_norm[2] | -0.979 | 0.046 | -1.054 | -0.892 | 0.001 | 0.001 | 2028.0 | 1878.0 | 1.00 |
| fwhm2_norm[0] | 1.026 | 0.102 | 0.837 | 1.214 | 0.002 | 0.001 | 1960.0 | 2527.0 | 1.01 |
| fwhm2_norm[1] | 1.492 | 0.128 | 1.250 | 1.725 | 0.003 | 0.002 | 2470.0 | 3741.0 | 1.00 |
| fwhm2_norm[2] | 2.737 | 0.355 | 2.059 | 3.368 | 0.006 | 0.004 | 4028.0 | 5397.0 | 1.00 |
| velocity_norm[0] | 0.167 | 0.002 | 0.163 | 0.170 | 0.000 | 0.000 | 6795.0 | 5946.0 | 1.00 |
| velocity_norm[1] | 0.499 | 0.002 | 0.495 | 0.503 | 0.000 | 0.000 | 5800.0 | 5898.0 | 1.00 |
| velocity_norm[2] | 0.921 | 0.007 | 0.907 | 0.934 | 0.000 | 0.000 | 6610.0 | 5793.0 | 1.00 |
| log10_CTEX_variance_norm[0] | 2.208 | 0.264 | 1.732 | 2.714 | 0.003 | 0.004 | 6359.0 | 4032.0 | 1.00 |
| log10_CTEX_variance_norm[1] | 1.821 | 0.263 | 1.353 | 2.322 | 0.004 | 0.003 | 5392.0 | 5525.0 | 1.00 |
| log10_CTEX_variance_norm[2] | 0.489 | 0.350 | 0.000 | 1.090 | 0.006 | 0.005 | 2672.0 | 2546.0 | 1.00 |
| weights[0, 0 0 1 1 -- --] | 0.158 | 0.015 | 0.130 | 0.182 | 0.000 | 0.000 | 1800.0 | 1689.0 | 1.01 |
| weights[0, 0 0 1 2 -- --] | 0.342 | 0.026 | 0.293 | 0.381 | 0.001 | 0.001 | 1645.0 | 1399.0 | 1.01 |
| weights[0, 1 0 1 1 -- --] | 0.052 | 0.005 | 0.044 | 0.062 | 0.000 | 0.000 | 1689.0 | 1434.0 | 1.01 |
| weights[0, 1 0 1 2 -- --] | 0.095 | 0.008 | 0.082 | 0.110 | 0.000 | 0.000 | 1670.0 | 1509.0 | 1.01 |
| weights[0, 1 0 2 1 -- --] | 0.050 | 0.005 | 0.042 | 0.059 | 0.000 | 0.000 | 1754.0 | 1607.0 | 1.01 |
| weights[0, 1 0 2 2 -- --] | 0.111 | 0.011 | 0.093 | 0.132 | 0.000 | 0.000 | 1626.0 | 1505.0 | 1.01 |
| weights[0, 1 0 2 3 -- --] | 0.191 | 0.011 | 0.175 | 0.213 | 0.000 | 0.000 | 1677.0 | 1387.0 | 1.01 |
| weights[1, 0 0 1 1 -- --] | 0.177 | 0.007 | 0.164 | 0.189 | 0.000 | 0.000 | 2245.0 | 2928.0 | 1.00 |
| weights[1, 0 0 1 2 -- --] | 0.376 | 0.009 | 0.359 | 0.392 | 0.000 | 0.000 | 2076.0 | 2648.0 | 1.00 |
| weights[1, 1 0 1 1 -- --] | 0.052 | 0.003 | 0.048 | 0.057 | 0.000 | 0.000 | 1981.0 | 2497.0 | 1.00 |
| weights[1, 1 0 1 2 -- --] | 0.094 | 0.004 | 0.087 | 0.101 | 0.000 | 0.000 | 1968.0 | 2463.0 | 1.00 |
| weights[1, 1 0 2 1 -- --] | 0.057 | 0.003 | 0.051 | 0.063 | 0.000 | 0.000 | 2009.0 | 2430.0 | 1.00 |
| weights[1, 1 0 2 2 -- --] | 0.089 | 0.003 | 0.083 | 0.095 | 0.000 | 0.000 | 2091.0 | 2488.0 | 1.00 |
| weights[1, 1 0 2 3 -- --] | 0.154 | 0.003 | 0.150 | 0.160 | 0.000 | 0.000 | 2542.0 | 3285.0 | 1.00 |
| weights[2, 0 0 1 1 -- --] | 0.214 | 0.004 | 0.206 | 0.221 | 0.000 | 0.000 | 2341.0 | 2046.0 | 1.00 |
| weights[2, 0 0 1 2 -- --] | 0.432 | 0.006 | 0.420 | 0.443 | 0.000 | 0.000 | 2090.0 | 1892.0 | 1.00 |
| weights[2, 1 0 1 1 -- --] | 0.040 | 0.002 | 0.038 | 0.043 | 0.000 | 0.000 | 2218.0 | 1841.0 | 1.00 |
| weights[2, 1 0 1 2 -- --] | 0.078 | 0.003 | 0.073 | 0.082 | 0.000 | 0.000 | 2121.0 | 2006.0 | 1.00 |
| weights[2, 1 0 2 1 -- --] | 0.040 | 0.002 | 0.037 | 0.043 | 0.000 | 0.000 | 2317.0 | 2016.0 | 1.00 |
| weights[2, 1 0 2 2 -- --] | 0.078 | 0.003 | 0.073 | 0.083 | 0.000 | 0.000 | 2090.0 | 1741.0 | 1.00 |
| weights[2, 1 0 2 3 -- --] | 0.118 | 0.002 | 0.114 | 0.122 | 0.000 | 0.000 | 2474.0 | 2435.0 | 1.00 |
| log10_Ntot[0] | 13.646 | 0.106 | 13.441 | 13.834 | 0.003 | 0.002 | 1599.0 | 1314.0 | 1.01 |
| log10_Ntot[1] | 13.906 | 0.062 | 13.789 | 14.021 | 0.001 | 0.001 | 1862.0 | 2341.0 | 1.00 |
| log10_Ntot[2] | 13.976 | 0.095 | 13.798 | 14.158 | 0.002 | 0.002 | 1939.0 | 1779.0 | 1.00 |
| fwhm2[0] | 1.026 | 0.102 | 0.837 | 1.214 | 0.002 | 0.001 | 1960.0 | 2527.0 | 1.01 |
| fwhm2[1] | 1.492 | 0.128 | 1.250 | 1.725 | 0.003 | 0.002 | 2470.0 | 3741.0 | 1.00 |
| fwhm2[2] | 2.737 | 0.355 | 2.059 | 3.368 | 0.006 | 0.004 | 4028.0 | 5397.0 | 1.00 |
| velocity[0] | -2.001 | 0.010 | -2.020 | -1.981 | 0.000 | 0.000 | 6795.0 | 5946.0 | 1.00 |
| velocity[1] | -0.007 | 0.013 | -0.032 | 0.018 | 0.000 | 0.000 | 5800.0 | 5898.0 | 1.00 |
| velocity[2] | 2.524 | 0.043 | 2.442 | 2.605 | 0.001 | 0.000 | 6610.0 | 5793.0 | 1.00 |
| log10_Tex_CTEX[0] | 0.702 | 0.078 | 0.588 | 0.854 | 0.002 | 0.003 | 1849.0 | 1444.0 | 1.01 |
| log10_Tex_CTEX[1] | 0.620 | 0.027 | 0.571 | 0.673 | 0.001 | 0.001 | 2666.0 | 3340.0 | 1.00 |
| log10_Tex_CTEX[2] | 0.505 | 0.012 | 0.487 | 0.527 | 0.000 | 0.000 | 2028.0 | 1878.0 | 1.00 |
| CTEX_weights[0, 0 0 1 1 -- --] | 2.000 | 0.000 | 1.999 | 2.000 | 0.000 | 0.000 | 1849.0 | 1444.0 | 1.01 |
| CTEX_weights[0, 0 0 1 2 -- --] | 4.000 | 0.000 | 4.000 | 4.000 | 0.000 | NaN | 8000.0 | 8000.0 | NaN |
| CTEX_weights[0, 1 0 1 1 -- --] | 0.681 | 0.128 | 0.477 | 0.921 | 0.004 | 0.004 | 1849.0 | 1444.0 | 1.01 |
| CTEX_weights[0, 1 0 1 2 -- --] | 1.361 | 0.257 | 0.954 | 1.841 | 0.007 | 0.008 | 1849.0 | 1444.0 | 1.01 |
| CTEX_weights[0, 1 0 2 1 -- --] | 0.678 | 0.128 | 0.475 | 0.918 | 0.004 | 0.004 | 1849.0 | 1444.0 | 1.01 |
| CTEX_weights[0, 1 0 2 2 -- --] | 1.357 | 0.257 | 0.950 | 1.837 | 0.007 | 0.008 | 1849.0 | 1444.0 | 1.01 |
| CTEX_weights[0, 1 0 2 3 -- --] | 2.035 | 0.385 | 1.426 | 2.755 | 0.011 | 0.012 | 1849.0 | 1444.0 | 1.01 |
| CTEX_weights[1, 0 0 1 1 -- --] | 2.000 | 0.000 | 1.999 | 2.000 | 0.000 | 0.000 | 2666.0 | 3340.0 | 1.00 |
| CTEX_weights[1, 0 0 1 2 -- --] | 4.000 | 0.000 | 4.000 | 4.000 | 0.000 | NaN | 8000.0 | 8000.0 | NaN |
| CTEX_weights[1, 1 0 1 1 -- --] | 0.543 | 0.045 | 0.465 | 0.630 | 0.001 | 0.001 | 2666.0 | 3340.0 | 1.00 |
| CTEX_weights[1, 1 0 1 2 -- --] | 1.086 | 0.089 | 0.929 | 1.260 | 0.002 | 0.002 | 2666.0 | 3340.0 | 1.00 |
| CTEX_weights[1, 1 0 2 1 -- --] | 0.541 | 0.045 | 0.463 | 0.628 | 0.001 | 0.001 | 2666.0 | 3340.0 | 1.00 |
| CTEX_weights[1, 1 0 2 2 -- --] | 1.082 | 0.089 | 0.925 | 1.256 | 0.002 | 0.002 | 2666.0 | 3340.0 | 1.00 |
| CTEX_weights[1, 1 0 2 3 -- --] | 1.624 | 0.134 | 1.388 | 1.884 | 0.003 | 0.003 | 2666.0 | 3340.0 | 1.00 |
| CTEX_weights[2, 0 0 1 1 -- --] | 1.999 | 0.000 | 1.999 | 1.999 | 0.000 | 0.000 | 2028.0 | 1878.0 | 1.00 |
| CTEX_weights[2, 0 0 1 2 -- --] | 4.000 | 0.000 | 4.000 | 4.000 | 0.000 | NaN | 8000.0 | 8000.0 | NaN |
| CTEX_weights[2, 1 0 1 1 -- --] | 0.367 | 0.017 | 0.340 | 0.398 | 0.000 | 0.000 | 2028.0 | 1878.0 | 1.00 |
| CTEX_weights[2, 1 0 1 2 -- --] | 0.733 | 0.033 | 0.680 | 0.796 | 0.001 | 0.001 | 2028.0 | 1878.0 | 1.00 |
| CTEX_weights[2, 1 0 2 1 -- --] | 0.365 | 0.017 | 0.338 | 0.396 | 0.000 | 0.000 | 2028.0 | 1878.0 | 1.00 |
| CTEX_weights[2, 1 0 2 2 -- --] | 0.730 | 0.033 | 0.677 | 0.792 | 0.001 | 0.001 | 2028.0 | 1878.0 | 1.00 |
| CTEX_weights[2, 1 0 2 3 -- --] | 1.095 | 0.050 | 1.015 | 1.189 | 0.001 | 0.001 | 2028.0 | 1878.0 | 1.00 |
| log10_CTEX_variance[0] | -1.792 | 0.264 | -2.268 | -1.286 | 0.003 | 0.004 | 6359.0 | 4032.0 | 1.00 |
| log10_CTEX_variance[1] | -2.179 | 0.263 | -2.647 | -1.678 | 0.004 | 0.003 | 5392.0 | 5525.0 | 1.00 |
| log10_CTEX_variance[2] | -3.511 | 0.350 | -4.000 | -2.910 | 0.006 | 0.005 | 2672.0 | 2546.0 | 1.00 |
| Tex[113123.3701, 0] | 5.142 | 2.052 | 3.741 | 7.065 | 0.044 | 0.517 | 1684.0 | 1433.0 | 1.01 |
| Tex[113123.3701, 1] | 4.481 | 0.347 | 3.939 | 5.115 | 0.008 | 0.010 | 1973.0 | 2481.0 | 1.00 |
| Tex[113123.3701, 2] | 3.253 | 0.120 | 3.065 | 3.468 | 0.003 | 0.004 | 2120.0 | 1923.0 | 1.00 |
| Tex[113144.1573, 0] | 4.707 | 0.930 | 3.677 | 6.195 | 0.026 | 0.055 | 1620.0 | 1473.0 | 1.01 |
| Tex[113144.1573, 1] | 4.255 | 0.255 | 3.844 | 4.735 | 0.006 | 0.006 | 1894.0 | 2248.0 | 1.00 |
| Tex[113144.1573, 2] | 3.237 | 0.107 | 3.065 | 3.430 | 0.003 | 0.003 | 2060.0 | 1737.0 | 1.00 |
| Tex[113170.4915, 0] | 4.648 | 0.981 | 3.604 | 6.111 | 0.027 | 0.067 | 1671.0 | 1453.0 | 1.01 |
| Tex[113170.4915, 1] | 4.112 | 0.247 | 3.713 | 4.554 | 0.006 | 0.007 | 1937.0 | 2458.0 | 1.00 |
| Tex[113170.4915, 2] | 3.187 | 0.096 | 3.032 | 3.363 | 0.002 | 0.003 | 2040.0 | 1955.0 | 1.00 |
| Tex[113191.2787, 0] | 4.317 | 0.675 | 3.528 | 5.450 | 0.019 | 0.034 | 1632.0 | 1485.0 | 1.01 |
| Tex[113191.2787, 1] | 3.924 | 0.183 | 3.625 | 4.277 | 0.004 | 0.004 | 1928.0 | 2457.0 | 1.00 |
| Tex[113191.2787, 2] | 3.172 | 0.087 | 3.025 | 3.332 | 0.002 | 0.002 | 2035.0 | 1813.0 | 1.00 |
| Tex[113488.1202, 0] | 6.028 | 53.913 | 3.959 | 7.759 | 0.607 | 26.733 | 1634.0 | 1379.0 | 1.01 |
| Tex[113488.1202, 1] | 3.953 | 0.212 | 3.613 | 4.344 | 0.005 | 0.006 | 1925.0 | 2458.0 | 1.00 |
| Tex[113488.1202, 2] | 3.200 | 0.098 | 3.048 | 3.385 | 0.002 | 0.003 | 2011.0 | 1685.0 | 1.00 |
| Tex[113490.9702, 0] | 5.669 | 1.100 | 4.566 | 7.342 | 0.031 | 0.072 | 1605.0 | 1380.0 | 1.01 |
| Tex[113490.9702, 1] | 4.206 | 0.125 | 4.001 | 4.435 | 0.003 | 0.003 | 1914.0 | 2441.0 | 1.00 |
| Tex[113490.9702, 2] | 3.195 | 0.062 | 3.094 | 3.306 | 0.001 | 0.002 | 2126.0 | 1965.0 | 1.00 |
| Tex[113499.6443, 0] | 4.868 | 1.270 | 3.675 | 6.613 | 0.034 | 0.131 | 1641.0 | 1419.0 | 1.01 |
| Tex[113499.6443, 1] | 4.847 | 0.415 | 4.191 | 5.580 | 0.010 | 0.013 | 1873.0 | 2186.0 | 1.00 |
| Tex[113499.6443, 2] | 3.251 | 0.115 | 3.073 | 3.456 | 0.003 | 0.004 | 2099.0 | 1807.0 | 1.00 |
| Tex[113508.9074, 0] | 4.992 | 1.126 | 3.815 | 6.725 | 0.031 | 0.072 | 1619.0 | 1409.0 | 1.01 |
| Tex[113508.9074, 1] | 3.780 | 0.161 | 3.502 | 4.077 | 0.004 | 0.004 | 2015.0 | 2478.0 | 1.00 |
| Tex[113508.9074, 2] | 3.185 | 0.089 | 3.032 | 3.344 | 0.002 | 0.002 | 2022.0 | 1766.0 | 1.00 |
| Tex[113520.4315, 0] | 4.504 | 0.843 | 3.555 | 5.880 | 0.023 | 0.045 | 1673.0 | 1472.0 | 1.01 |
| Tex[113520.4315, 1] | 4.587 | 0.322 | 4.073 | 5.199 | 0.008 | 0.007 | 1989.0 | 2470.0 | 1.00 |
| Tex[113520.4315, 2] | 3.236 | 0.107 | 3.056 | 3.422 | 0.003 | 0.003 | 2151.0 | 1922.0 | 1.00 |
| tau[113123.3701, 0] | 0.017 | 0.007 | 0.006 | 0.031 | 0.000 | 0.000 | 1625.0 | 1344.0 | 1.01 |
| tau[113123.3701, 1] | 0.036 | 0.007 | 0.022 | 0.050 | 0.000 | 0.000 | 1863.0 | 2314.0 | 1.00 |
| tau[113123.3701, 2] | 0.059 | 0.014 | 0.033 | 0.087 | 0.000 | 0.000 | 1928.0 | 1727.0 | 1.00 |
| tau[113144.1573, 0] | 0.159 | 0.057 | 0.055 | 0.267 | 0.001 | 0.001 | 1596.0 | 1369.0 | 1.01 |
| tau[113144.1573, 1] | 0.318 | 0.060 | 0.210 | 0.432 | 0.001 | 0.001 | 1851.0 | 2325.0 | 1.00 |
| tau[113144.1573, 2] | 0.488 | 0.116 | 0.271 | 0.705 | 0.003 | 0.002 | 1928.0 | 1738.0 | 1.00 |
| tau[113170.4915, 0] | 0.146 | 0.054 | 0.048 | 0.248 | 0.001 | 0.001 | 1622.0 | 1379.0 | 1.01 |
| tau[113170.4915, 1] | 0.298 | 0.059 | 0.188 | 0.407 | 0.001 | 0.001 | 1862.0 | 2268.0 | 1.00 |
| tau[113170.4915, 2] | 0.476 | 0.114 | 0.272 | 0.701 | 0.002 | 0.002 | 1930.0 | 1714.0 | 1.00 |
| tau[113191.2787, 0] | 0.210 | 0.072 | 0.080 | 0.349 | 0.002 | 0.001 | 1597.0 | 1421.0 | 1.01 |
| tau[113191.2787, 1] | 0.419 | 0.076 | 0.280 | 0.562 | 0.002 | 0.001 | 1857.0 | 2318.0 | 1.00 |
| tau[113191.2787, 2] | 0.624 | 0.147 | 0.361 | 0.914 | 0.003 | 0.002 | 1931.0 | 1800.0 | 1.00 |
| tau[113488.1202, 0] | 0.177 | 0.070 | 0.050 | 0.308 | 0.002 | 0.001 | 1620.0 | 1341.0 | 1.01 |
| tau[113488.1202, 1] | 0.395 | 0.077 | 0.252 | 0.539 | 0.002 | 0.001 | 1860.0 | 2323.0 | 1.00 |
| tau[113488.1202, 2] | 0.620 | 0.148 | 0.345 | 0.904 | 0.003 | 0.002 | 1929.0 | 1733.0 | 1.00 |
| tau[113490.9702, 0] | 0.487 | 0.175 | 0.168 | 0.818 | 0.004 | 0.003 | 1597.0 | 1421.0 | 1.01 |
| tau[113490.9702, 1] | 1.080 | 0.189 | 0.730 | 1.434 | 0.004 | 0.003 | 1858.0 | 2328.0 | 1.00 |
| tau[113490.9702, 2] | 1.657 | 0.387 | 0.937 | 2.393 | 0.008 | 0.006 | 1935.0 | 1798.0 | 1.00 |
| tau[113499.6443, 0] | 0.147 | 0.056 | 0.046 | 0.252 | 0.001 | 0.001 | 1616.0 | 1349.0 | 1.01 |
| tau[113499.6443, 1] | 0.283 | 0.060 | 0.169 | 0.391 | 0.001 | 0.001 | 1855.0 | 2284.0 | 1.00 |
| tau[113499.6443, 2] | 0.486 | 0.117 | 0.271 | 0.711 | 0.003 | 0.002 | 1929.0 | 1731.0 | 1.00 |
| tau[113508.9074, 0] | 0.152 | 0.056 | 0.052 | 0.258 | 0.001 | 0.001 | 1597.0 | 1431.0 | 1.01 |
| tau[113508.9074, 1] | 0.329 | 0.059 | 0.219 | 0.438 | 0.001 | 0.001 | 1859.0 | 2339.0 | 1.00 |
| tau[113508.9074, 2] | 0.482 | 0.114 | 0.277 | 0.705 | 0.002 | 0.002 | 1930.0 | 1798.0 | 1.00 |
| tau[113520.4315, 0] | 0.020 | 0.007 | 0.007 | 0.033 | 0.000 | 0.000 | 1600.0 | 1452.0 | 1.01 |
| tau[113520.4315, 1] | 0.038 | 0.007 | 0.024 | 0.051 | 0.000 | 0.000 | 1862.0 | 2320.0 | 1.00 |
| tau[113520.4315, 2] | 0.060 | 0.014 | 0.034 | 0.087 | 0.000 | 0.000 | 1930.0 | 1767.0 | 1.00 |
| tau_total[0] | 1.516 | 0.551 | 0.504 | 2.552 | 0.013 | 0.008 | 1595.0 | 1371.0 | 1.01 |
| tau_total[1] | 3.195 | 0.592 | 2.140 | 4.344 | 0.014 | 0.008 | 1847.0 | 2331.0 | 1.00 |
| tau_total[2] | 4.952 | 1.171 | 2.784 | 7.184 | 0.026 | 0.017 | 1930.0 | 1771.0 | 1.00 |
| TR[113123.3701, 0] | 2.916 | 2.000 | 1.661 | 4.695 | 0.042 | 0.525 | 1684.0 | 1433.0 | 1.01 |
| TR[113123.3701, 1] | 2.304 | 0.311 | 1.828 | 2.872 | 0.007 | 0.009 | 1973.0 | 2481.0 | 1.00 |
| TR[113123.3701, 2] | 1.261 | 0.097 | 1.113 | 1.434 | 0.002 | 0.003 | 2120.0 | 1923.0 | 1.00 |
| TR[113144.1573, 0] | 2.515 | 0.863 | 1.561 | 3.823 | 0.024 | 0.054 | 1620.0 | 1473.0 | 1.01 |
| TR[113144.1573, 1] | 2.104 | 0.224 | 1.748 | 2.528 | 0.005 | 0.005 | 1894.0 | 2248.0 | 1.00 |
| TR[113144.1573, 2] | 1.248 | 0.086 | 1.103 | 1.394 | 0.002 | 0.003 | 2060.0 | 1737.0 | 1.00 |
| TR[113170.4915, 0] | 2.463 | 0.913 | 1.546 | 3.792 | 0.025 | 0.067 | 1671.0 | 1453.0 | 1.01 |
| TR[113170.4915, 1] | 1.979 | 0.216 | 1.637 | 2.366 | 0.005 | 0.006 | 1937.0 | 2458.0 | 1.00 |
| TR[113170.4915, 2] | 1.208 | 0.077 | 1.086 | 1.349 | 0.002 | 0.003 | 2040.0 | 1955.0 | 1.00 |
| TR[113191.2787, 0] | 2.165 | 0.612 | 1.483 | 3.178 | 0.017 | 0.032 | 1632.0 | 1485.0 | 1.01 |
| TR[113191.2787, 1] | 1.816 | 0.157 | 1.563 | 2.121 | 0.004 | 0.004 | 1928.0 | 2457.0 | 1.00 |
| TR[113191.2787, 2] | 1.196 | 0.069 | 1.075 | 1.317 | 0.002 | 0.002 | 2035.0 | 1813.0 | 1.00 |
| TR[113488.1202, 0] | 3.771 | 53.906 | 1.841 | 5.352 | 0.607 | 26.731 | 1634.0 | 1379.0 | 1.01 |
| TR[113488.1202, 1] | 1.838 | 0.183 | 1.540 | 2.166 | 0.004 | 0.005 | 1925.0 | 2458.0 | 1.00 |
| TR[113488.1202, 2] | 1.215 | 0.078 | 1.089 | 1.356 | 0.002 | 0.003 | 2011.0 | 1685.0 | 1.00 |
| TR[113490.9702, 0] | 3.385 | 1.046 | 2.372 | 4.953 | 0.030 | 0.071 | 1605.0 | 1380.0 | 1.01 |
| TR[113490.9702, 1] | 2.055 | 0.109 | 1.877 | 2.256 | 0.003 | 0.003 | 1914.0 | 2441.0 | 1.00 |
| TR[113490.9702, 2] | 1.210 | 0.049 | 1.131 | 1.299 | 0.001 | 0.001 | 2126.0 | 1965.0 | 1.00 |
| TR[113499.6443, 0] | 2.659 | 1.202 | 1.601 | 4.259 | 0.032 | 0.133 | 1641.0 | 1419.0 | 1.01 |
| TR[113499.6443, 1] | 2.626 | 0.377 | 2.042 | 3.293 | 0.009 | 0.012 | 1873.0 | 2186.0 | 1.00 |
| TR[113499.6443, 2] | 1.256 | 0.093 | 1.115 | 1.420 | 0.002 | 0.003 | 2099.0 | 1807.0 | 1.00 |
| TR[113508.9074, 0] | 2.769 | 1.058 | 1.709 | 4.356 | 0.029 | 0.071 | 1619.0 | 1409.0 | 1.01 |
| TR[113508.9074, 1] | 1.690 | 0.137 | 1.457 | 1.943 | 0.003 | 0.003 | 2015.0 | 2478.0 | 1.00 |
| TR[113508.9074, 2] | 1.203 | 0.071 | 1.083 | 1.329 | 0.002 | 0.002 | 2022.0 | 1766.0 | 1.00 |
| TR[113520.4315, 0] | 2.328 | 0.774 | 1.501 | 3.571 | 0.021 | 0.044 | 1673.0 | 1472.0 | 1.01 |
| TR[113520.4315, 1] | 2.392 | 0.289 | 1.916 | 2.918 | 0.007 | 0.007 | 1989.0 | 2470.0 | 1.00 |
| TR[113520.4315, 2] | 1.243 | 0.086 | 1.101 | 1.392 | 0.002 | 0.003 | 2151.0 | 1922.0 | 1.00 |
[21]:
posterior = model.sample_posterior_predictive(
thin=10, # keep one in {thin} posterior samples
)
_ = plot_predictive(model.data, posterior.posterior_predictive)
Sampling: [12CN-1, 12CN-2]
[22]:
from bayes_spec.plots import plot_traces
axes = plot_traces(model.trace.solution_0, model.cloud_freeRVs + model.baseline_freeRVs + model.hyper_freeRVs)
fig = axes.ravel()[0].figure
fig.tight_layout()
[23]:
var_names = [
param for param in model.cloud_freeRVs
if not set(model.model.named_vars_to_dims[param]).intersection(set(["transition", "state"]))
]
print(var_names)
_ = plot_pair(
model.trace.solution_0.sel(draw=slice(None, None, 10)), # samples
var_names, # var_names to plot
combine_dims=["cloud"], # concatenate clouds
kind="scatter", # plot type
)
['log10_Ntot_norm', 'fwhm2_norm', 'velocity_norm', 'log10_Tex_CTEX_norm', 'log10_CTEX_variance_norm']
[24]:
_ = plot_pair(
model.trace.solution_0.sel(draw=slice(None, None, 10)), # samples
["velocity", "fwhm2"], # var_names to plot
combine_dims=None, # do not concatenate clouds
kind="scatter", # plot type
)
[25]:
_ = plot_pair(
model.trace.solution_0.sel(cloud=0, draw=slice(None, None, 10)), # samples
var_names, # var_names to plot
kind="scatter", # plot type
)
[26]:
_ = plot_pair(
model.trace.solution_0.sel(cloud=1, draw=slice(None, None, 10)), # samples
var_names, # var_names to plot
kind="scatter", # plot type
)
[27]:
_ = plot_pair(
model.trace.solution_0.sel(cloud=2, draw=slice(None, None, 10)), # samples
var_names, # var_names to plot
kind="scatter", # plot type
)
[28]:
var_names = [
param for param in model.cloud_deterministics + [p for p in model.cloud_freeRVs if "_norm" not in p]
if not set(model.model.named_vars_to_dims[param]).intersection(set(["transition", "state"]))
]
print(var_names)
_ = plot_pair(
model.trace.solution_0.sel(draw=slice(None, None, 10)), # samples
var_names, # var_names to plot
combine_dims=["cloud"], # concatenate clouds
labeller=model.labeller, # label manager
kind="scatter", # plot type
reference_values=sim_params, # truths
)
['log10_Ntot', 'fwhm2', 'velocity', 'log10_Tex_CTEX', 'log10_CTEX_variance', 'tau_total']
[29]:
# identify simulation cloud corresponding to each posterior cloud
sim_cloud_map = {}
for i in range(n_clouds):
posterior_velocity = model.trace.solution_0['velocity'].sel(cloud=i).data.mean()
match = np.argmin(np.abs(sim_params["velocity"] - posterior_velocity))
sim_cloud_map[i] = match
sim_cloud_map
[29]:
{0: np.int64(0), 1: np.int64(1), 2: np.int64(2)}
[30]:
cloud = 0
# subset of sim_params
my_sim_params = {}
for var_name in var_names:
my_sim_params[var_name] = sim_params[var_name][sim_cloud_map[cloud]]
_ = plot_pair(
model.trace.solution_0.sel(cloud=cloud, draw=slice(None, None, 10)), # samples
var_names, # var_names to plot
labeller=model.labeller, # label manager
kind="scatter", # plot type
reference_values=my_sim_params, # truths
)
[31]:
cloud = 1
# subset of sim_params
my_sim_params = {}
for var_name in var_names:
my_sim_params[var_name] = sim_params[var_name][sim_cloud_map[cloud]]
_ = plot_pair(
model.trace.solution_0.sel(cloud=cloud, draw=slice(None, None, 10)), # samples
var_names, # var_names to plot
labeller=model.labeller, # label manager
kind="scatter", # plot type
reference_values=my_sim_params, # truths
)
[32]:
cloud = 2
# subset of sim_params
my_sim_params = {}
for var_name in var_names:
my_sim_params[var_name] = sim_params[var_name][sim_cloud_map[cloud]]
_ = plot_pair(
model.trace.solution_0.sel(cloud=cloud, draw=slice(None, None, 10)), # samples
var_names, # var_names to plot
labeller=model.labeller, # label manager
kind="scatter", # plot type
reference_values=my_sim_params, # truths
)
[33]:
point_stats = az.summary(model.trace.solution_0, kind='stats')
print("BIC:", model.bic())
display(point_stats)
BIC: -3293.9259619615154
| mean | sd | hdi_3% | hdi_97% | |
|---|---|---|---|---|
| baseline_12CN-1_norm[0] | -0.046 | 0.044 | -0.128 | 0.036 |
| baseline_12CN-2_norm[0] | -0.119 | 0.062 | -0.230 | 0.003 |
| log10_Ntot_norm[0] | 0.292 | 0.211 | -0.117 | 0.668 |
| log10_Ntot_norm[1] | 0.813 | 0.125 | 0.578 | 1.043 |
| log10_Ntot_norm[2] | 0.951 | 0.189 | 0.595 | 1.315 |
| log10_Tex_CTEX_norm[0] | -0.191 | 0.311 | -0.650 | 0.414 |
| log10_Tex_CTEX_norm[1] | -0.522 | 0.109 | -0.716 | -0.309 |
| log10_Tex_CTEX_norm[2] | -0.979 | 0.046 | -1.054 | -0.892 |
| fwhm2_norm[0] | 1.026 | 0.102 | 0.837 | 1.214 |
| fwhm2_norm[1] | 1.492 | 0.128 | 1.250 | 1.725 |
| fwhm2_norm[2] | 2.737 | 0.355 | 2.059 | 3.368 |
| velocity_norm[0] | 0.167 | 0.002 | 0.163 | 0.170 |
| velocity_norm[1] | 0.499 | 0.002 | 0.495 | 0.503 |
| velocity_norm[2] | 0.921 | 0.007 | 0.907 | 0.934 |
| log10_CTEX_variance_norm[0] | 2.208 | 0.264 | 1.732 | 2.714 |
| log10_CTEX_variance_norm[1] | 1.821 | 0.263 | 1.353 | 2.322 |
| log10_CTEX_variance_norm[2] | 0.489 | 0.350 | 0.000 | 1.090 |
| weights[0, 0 0 1 1 -- --] | 0.158 | 0.015 | 0.130 | 0.182 |
| weights[0, 0 0 1 2 -- --] | 0.342 | 0.026 | 0.293 | 0.381 |
| weights[0, 1 0 1 1 -- --] | 0.052 | 0.005 | 0.044 | 0.062 |
| weights[0, 1 0 1 2 -- --] | 0.095 | 0.008 | 0.082 | 0.110 |
| weights[0, 1 0 2 1 -- --] | 0.050 | 0.005 | 0.042 | 0.059 |
| weights[0, 1 0 2 2 -- --] | 0.111 | 0.011 | 0.093 | 0.132 |
| weights[0, 1 0 2 3 -- --] | 0.191 | 0.011 | 0.175 | 0.213 |
| weights[1, 0 0 1 1 -- --] | 0.177 | 0.007 | 0.164 | 0.189 |
| weights[1, 0 0 1 2 -- --] | 0.376 | 0.009 | 0.359 | 0.392 |
| weights[1, 1 0 1 1 -- --] | 0.052 | 0.003 | 0.048 | 0.057 |
| weights[1, 1 0 1 2 -- --] | 0.094 | 0.004 | 0.087 | 0.101 |
| weights[1, 1 0 2 1 -- --] | 0.057 | 0.003 | 0.051 | 0.063 |
| weights[1, 1 0 2 2 -- --] | 0.089 | 0.003 | 0.083 | 0.095 |
| weights[1, 1 0 2 3 -- --] | 0.154 | 0.003 | 0.150 | 0.160 |
| weights[2, 0 0 1 1 -- --] | 0.214 | 0.004 | 0.206 | 0.221 |
| weights[2, 0 0 1 2 -- --] | 0.432 | 0.006 | 0.420 | 0.443 |
| weights[2, 1 0 1 1 -- --] | 0.040 | 0.002 | 0.038 | 0.043 |
| weights[2, 1 0 1 2 -- --] | 0.078 | 0.003 | 0.073 | 0.082 |
| weights[2, 1 0 2 1 -- --] | 0.040 | 0.002 | 0.037 | 0.043 |
| weights[2, 1 0 2 2 -- --] | 0.078 | 0.003 | 0.073 | 0.083 |
| weights[2, 1 0 2 3 -- --] | 0.118 | 0.002 | 0.114 | 0.122 |
| log10_Ntot[0] | 13.646 | 0.106 | 13.441 | 13.834 |
| log10_Ntot[1] | 13.906 | 0.062 | 13.789 | 14.021 |
| log10_Ntot[2] | 13.976 | 0.095 | 13.798 | 14.158 |
| fwhm2[0] | 1.026 | 0.102 | 0.837 | 1.214 |
| fwhm2[1] | 1.492 | 0.128 | 1.250 | 1.725 |
| fwhm2[2] | 2.737 | 0.355 | 2.059 | 3.368 |
| velocity[0] | -2.001 | 0.010 | -2.020 | -1.981 |
| velocity[1] | -0.007 | 0.013 | -0.032 | 0.018 |
| velocity[2] | 2.524 | 0.043 | 2.442 | 2.605 |
| log10_Tex_CTEX[0] | 0.702 | 0.078 | 0.588 | 0.854 |
| log10_Tex_CTEX[1] | 0.620 | 0.027 | 0.571 | 0.673 |
| log10_Tex_CTEX[2] | 0.505 | 0.012 | 0.487 | 0.527 |
| CTEX_weights[0, 0 0 1 1 -- --] | 2.000 | 0.000 | 1.999 | 2.000 |
| CTEX_weights[0, 0 0 1 2 -- --] | 4.000 | 0.000 | 4.000 | 4.000 |
| CTEX_weights[0, 1 0 1 1 -- --] | 0.681 | 0.128 | 0.477 | 0.921 |
| CTEX_weights[0, 1 0 1 2 -- --] | 1.361 | 0.257 | 0.954 | 1.841 |
| CTEX_weights[0, 1 0 2 1 -- --] | 0.678 | 0.128 | 0.475 | 0.918 |
| CTEX_weights[0, 1 0 2 2 -- --] | 1.357 | 0.257 | 0.950 | 1.837 |
| CTEX_weights[0, 1 0 2 3 -- --] | 2.035 | 0.385 | 1.426 | 2.755 |
| CTEX_weights[1, 0 0 1 1 -- --] | 2.000 | 0.000 | 1.999 | 2.000 |
| CTEX_weights[1, 0 0 1 2 -- --] | 4.000 | 0.000 | 4.000 | 4.000 |
| CTEX_weights[1, 1 0 1 1 -- --] | 0.543 | 0.045 | 0.465 | 0.630 |
| CTEX_weights[1, 1 0 1 2 -- --] | 1.086 | 0.089 | 0.929 | 1.260 |
| CTEX_weights[1, 1 0 2 1 -- --] | 0.541 | 0.045 | 0.463 | 0.628 |
| CTEX_weights[1, 1 0 2 2 -- --] | 1.082 | 0.089 | 0.925 | 1.256 |
| CTEX_weights[1, 1 0 2 3 -- --] | 1.624 | 0.134 | 1.388 | 1.884 |
| CTEX_weights[2, 0 0 1 1 -- --] | 1.999 | 0.000 | 1.999 | 1.999 |
| CTEX_weights[2, 0 0 1 2 -- --] | 4.000 | 0.000 | 4.000 | 4.000 |
| CTEX_weights[2, 1 0 1 1 -- --] | 0.367 | 0.017 | 0.340 | 0.398 |
| CTEX_weights[2, 1 0 1 2 -- --] | 0.733 | 0.033 | 0.680 | 0.796 |
| CTEX_weights[2, 1 0 2 1 -- --] | 0.365 | 0.017 | 0.338 | 0.396 |
| CTEX_weights[2, 1 0 2 2 -- --] | 0.730 | 0.033 | 0.677 | 0.792 |
| CTEX_weights[2, 1 0 2 3 -- --] | 1.095 | 0.050 | 1.015 | 1.189 |
| log10_CTEX_variance[0] | -1.792 | 0.264 | -2.268 | -1.286 |
| log10_CTEX_variance[1] | -2.179 | 0.263 | -2.647 | -1.678 |
| log10_CTEX_variance[2] | -3.511 | 0.350 | -4.000 | -2.910 |
| Tex[113123.3701, 0] | 5.142 | 2.052 | 3.741 | 7.065 |
| Tex[113123.3701, 1] | 4.481 | 0.347 | 3.939 | 5.115 |
| Tex[113123.3701, 2] | 3.253 | 0.120 | 3.065 | 3.468 |
| Tex[113144.1573, 0] | 4.707 | 0.930 | 3.677 | 6.195 |
| Tex[113144.1573, 1] | 4.255 | 0.255 | 3.844 | 4.735 |
| Tex[113144.1573, 2] | 3.237 | 0.107 | 3.065 | 3.430 |
| Tex[113170.4915, 0] | 4.648 | 0.981 | 3.604 | 6.111 |
| Tex[113170.4915, 1] | 4.112 | 0.247 | 3.713 | 4.554 |
| Tex[113170.4915, 2] | 3.187 | 0.096 | 3.032 | 3.363 |
| Tex[113191.2787, 0] | 4.317 | 0.675 | 3.528 | 5.450 |
| Tex[113191.2787, 1] | 3.924 | 0.183 | 3.625 | 4.277 |
| Tex[113191.2787, 2] | 3.172 | 0.087 | 3.025 | 3.332 |
| Tex[113488.1202, 0] | 6.028 | 53.913 | 3.959 | 7.759 |
| Tex[113488.1202, 1] | 3.953 | 0.212 | 3.613 | 4.344 |
| Tex[113488.1202, 2] | 3.200 | 0.098 | 3.048 | 3.385 |
| Tex[113490.9702, 0] | 5.669 | 1.100 | 4.566 | 7.342 |
| Tex[113490.9702, 1] | 4.206 | 0.125 | 4.001 | 4.435 |
| Tex[113490.9702, 2] | 3.195 | 0.062 | 3.094 | 3.306 |
| Tex[113499.6443, 0] | 4.868 | 1.270 | 3.675 | 6.613 |
| Tex[113499.6443, 1] | 4.847 | 0.415 | 4.191 | 5.580 |
| Tex[113499.6443, 2] | 3.251 | 0.115 | 3.073 | 3.456 |
| Tex[113508.9074, 0] | 4.992 | 1.126 | 3.815 | 6.725 |
| Tex[113508.9074, 1] | 3.780 | 0.161 | 3.502 | 4.077 |
| Tex[113508.9074, 2] | 3.185 | 0.089 | 3.032 | 3.344 |
| Tex[113520.4315, 0] | 4.504 | 0.843 | 3.555 | 5.880 |
| Tex[113520.4315, 1] | 4.587 | 0.322 | 4.073 | 5.199 |
| Tex[113520.4315, 2] | 3.236 | 0.107 | 3.056 | 3.422 |
| tau[113123.3701, 0] | 0.017 | 0.007 | 0.006 | 0.031 |
| tau[113123.3701, 1] | 0.036 | 0.007 | 0.022 | 0.050 |
| tau[113123.3701, 2] | 0.059 | 0.014 | 0.033 | 0.087 |
| tau[113144.1573, 0] | 0.159 | 0.057 | 0.055 | 0.267 |
| tau[113144.1573, 1] | 0.318 | 0.060 | 0.210 | 0.432 |
| tau[113144.1573, 2] | 0.488 | 0.116 | 0.271 | 0.705 |
| tau[113170.4915, 0] | 0.146 | 0.054 | 0.048 | 0.248 |
| tau[113170.4915, 1] | 0.298 | 0.059 | 0.188 | 0.407 |
| tau[113170.4915, 2] | 0.476 | 0.114 | 0.272 | 0.701 |
| tau[113191.2787, 0] | 0.210 | 0.072 | 0.080 | 0.349 |
| tau[113191.2787, 1] | 0.419 | 0.076 | 0.280 | 0.562 |
| tau[113191.2787, 2] | 0.624 | 0.147 | 0.361 | 0.914 |
| tau[113488.1202, 0] | 0.177 | 0.070 | 0.050 | 0.308 |
| tau[113488.1202, 1] | 0.395 | 0.077 | 0.252 | 0.539 |
| tau[113488.1202, 2] | 0.620 | 0.148 | 0.345 | 0.904 |
| tau[113490.9702, 0] | 0.487 | 0.175 | 0.168 | 0.818 |
| tau[113490.9702, 1] | 1.080 | 0.189 | 0.730 | 1.434 |
| tau[113490.9702, 2] | 1.657 | 0.387 | 0.937 | 2.393 |
| tau[113499.6443, 0] | 0.147 | 0.056 | 0.046 | 0.252 |
| tau[113499.6443, 1] | 0.283 | 0.060 | 0.169 | 0.391 |
| tau[113499.6443, 2] | 0.486 | 0.117 | 0.271 | 0.711 |
| tau[113508.9074, 0] | 0.152 | 0.056 | 0.052 | 0.258 |
| tau[113508.9074, 1] | 0.329 | 0.059 | 0.219 | 0.438 |
| tau[113508.9074, 2] | 0.482 | 0.114 | 0.277 | 0.705 |
| tau[113520.4315, 0] | 0.020 | 0.007 | 0.007 | 0.033 |
| tau[113520.4315, 1] | 0.038 | 0.007 | 0.024 | 0.051 |
| tau[113520.4315, 2] | 0.060 | 0.014 | 0.034 | 0.087 |
| tau_total[0] | 1.516 | 0.551 | 0.504 | 2.552 |
| tau_total[1] | 3.195 | 0.592 | 2.140 | 4.344 |
| tau_total[2] | 4.952 | 1.171 | 2.784 | 7.184 |
| TR[113123.3701, 0] | 2.916 | 2.000 | 1.661 | 4.695 |
| TR[113123.3701, 1] | 2.304 | 0.311 | 1.828 | 2.872 |
| TR[113123.3701, 2] | 1.261 | 0.097 | 1.113 | 1.434 |
| TR[113144.1573, 0] | 2.515 | 0.863 | 1.561 | 3.823 |
| TR[113144.1573, 1] | 2.104 | 0.224 | 1.748 | 2.528 |
| TR[113144.1573, 2] | 1.248 | 0.086 | 1.103 | 1.394 |
| TR[113170.4915, 0] | 2.463 | 0.913 | 1.546 | 3.792 |
| TR[113170.4915, 1] | 1.979 | 0.216 | 1.637 | 2.366 |
| TR[113170.4915, 2] | 1.208 | 0.077 | 1.086 | 1.349 |
| TR[113191.2787, 0] | 2.165 | 0.612 | 1.483 | 3.178 |
| TR[113191.2787, 1] | 1.816 | 0.157 | 1.563 | 2.121 |
| TR[113191.2787, 2] | 1.196 | 0.069 | 1.075 | 1.317 |
| TR[113488.1202, 0] | 3.771 | 53.906 | 1.841 | 5.352 |
| TR[113488.1202, 1] | 1.838 | 0.183 | 1.540 | 2.166 |
| TR[113488.1202, 2] | 1.215 | 0.078 | 1.089 | 1.356 |
| TR[113490.9702, 0] | 3.385 | 1.046 | 2.372 | 4.953 |
| TR[113490.9702, 1] | 2.055 | 0.109 | 1.877 | 2.256 |
| TR[113490.9702, 2] | 1.210 | 0.049 | 1.131 | 1.299 |
| TR[113499.6443, 0] | 2.659 | 1.202 | 1.601 | 4.259 |
| TR[113499.6443, 1] | 2.626 | 0.377 | 2.042 | 3.293 |
| TR[113499.6443, 2] | 1.256 | 0.093 | 1.115 | 1.420 |
| TR[113508.9074, 0] | 2.769 | 1.058 | 1.709 | 4.356 |
| TR[113508.9074, 1] | 1.690 | 0.137 | 1.457 | 1.943 |
| TR[113508.9074, 2] | 1.203 | 0.071 | 1.083 | 1.329 |
| TR[113520.4315, 0] | 2.328 | 0.774 | 1.501 | 3.571 |
| TR[113520.4315, 1] | 2.392 | 0.289 | 1.916 | 2.918 |
| TR[113520.4315, 2] | 1.243 | 0.086 | 1.101 | 1.392 |
[ ]: