polychron.models.MCMCData Module
MCMCData
dataclass
Dataclass containing all of the MCMC results.
This enables lighter-weight "save" behavior
Note
Optional[foo] must be used rather than from __future__ import annotations and foo | None in python 3.9 due to use of get_type_hints
contexts
class-attribute
instance-attribute
contexts: List[str] = field(default_factory=list)
List of contexts passed in to and returned by run_MCMC, stored in topological order
accept_samples_context
class-attribute
instance-attribute
accept_samples_context: List[List[float]] = field(default_factory=list)
A list of accepted samples from the MCMC process.
The number of accepted samples is important.
Formerly StartPage.ACCEPT
accept_samples_phi
class-attribute
instance-attribute
accept_samples_phi: List[List[float]] = field(default_factory=list)
Accepted group boundaries from MCMC simulation
Formerly StartPage.PHI_ACCEPT
A
class-attribute
instance-attribute
A: int = field(default=0)
The newer limit for the Cal BP range to be considered considered during MCMC, denoting the most recent time.
Formerly StartPage.A
P
class-attribute
instance-attribute
P: int = field(default=0)
The older limit for the Cal BP range to be considered considered during MCMC
Formerly StartPage.P
all_samples_context
class-attribute
instance-attribute
all_samples_context: List[List[float]] = field(default_factory=list)
A list of lists containing all samples for contexts from MCMC, including rejected samples.
I.e. accept_samples_context is a subset of this.
Formerly StartPage.ALL_SAMPS_CONT
all_samples_phi
class-attribute
instance-attribute
all_samples_phi: List[List[float]] = field(default_factory=list)
A list of lists, containing all samples for group boundaries from MCMC, including rejected samples.
I.e. accept_samples_phi is a subset of this.
Formerly StartPage.ALL_SAMPS_PHI
accept_group_limits
class-attribute
instance-attribute
accept_group_limits: Dict[str, List[float]] = field(default_factory=dict)
A dictionary of group limits from accepted phi samples. Produced in phase_labels.
Formerly StartPage.resultsdict
all_group_limits
class-attribute
instance-attribute
all_group_limits: Dict[str, List[float]] = field(default_factory=dict)
A dictionary of all_results? returned by MCMC_func, which is used to find the phase lengths during node finding on the results page.
Formerly StartPage.all_results_dict
calibration_curve_name
class-attribute
instance-attribute
calibration_curve_name: str = 'intcal20_interpolated'
Name of the calibration curve which was used to generate this MCMCData. This enables the correct curve to be displayed on the dating results tab when the curve has been changed, but the model has not been re-calibrated.
save_results_dataframes
save_results_dataframes(path: Path, group_df: DataFrame) -> None
Save some MCMC data to disk, separately from the serialised version of this class
Formerly part of StartPage.save_state_1
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
Path
|
The path to the directory in which files should be created |
required |
group_df
|
DataFrame
|
A pandas dataframe containing context group information. |
required |
Todo
- Check if
full_results_dfinclude the first 10000 elements or not?
to_json
to_json(pretty: bool = False) -> str
Serialise this object to JSON
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pretty
|
bool
|
If the json should be prettified or not. |
False
|
Return
JSON string representing the MCMCData instance
save
save(path: Path, group_df: DataFrame, verbose: bool = False) -> None
Save the current state of this file to the specified path
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
Path
|
The directory in which the files will be saved. |
required |
group_df
|
DataFrame
|
A pandas dataframe containing context group information |
required |
verbose
|
bool
|
If verbose output should be used |
False
|
Raises:
| Type | Description |
|---|---|
RuntimeError
|
If the provided path is not a directory |
Exception
|
If other exceptions are raised during saving of files to disk |
load_from_disk
classmethod
load_from_disk(json_path: Path) -> MCMCData
Get an instance of the MCMCData from serialised json on disk.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
json_path
|
Path
|
Path to json file to load it from |
required |
Returns:
| Type | Description |
|---|---|
MCMCData
|
MCMCData instance |
Raises:
| Type | Description |
|---|---|
RuntimeError
|
If the json_path is not an existing file; or the 'polychron_version' key is missing from the json file'; or the 'mcmc_data' key is missing from the json file |
JSONDecodeError
|
If the json_path does not point to a valid json file |