pm4py.objects.random_variables.deterministic.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.deterministic.random_variable.Deterministic(value=0)[source]#

Bases: BasicStructureRandomVariable

Describes a deterministic random variable

read_from_string(distribution_parameters)[source]#

Initialize distribution parameters from string

Parameters:

distribution_parameters – Current distribution parameters as exported on the Petri net

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_type()[source]#

Get current distribution type

Returns:

String representing the distribution type

Return type:

distribution_type

get_distribution_parameters()[source]#

Get a string representing distribution parameters

Returns:

String representing distribution parameters

Return type:

distribution_parameters

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

calculate_loglikelihood(values, tol=0.0001)[source]#

Calculate log likelihood

Parameters:
  • values – Empirical values to work on

  • tol – Tolerance about float values (consider them 0?)

Returns:

Log likelihood that the values follows the distribution

Return type:

likelihood