Sorted Spikes Decoding¶
The mechanics of decoding with sorted spikes are largely similar to those of decoding with unsorted spikes. You should familiarize yourself with the clusterless decoding tutorial before proceeding with this one.
The elements we will need to decode with sorted spikes are:
PositionGroupSortedSpikesGroupDecodingParametersencoding_intervaldecoding_interval
This time, instead of extracting waveform features, we can proceed directly from the SpikeSortingOutput table to specify which units we want to decode. The rest of the decoding process is the same as before.
SortedSpikesGroup¶
from pathlib import Path
import datajoint as dj
dj.config.load(
Path("../dj_local_conf.json").absolute()
) # load config for database connection info
from spyglass.spikesorting.merge import SpikeSortingOutput
import spyglass.spikesorting.v1 as sgs
nwb_copy_file_name = "mediumnwb20230802_.nwb"
sorter_keys = {
"nwb_file_name": nwb_copy_file_name,
"sorter": "clusterless_thresholder",
"sorter_param_name": "default_clusterless",
}
(sgs.SpikeSortingSelection & sorter_keys) * SpikeSortingOutput.CurationV1
[2024-01-17 22:49:07,284][INFO]: Connecting root@localhost:3306 [2024-01-17 22:49:07,353][INFO]: Connected root@localhost:3306
| sorting_id | merge_id | recording_id | sorter | sorter_param_name | nwb_file_name name of the NWB file | interval_list_name descriptive name of this interval list | curation_id |
|---|---|---|---|---|---|---|---|
| 08a302b6-5505-40fa-b4d5-62162f8eef58 | 485a4ddf-332d-35b5-3ad4-0561736c1844 | 449b64e3-db0b-437e-a1b9-0d29928aa2dd | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | 45f6b9a1-eef3-46eb-866d-d0999afebda6 | 0 |
| 0ca508ee-af4c-4a89-8181-d48bd209bfd4 | 6acb99b8-6a0c-eb83-1141-5f603c5895e0 | 328da21c-1d9c-41e2-9800-76b3484b707b | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | 686d9951-1c0f-4d5e-9f5c-09e6fd8bdd4c | 0 |
| 209dc048-6fae-4315-b293-c06fff29f947 | f7237e18-4e73-4aee-805b-90735e9147de | aff78f2f-2ba0-412a-95cc-447c3a2f4683 | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | 719e8a86-fcf1-4ffc-8c1f-ea912f67ad5d | 0 |
| 21a9a593-f6f3-4b82-99d7-8fc46556eff3 | 7e3fa66e-727e-1541-819a-b01309bb30ae | 2402805a-04f9-4a88-9ccf-071376c8de19 | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | d581b117-160e-4311-b096-7781a4de4394 | 0 |
| 406a20e3-5a9f-4fec-b046-a6561f72461e | 6d039a63-17ad-0b78-4b1e-f02d5f3dbbc5 | f1427e00-2974-4301-b2ac-b4dc29277c51 | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | 0e848c38-9105-4ea4-b6ba-dbdd5b46a088 | 0 |
| 4131c51b-c56d-41fa-b046-46635fc17fd9 | e0e9133a-7a4e-1321-a43a-e8afcb2f25da | 9e332d82-1daf-4e92-bb50-12e4f9430875 | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | 9ed11db5-c42e-491a-8caf-7d9a37a65f13 | 0 |
| 4c5a629a-71d9-481d-ab11-a4cb0fc16087 | 9959b614-2318-f597-6651-a3a82124d28a | 3a2c3eed-413a-452a-83c8-0e4648141bde | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | 2b9fbf14-74a0-4294-a805-26702340aac9 | 0 |
| 4d629c07-1931-4e1f-a3a8-cbf1b72161e3 | c0eb6455-fc41-c200-b62e-e3ca81b9a3f7 | f07bc0b0-de6b-4424-8ef9-766213aaca26 | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | 5c68f0f0-f577-4905-8a09-e4d171d0a22d | 0 |
| 554a9a3c-0461-48be-8435-123eed59c228 | 912e250e-56d8-ee33-4525-c844d810971b | 7f128981-6868-4976-ba20-248655dcac21 | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | f4b9301f-bc91-455b-9474-c801093f3856 | 0 |
| 7bb007f2-26d3-463f-b7dc-7bd4d271725e | d7d2c97a-0e6e-d1b8-735c-d55dc66a30e1 | a9b7cec0-1256-49cf-abf0-8c45fd155379 | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | 74270cba-36ee-4afb-ab50-2a6cc948e68c | 0 |
| 80e1f37f-48a7-4087-bd37-7a37b6a2c160 | abb92dce-4410-8f17-a501-a4104bda0dcf | 3c40ebdc-0b61-4105-9971-e1348bd49bc7 | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | 0f91197e-bebb-4dc6-ad41-5bf89c3eed28 | 0 |
| 8848c4a8-a2f2-4f3d-82cd-51b13b8bae3c | 74e10781-1228-4075-0870-af224024ffdc | 257c077b-8f3b-4abb-a631-6b8084d6a1ea | clusterless_thresholder | default_clusterless | mediumnwb20230802_.nwb | e289e03d-32ad-461a-a1cc-c88537343149 | 0 |
...
Total: 23
spikesorting_merge_ids = (
(sgs.SpikeSortingSelection & sorter_keys) * SpikeSortingOutput.CurationV1
).fetch("merge_id")
spikesorting_merge_ids
array([UUID('485a4ddf-332d-35b5-3ad4-0561736c1844'),
UUID('6acb99b8-6a0c-eb83-1141-5f603c5895e0'),
UUID('f7237e18-4e73-4aee-805b-90735e9147de'),
UUID('7e3fa66e-727e-1541-819a-b01309bb30ae'),
UUID('6d039a63-17ad-0b78-4b1e-f02d5f3dbbc5'),
UUID('e0e9133a-7a4e-1321-a43a-e8afcb2f25da'),
UUID('9959b614-2318-f597-6651-a3a82124d28a'),
UUID('c0eb6455-fc41-c200-b62e-e3ca81b9a3f7'),
UUID('912e250e-56d8-ee33-4525-c844d810971b'),
UUID('d7d2c97a-0e6e-d1b8-735c-d55dc66a30e1'),
UUID('abb92dce-4410-8f17-a501-a4104bda0dcf'),
UUID('74e10781-1228-4075-0870-af224024ffdc'),
UUID('8bbddc0f-d6ae-6260-9400-f884a6e25ae8'),
UUID('614d796c-0b95-6364-aaa0-b6cb1e7bbb83'),
UUID('b332482b-e430-169d-8ac0-0a73ce968ed7'),
UUID('86897349-ff68-ac72-02eb-739dd88936e6'),
UUID('4a712103-c223-864f-82e0-6c23de79cc14'),
UUID('cf858380-e8a3-49de-c2a9-1a277e307a68'),
UUID('cc4ee561-f974-f8e5-0ea4-83185263ac67'),
UUID('4a72c253-b3ca-8c13-e615-736a7ebff35c'),
UUID('b92a94d8-ee1e-2097-a81f-5c1e1556ed24'),
UUID('5c53bd33-d57c-fbba-e0fb-55e0bcb85d03'),
UUID('0751a1e1-a406-7f87-ae6f-ce4ffc60621c')], dtype=object)
from spyglass.decoding.v1.sorted_spikes import SortedSpikesGroup
SortedSpikesGroup()
| nwb_file_name name of the NWB file | sorted_spikes_group_name |
|---|---|
| mediumnwb20230802_.nwb | test_group |
Total: 1
SortedSpikesGroup().create_group(
group_name="test_group",
nwb_file_name=nwb_copy_file_name,
keys=[
{"spikesorting_merge_id": merge_id}
for merge_id in spikesorting_merge_ids
],
)
SortedSpikesGroup & {
"nwb_file_name": nwb_copy_file_name,
"sorted_spikes_group_name": "test_group",
}
| nwb_file_name name of the NWB file | sorted_spikes_group_name |
|---|---|
| mediumnwb20230802_.nwb | test_group |
Total: 1
SortedSpikesGroup.SortGroup & {
"nwb_file_name": nwb_copy_file_name,
"sorted_spikes_group_name": "test_group",
}
| nwb_file_name name of the NWB file | sorted_spikes_group_name | spikesorting_merge_id |
|---|---|---|
| mediumnwb20230802_.nwb | test_group | 0751a1e1-a406-7f87-ae6f-ce4ffc60621c |
| mediumnwb20230802_.nwb | test_group | 485a4ddf-332d-35b5-3ad4-0561736c1844 |
| mediumnwb20230802_.nwb | test_group | 4a712103-c223-864f-82e0-6c23de79cc14 |
| mediumnwb20230802_.nwb | test_group | 4a72c253-b3ca-8c13-e615-736a7ebff35c |
| mediumnwb20230802_.nwb | test_group | 5c53bd33-d57c-fbba-e0fb-55e0bcb85d03 |
| mediumnwb20230802_.nwb | test_group | 614d796c-0b95-6364-aaa0-b6cb1e7bbb83 |
| mediumnwb20230802_.nwb | test_group | 6acb99b8-6a0c-eb83-1141-5f603c5895e0 |
| mediumnwb20230802_.nwb | test_group | 6d039a63-17ad-0b78-4b1e-f02d5f3dbbc5 |
| mediumnwb20230802_.nwb | test_group | 74e10781-1228-4075-0870-af224024ffdc |
| mediumnwb20230802_.nwb | test_group | 7e3fa66e-727e-1541-819a-b01309bb30ae |
| mediumnwb20230802_.nwb | test_group | 86897349-ff68-ac72-02eb-739dd88936e6 |
| mediumnwb20230802_.nwb | test_group | 8bbddc0f-d6ae-6260-9400-f884a6e25ae8 |
...
Total: 23
Model parameters¶
As before we can specify the model parameters. The only difference is that we will use the ContFragSortedSpikesClassifier instead of the ContFragClusterlessClassifier.
from spyglass.decoding.v1.core import DecodingParameters
from non_local_detector.models import ContFragSortedSpikesClassifier
DecodingParameters.insert1(
{
"decoding_param_name": "contfrag_sorted",
"decoding_params": ContFragSortedSpikesClassifier(),
"decoding_kwargs": dict(),
},
skip_duplicates=True,
)
DecodingParameters()
| decoding_param_name a name for this set of parameters | decoding_params initialization parameters for model | decoding_kwargs additional keyword arguments |
|---|---|---|
| contfrag_clusterless | =BLOB= | =BLOB= |
| contfrag_clusterless_0.5.13 | =BLOB= | =BLOB= |
| contfrag_sorted | =BLOB= | =BLOB= |
| contfrag_sorted_0.5.13 | =BLOB= | =BLOB= |
| nonlocal_clusterless_0.5.13 | =BLOB= | =BLOB= |
| nonlocal_sorted_0.5.13 | =BLOB= | =BLOB= |
Total: 6
1D Decoding¶
As in the clusterless notebook, we can decode 1D position if we specify the track_graph, edge_order, and edge_spacing parameters in the Environment class constructor. See the clusterless decoding tutorial for more details.
Decoding¶
Now we can decode the position using the sorted spikes using the SortedSpikesDecodingSelection table. Here we assume that PositionGroup has been specified as in the clusterless decoding tutorial.
from spyglass.decoding.v1.sorted_spikes import SortedSpikesDecodingSelection
SortedSpikesDecodingSelection()
| nwb_file_name name of the NWB file | sorted_spikes_group_name | position_group_name | decoding_param_name a name for this set of parameters | encoding_interval descriptive name of this interval list | decoding_interval descriptive name of this interval list | estimate_decoding_params whether to estimate the decoding parameters |
|---|---|---|---|---|---|---|
| mediumnwb20230802_.nwb | test_group | test_group | contfrag_sorted | pos 0 valid times | test decoding interval | 0 |
Total: 1
selection_key = {
"sorted_spikes_group_name": "test_group",
"position_group_name": "test_group",
"decoding_param_name": "contfrag_sorted",
"nwb_file_name": "mediumnwb20230802_.nwb",
"encoding_interval": "pos 0 valid times",
"decoding_interval": "test decoding interval",
"estimate_decoding_params": False,
}
SortedSpikesDecodingSelection.insert1(
selection_key,
skip_duplicates=True,
)
from spyglass.decoding.v1.sorted_spikes import SortedSpikesDecodingV1
SortedSpikesDecodingV1.populate(selection_key)
[2024-01-17 22:49:10,894][WARNING]: Skipped checksum for file with hash: a04cfc1f-8a7d-48a8-4680-ad1ded1805ca, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_JC0NTAX2E2.nwb [2024-01-17 22:49:11,244][WARNING]: Skipped checksum for file with hash: 6629fd95-636a-4ad4-c9af-cee507de2130, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_AMBBKQ9RIY.nwb [2024-01-17 22:49:11,482][WARNING]: Skipped checksum for file with hash: 6d04cbdb-e1e4-f44f-7274-0e1ab0356d75, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_W1MLF0Q86S.nwb [2024-01-17 22:49:11,741][WARNING]: Skipped checksum for file with hash: 8993754e-7dbe-94a1-403d-8c55aa9c6c42, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_JN4A4GSLZB.nwb [2024-01-17 22:49:11,986][WARNING]: Skipped checksum for file with hash: 9e24661c-b021-6ad4-f224-89e331334f18, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_T2DBO3EMZ8.nwb [2024-01-17 22:49:12,215][WARNING]: Skipped checksum for file with hash: f64f34ee-e72d-e566-a048-65f2ea31708a, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_USMRXAAV8I.nwb [2024-01-17 22:49:12,435][WARNING]: Skipped checksum for file with hash: 6d13e338-41bd-b011-beb5-4de53d9d467b, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_JA2OA12RPN.nwb [2024-01-17 22:49:12,661][WARNING]: Skipped checksum for file with hash: d740eb7d-ce29-e140-06a2-c56655e0842a, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_L92EE1VRPB.nwb [2024-01-17 22:49:12,889][WARNING]: Skipped checksum for file with hash: 1f386cd3-89da-0233-03ff-76ba94e91a3a, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_TX2ZX3DAP4.nwb [2024-01-17 22:49:13,105][WARNING]: Skipped checksum for file with hash: fa76d419-77a4-697a-325d-5c2ddbe517f9, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_0R6AWXMC6G.nwb [2024-01-17 22:49:13,326][WARNING]: Skipped checksum for file with hash: ce4cb0c3-3dd0-70fd-8ea0-98a8b84592d9, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_7UIA2ILMG6.nwb [2024-01-17 22:49:13,542][WARNING]: Skipped checksum for file with hash: e43f95ff-9779-b980-00a3-99e104864462, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_AKOI7OTASI.nwb [2024-01-17 22:49:13,768][WARNING]: Skipped checksum for file with hash: ff81d274-17f7-702d-a2b4-92ac43c29316, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_Y2YF504C5D.nwb [2024-01-17 22:49:14,033][WARNING]: Skipped checksum for file with hash: e282a8e5-844b-20f6-345c-cded12e761a9, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_DUNM1TZUGR.nwb [2024-01-17 22:49:14,248][WARNING]: Skipped checksum for file with hash: 7d05460d-7366-27c9-2ba7-de2ad5d402f2, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_4JXWFJ3JRI.nwb [2024-01-17 22:49:14,478][WARNING]: Skipped checksum for file with hash: c202eb9e-ca43-0a72-4086-57a5bb6eb937, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_5TY04H3B5T.nwb [2024-01-17 22:49:14,694][WARNING]: Skipped checksum for file with hash: 4357905c-c6b9-3990-4d62-740a54cfc667, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_X84BYVM2B0.nwb [2024-01-17 22:49:14,917][WARNING]: Skipped checksum for file with hash: 4c1103ac-eaca-b282-e5ff-aa2194e65a43, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_2R6VQ8EDL4.nwb [2024-01-17 22:49:15,142][WARNING]: Skipped checksum for file with hash: 023c874f-8114-3ef6-7fcf-813844787d5f, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_L7HDY9IDHO.nwb [2024-01-17 22:49:15,364][WARNING]: Skipped checksum for file with hash: fde8b240-6adc-86f0-6391-f3f6fad72ee9, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_HWU3E4EKP4.nwb [2024-01-17 22:49:15,591][WARNING]: Skipped checksum for file with hash: c592e63b-4db1-40be-632e-0180e6fa02d7, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_SGAU9PX7US.nwb [2024-01-17 22:49:15,826][WARNING]: Skipped checksum for file with hash: 148d9058-e6dc-e959-4c4d-75db9aa0b6e4, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_EF6N6XI3AH.nwb [2024-01-17 22:49:16,050][WARNING]: Skipped checksum for file with hash: b4b6404f-aaf8-c4cc-9abe-ceea56e103f3, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_O7ZZ0F1XN7.nwb [2024-01-17 22:49:16,287][WARNING]: Skipped checksum for file with hash: 26f7bdc7-da8d-6ad5-3f4a-554ceb48755e, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_0TKF5589B7.nwb
Encoding models: 0%| | 0/23 [00:00<?, ?cell/s]
Non-Local Likelihood: 0%| | 0/23 [00:00<?, ?cell/s]
/Users/edeno/miniconda3/envs/spyglass/lib/python3.9/site-packages/non_local_detector/models/base.py:780: FutureWarning: the `pandas.MultiIndex` object(s) passed as 'state_bins' coordinate(s) or data variable(s) will no longer be implicitly promoted and wrapped into multiple indexed coordinates in the future (i.e., one coordinate for each multi-index level + one dimension coordinate). If you want to keep this behavior, you need to first wrap it explicitly using `mindex_coords = xarray.Coordinates.from_pandas_multiindex(mindex_obj, 'dim')` and pass it as coordinates, e.g., `xarray.Dataset(coords=mindex_coords)`, `dataset.assign_coords(mindex_coords)` or `dataarray.assign_coords(mindex_coords)`.
results = xr.Dataset(
/Users/edeno/miniconda3/envs/spyglass/lib/python3.9/site-packages/xarray/namedarray/core.py:487: UserWarning: Duplicate dimension names present: dimensions {'states'} appear more than once in dims=('states', 'states'). We do not yet support duplicate dimension names, but we do allow initial construction of the object. We recommend you rename the dims immediately to become distinct, as most xarray functionality is likely to fail silently if you do not. To rename the dimensions you will need to set the ``.dims`` attribute of each variable, ``e.g. var.dims=('x0', 'x1')``.
warnings.warn(
We verify that the results have been inserted into the DecodingOutput merge table.
from spyglass.decoding.decoding_merge import DecodingOutput
DecodingOutput.SortedSpikesDecodingV1 & selection_key
| merge_id | nwb_file_name name of the NWB file | sorted_spikes_group_name | position_group_name | decoding_param_name a name for this set of parameters | encoding_interval descriptive name of this interval list | decoding_interval descriptive name of this interval list | estimate_decoding_params whether to estimate the decoding parameters |
|---|---|---|---|---|---|---|---|
| 650316f6-e19b-6195-5aea-0f46bc503fa3 | mediumnwb20230802_.nwb | test_group | test_group | contfrag_sorted | pos 0 valid times | test decoding interval | 0 |
Total: 1
We can load the results as before:
results = (SortedSpikesDecodingV1 & selection_key).load_results()
results
[2024-01-17 22:50:37,762][WARNING]: Skipped checksum for file with hash: 929bf936-5d90-ef32-a736-fb41f4d4932c, and path: /Users/edeno/Documents/GitHub/spyglass/DATA/analysis/mediumnwb20230802/mediumnwb20230802_39518860-b21c-47e4-8a4f-cf7e040e313f.nc
/Users/edeno/miniconda3/envs/spyglass/lib/python3.9/site-packages/xarray/namedarray/core.py:487: UserWarning: Duplicate dimension names present: dimensions {'states'} appear more than once in dims=('states', 'states'). We do not yet support duplicate dimension names, but we do allow initial construction of the object. We recommend you rename the dims immediately to become distinct, as most xarray functionality is likely to fail silently if you do not. To rename the dimensions you will need to set the ``.dims`` attribute of each variable, ``e.g. var.dims=('x0', 'x1')``.
warnings.warn(
/Users/edeno/miniconda3/envs/spyglass/lib/python3.9/site-packages/xarray/namedarray/core.py:487: UserWarning: Duplicate dimension names present: dimensions {'states'} appear more than once in dims=('states', 'states'). We do not yet support duplicate dimension names, but we do allow initial construction of the object. We recommend you rename the dims immediately to become distinct, as most xarray functionality is likely to fail silently if you do not. To rename the dimensions you will need to set the ``.dims`` attribute of each variable, ``e.g. var.dims=('x0', 'x1')``.
warnings.warn(
<xarray.Dataset>
Dimensions: (state_ind: 26668, dim_0: 26668, time: 451,
states: 2, intervals: 1, state_bins: 26668)
Coordinates:
* state_ind (state_ind) int32 0 0 0 0 0 0 0 ... 1 1 1 1 1 1
* time (time) float64 1.626e+09 ... 1.626e+09
* states (states) object 'Continuous' 'Fragmented'
environments (states) object ...
encoding_groups (states) int32 ...
* state_bins (state_bins) object MultiIndex
* state (state_bins) object 'Continuous' ... 'Fragme...
* x_position (state_bins) float64 29.02 29.02 ... 262.7
* y_position (state_bins) float64 0.4493 2.445 ... 224.0
Dimensions without coordinates: dim_0, intervals
Data variables:
initial_conditions (dim_0) float64 ...
discrete_state_transitions (states, states) float64 ...
acausal_posterior (intervals, time, state_bins) float32 ...
acausal_state_probabilities (intervals, time, states) float64 ...
Attributes:
marginal_log_likelihoods: -16366.834