june.groups.leisure.social_venue_distributor.SocialVenueDistributor¶
-
class
june.groups.leisure.social_venue_distributor.
SocialVenueDistributor
(social_venues: june.groups.leisure.social_venue.SocialVenues, male_age_probabilities: dict = None, female_age_probabilities: dict = None, drags_household_probability=0.5, neighbours_to_consider=5, maximum_distance=5, weekend_boost: float = 1.0) Tool to associate social venues to people.
A sex/age profile for the social venue attendees can be specified as male_age_probabilities = {“18-65” : 0.3} any non-specified ages in the range (0,99) will have 0 probabilty Parameters ———- social_venues
A SocialVenues object
- male_age_probabilities
a dictionary containg age as keys and the probabilty per day (think of it as the Poisson parameter lambda) of a male person of that age going to the social venue as value. This probability value is per day. So the chance of going to the social venue in a time delta_t is 1 - exp(- probabilty * delta_t)
- female_age_probabilities
a dictionary containg age as keys and the probabilty of a female person of that age going to the social venue as value
- weekend_boost
boosting factor for the weekend probability
-
__init__
(social_venues: june.groups.leisure.social_venue.SocialVenues, male_age_probabilities: dict = None, female_age_probabilities: dict = None, drags_household_probability=0.5, neighbours_to_consider=5, maximum_distance=5, weekend_boost: float = 1.0) A sex/age profile for the social venue attendees can be specified as male_age_probabilities = {“18-65” : 0.3} any non-specified ages in the range (0,99) will have 0 probabilty Parameters ———- social_venues
A SocialVenues object
- male_age_probabilities
a dictionary containg age as keys and the probabilty per day (think of it as the Poisson parameter lambda) of a male person of that age going to the social venue as value. This probability value is per day. So the chance of going to the social venue in a time delta_t is 1 - exp(- probabilty * delta_t)
- female_age_probabilities
a dictionary containg age as keys and the probabilty of a female person of that age going to the social venue as value
- weekend_boost
boosting factor for the weekend probability
-
classmethod
from_config
(social_venues: june.groups.leisure.social_venue.SocialVenues, config_filename: str = None)
-
get_leisure_subgroup_type
(person)
-
get_poisson_parameter
(sex, age, is_weekend: bool = False) Poisson parameter (lambda) of a person going to one social venue according to their age and sex and the distribution of visitors in the venue.
- person
an instance of Person
- delta_t
interval of time in units of days
- is_weekend
whether it is a weekend or not
-
get_possible_venues_for_area
(area: june.geography.geography.Area) Given an area, searches for the social venues inside
self.maximum_distance
. It then returnsself.neighbours_to_consider
of them randomly. If there are no social venues inside the maximum distance, it returns the closest one.
-
get_possible_venues_for_household
(household: june.groups.household.Household) Given a household location, searches for the social venues inside
self.maximum_distance
. It then returnsself.neighbours_to_consider
of them randomly. If there are no social venues inside the maximum distance, it returns the closest one.
-
get_social_venue_for_person
(person) Adds a person to one of the social venues in the distributor. To decide, we select randomly from a certain number of neighbours, or the closest venue if the distance is greater than the maximum_distance.
person
-
person_drags_household
() Check whether person drags household or not.
-
probability_to_go_to_social_venue
(person, delta_time, is_weekend: bool = False) Probabilty of a person going to one social venue according to their age and sex and the distribution of visitors in the venue.
- person
an instance of Person
- delta_t
interval of time in units of days
- is_weekend
whether it is a weekend or not