Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 23 additions & 14 deletions meridian/model/eda/meridian_eda.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import pandas as pd
import xarray as xr


if TYPE_CHECKING:
from meridian.model import model # pylint: disable=g-bad-import-order,g-import-not-at-top

Expand Down Expand Up @@ -1968,14 +1967,8 @@ def _generate_prior_specifications_card(
[artifact] = self._dataset_level_prior_check_outcome.get_overall_artifacts()
prior_probability = artifact.prior_negative_baseline_prob

prior_chart = formatter.ChartSpec(
id=eda_constants.PRIOR_CHART_ID,
chart_json=self.plot_prior_mean().to_json(),
infos=[
f'{eda_constants.PRIOR_PROBABILITY_REPORT_INFO}Prior Probability of'
f' negative baseline: {prior_probability}'
],
)
prior_chart = self._generate_prior_mean_chart_spec(prior_probability)
chart_specs = [prior_chart]

return (
formatter.create_card_html(
Expand All @@ -1984,11 +1977,24 @@ def _generate_prior_specifications_card(
id=eda_constants.PRIOR_SPECIFICATIONS_CARD_ID,
title=eda_constants.PRIOR_SPECIFICATIONS_CARD_TITLE,
),
chart_specs=[prior_chart],
chart_specs=chart_specs,
),
_initialize_severity_counts(),
)

def _generate_prior_mean_chart_spec(
self, prior_probability: float
) -> formatter.ChartSpec:
"""Generates the ChartSpec for the default prior mean chart."""
return formatter.ChartSpec(
id=eda_constants.PRIOR_CHART_ID,
chart_json=self.plot_prior_mean().to_json(),
infos=[
f'{eda_constants.PRIOR_PROBABILITY_REPORT_INFO}Prior Probability of'
f' negative baseline: {prior_probability}'
],
)

def _validate_and_get_geos_to_plot(self, geos: Geos) -> Sequence[str]:
"""Validates and returns the geos to plot."""
is_national = self._meridian.is_national
Expand Down Expand Up @@ -2274,10 +2280,13 @@ def _get_plot_data_for_heatmap(
# Maintain the original order of variables.
plot_variables = [v for v in all_variables if v in selected_vars]

return df[
df[eda_constants.VARIABLE_1].isin(plot_variables)
& df[eda_constants.VARIABLE_2].isin(plot_variables)
], plot_variables
return (
df[
df[eda_constants.VARIABLE_1].isin(plot_variables)
& df[eda_constants.VARIABLE_2].isin(plot_variables)
],
plot_variables,
)


def _format_explanation_for_html(explanation: str) -> str:
Expand Down
1 change: 1 addition & 0 deletions meridian/model/eda/meridian_eda_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
from meridian.model.eda import eda_spec
from meridian.model.eda import meridian_eda
from meridian.model.eda import sampling_eda_engine

import numpy as np
import pandas as pd
import xarray as xr
Expand Down
Loading