def summed_probabilities(self, choosers, alternatives):
        """
        Returns the sum of probabilities for alternatives across all
        chooser segments.

        Parameters
        ----------
        choosers : pandas.DataFrame
            Table describing the agents making choices, e.g. households.
            Must have a column matching the .segmentation_col attribute.
        alternatives : pandas.DataFrame
            Table describing the things from which agents are choosing.

        Returns
        -------
        probs : pandas.Series
            Summed probabilities from each segment added together.

        """
        if len(alternatives) == 0 or len(choosers) == 0:
            return pd.Series()

        logger.debug(
            'start: calculate summed probabilities in LCM group {}'.format(
                self.name))
        probs = []

        for name, df in self._iter_groups(choosers):
            probs.append(
                self.models[name].summed_probabilities(df, alternatives))

        add = tz.curry(pd.Series.add, fill_value=0)
        probs = tz.reduce(add, probs)

        logger.debug(
            'finish: calculate summed probabilities in LCM group {}'.format(
                self.name))
        return probs
Returns the sum of probabilities for alternatives across all
        chooser segments.

        Parameters
        ----------
        choosers : pandas.DataFrame
            Table describing the agents making choices, e.g. households.
            Must have a column matching the .segmentation_col attribute.
        alternatives : pandas.DataFrame
            Table describing the things from which agents are choosing.

        Returns
        -------
        probs : pandas.Series
            Summed probabilities from each segment added together.