biogeme.expressions.beta_parameters module
Representation of unknown parameters
- author:
Michel Bierlaire
- date:
Sat Apr 20 14:54:16 2024
- class biogeme.expressions.beta_parameters.Beta(name, value, lowerbound, upperbound, status)[source]
Bases:
Elementary
Unknown parameters to be estimated from data.
- Parameters:
name (str)
value (float)
lowerbound (float | None)
upperbound (float | None)
status (int)
- change_init_values(betas)[source]
Modifies the initial values of the Beta parameters.
The fact that the parameters are fixed or free is irrelevant here.
- Parameters:
betas (dict(string:float)) – dictionary where the keys are the names of the parameters, and the values are the new value for the parameters.
- dict_of_elementary_expression(the_type)[source]
Extract a dict with all elementary expressions of a specific type
- Parameters:
the_type (TypeOfElementaryExpression) – the type of expression
- Returns:
returns a dict with the variables appearing in the expression the keys being their names.
- Return type:
dict(string:biogeme.expressions.Expression)
- fix_betas(beta_values, prefix=None, suffix=None)[source]
Fix all the values of the Beta parameters appearing in the dictionary
- Parameters:
beta_values (dict(str: float)) – dictionary containing the betas to be fixed (as key) and their value.
prefix (str) – if not None, the parameter is renamed, with a prefix defined by this argument.
suffix (str) – if not None, the parameter is renamed, with a suffix defined by this argument.
- getValue()[source]
Warning
This function is deprecated. Use
get_value()
instead.Kept for backward compatibility
- Return type:
float
- get_signature()[source]
The signature of a string characterizing an expression.
This is designed to be communicated to C++, so that the expression can be reconstructed in this environment.
The list contains the following elements:
the name of the expression between < >
the id of the expression between { }
the name of the parameter,
the status between [ ]
the unique ID, preceded by a comma
the Beta ID, preceded by a comma
Consider the following expression:
\[2 \beta_1 V_1 - \frac{\exp(-\beta_2 V_2) }{ \beta_3 (\beta_2 \geq \beta_1)}.\]It is defined as:
2 * beta1 * Variable1 - expressions.exp(-beta2*Variable2) / (beta3 * (beta2 >= beta1))
And its signature is:
[b'<Numeric>{4780527008},2', b'<Beta>{4780277152}"beta1"[0],0,0', b'<Times>{4780526952}(2),4780527008,4780277152', b'<Variable>{4511837152}"Variable1",5,2', b'<Times>{4780527064}(2),4780526952,4511837152', b'<Beta>{4780277656}"beta2"[0],1,1', b'<UnaryMinus>{4780527120}(1),4780277656', b'<Variable>{4511837712}"Variable2",6,3', b'<Times>{4780527176}(2),4780527120,4511837712', b'<exp>{4780527232}(1),4780527176', b'<Beta>{4780277264}"beta3"[1],2,0', b'<Beta>{4780277656}"beta2"[0],1,1', b'<Beta>{4780277152}"beta1"[0],0,0', b'<GreaterOrEqual>{4780527288}(2),4780277656,4780277152', b'<Times>{4780527344}(2),4780277264,4780527288', b'<Divide>{4780527400}(2),4780527232,4780527344', b'<Minus>{4780527456}(2),4780527064,4780527400']
- Returns:
list of the signatures of an expression and its children.
- Return type:
list(string)
- Raises:
BiogemeError – if no id has been defined for elementary expression
BiogemeError – if no id has been defined for parameter
- get_value()[source]
Evaluates the value of the expression
- Returns:
value of the expression
- Return type:
float
- Raises:
BiogemeError – if the Beta is not fixed.
- set_id_manager(id_manager)[source]
The ID manager contains the IDs of the elementary expressions.
It is externally created, as it may need to coordinate the numbering of several expressions. It is stored only in the expressions of type Elementary.
- Parameters:
id_manager (class IdManager) – ID manager to be propagated to the elementary expressions. If None, all the IDs are set to None.