pm4py.objects.random_variables.random_variable module#
PM4Py – A Process Mining Library for Python Copyright (C) 2026 Process Intelligence Solutions GmbH
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
- class pm4py.objects.random_variables.random_variable.RandomVariable[source]#
Bases:
object- read_from_string(distribution_type, distribution_parameters)[source]#
Read the random variable from string
- Parameters:
distribution_type – Distribution type
distribution_parameters – Distribution parameters splitted by ;
- get_distribution_type()[source]#
Get current distribution type
- Returns:
String representing the distribution type
- Return type:
distribution_type
- get_transition_type()[source]#
Get the type of transition associated to the current distribution
- Returns:
String representing the type of the transition
- Return type:
transition_type
- get_distribution_parameters()[source]#
Get a string representing distribution parameters
- Returns:
String representing distribution parameters
- Return type:
distribution_parameters
- calculate_loglikelihood(values)[source]#
Calculate log likelihood
- Parameters:
values – Empirical values to work on
- Returns:
Log likelihood that the values follows the distribution
- Return type:
likelihood
- calculate_parameters(values, parameters=None, force_distribution=None)[source]#
Calculate parameters of the current distribution
- Parameters:
values – Empirical values to work on
parameters – Possible parameters of the algorithm
force_distribution – If provided, distribution to force usage (e.g. EXPONENTIAL)
- get_value()[source]#
Get a random value following the distribution
- Returns:
Value obtained following the distribution
- Return type:
value
- get_values(no_values=400)[source]#
Get some random values following the distribution
- Parameters:
no_values – Number of values to return
- Returns:
Values extracted according to the probability distribution
- Return type:
values
- set_weight(weight)[source]#
Setter of the weight
- Parameters:
weight (float) – Weight of the transition