MADE Module Guides > FCM Modeling Background
6 Thresholding
Thresholding is a mechanism by which the values within the system are limited or constrained to more accurately represent the behavior of the system. Thresholding acts upon the output values at each time-step of the response simulation (i.e. upon the values in the new system state vector prior to the vector being applied in the next time-step). MADE offers four methods of FCM thresholding: Bivalent, Trivalent, Bivalent Sigmoid & Trivalent Sigmoid.
Bivalent Thresholding
A bivalent threshold will limit the responses of the system to one of two values: 0.0 or 1.0. To do this, MADE applies a Heaviside function to the node values at the end of each simulation step. The FCM equation becomes:
f[A^(t-1)·W + P] = A^t
Where:
f(x) = { 0, x ≤ 0
{ 1, x > 0
The values in the system state vector are assessed according to the following rules:
- Values below, or equal to, 0.0 are assigned as 0.0
- Values greater than 0.0 are assigned as 1.0
Trivalent Thresholding
A trivalent threshold will limit the responses of the system to belong to one of three values: a low response (-1.0), a nominal response (0.0), or a high response (1.0). To do this, MADE applies a sign function to the node values at the end of each simulation step. The FCM equation becomes:
f[A^(t-1)·W + P] = A^t
Where:
f(x) = { -1, x < 0
{ 0, x = 0
{ 1, x > 1 (as printed in the source document — see note below)
Note on source fidelity: the guide's printed piecewise definition for the trivalent sign function reads "1, x > 1" for the third case, leaving an apparent gap for 0 < x ≤ 1 (likely a typo for "x > 0", consistent with the stated behavior described in the rules below). Reproduced verbatim from the source; use the described behavioral rules as the authoritative definition.
The values in the system state vector are assessed according to the following rules:
- Values below 0 are assigned as -1.0
- Values equal to 0 (inclusive) are assigned as 0.0
- Values greater than 0 are assigned as 1.0
Sigmoid (Bivalent and Trivalent) Thresholding
Sigmoid thresholding is based upon a sigmoid function. The values calculated at each time-step are passed through a sigmoid function, which results in the values being effectively compressed across a 0.0 to 1.0 range or -1.0 to 1.0 range.
Both bivalent and trivalent sigmoid thresholding are implemented in MADE. Each sigmoid function is represented in their respective equations below:
f[A^(t-1)·W + P] = A^t
Where:
- Bivalent sigmoid equation: f(x) = 1 / (1 + e^(-λx))
- Trivalent sigmoid equation: f(x) = tanh(x)
Figure 7 ("Trivalent Threshold Options in MADE") shows the "FCM - Trivalent Sigmoid Chart" dialog: an S-shaped tanh-style curve plotted from roughly x=-3 to x=3, y-axis "...ed value" from -0.5 to 1.0, with reference lines at y = 0.762 and y = -0.762 corresponding to the "Set Sigmoid Threshold" slider set to 1.0 (slider range 0.5 to 3). This UI lets the user tune the λ-equivalent steepness/threshold parameter (labeled "Sigmoid Threshold" in the dialog) and preview the resulting compression curve before applying it to a simulation.
Source: Local MADE 3.9.1 installation: com.phm.made.help.plugin/documents/help/pdf/FCM Modeling Background.pdf · retrieved 2026-07-09