EEMS Fuzzy

The EEMS Fuzzy library consists of commands related to converting data to and from fuzzy space, and performing operations in fuzzy space, such as FuzzyOr and FuzzyAnd.

CvtToFuzzy(InFieldName, TrueThreshold, FalseThreshold, Direction)

Converts input values into fuzzy values using linear interpolation.

Parameters:
  • InFieldName – (Result) The result to convert to fuzzy space.

  • TrueThreshold – (Number) Optional. The “true” value in fuzzy space. The default is 1.

  • FalseThreshold – (Number) Optional. The “false” value in fuzzy space. The default is -1.

  • Direction – (String) Optional. If LowToHigh, the minimum input value is mapped to FalseThreshold and the maximum input value mapped to TrueThreshold. For HighToLow, this is reversed with the minimum input value mapped to TrueThreshold and the maximum input value mapped to FalseThreshold. The default is LowToHigh.

CvtToFuzzyZScore(InFieldName, TrueThreshold, FalseThreshold)

Converts input values into fuzzy values using linear interpolation based on Z Score.

Parameters:
  • InFieldName – (Result) The result to convert to fuzzy space.

  • TrueThreshold – (Number) Optional. The “true” value in fuzzy space. The default is 1.

  • FalseThreshold – (Number) Optional. The “false” value in fuzzy space. The default is -1.

CvtToFuzzyCat(InFieldName, RawValues, FuzzyValues, DefaultFuzzyValue)

Converts integer input values into fuzzy based on user specification.

Parameters:
  • InFieldName – (Result) The result to convert to fuzzy space.

  • RawValues – (List [Number]) A list of unique values from the input data.

  • FuzzyValues – (List [Number]) A list of fuzzy values that will be used to map values matching those in RawValues to fuzzy space. The RawValues and FuzzyValues lists must be the same size.

  • DefaultFuzzyValue – (Number) The default fuzzy value used to convert any input value not specified in RawValues.

CvtToFuzzyCurve(InFieldName, RawValues, FuzzyValues)

Converts input values into fuzzy based on user-defined curve

Parameters:
  • InFieldName – (Result) The result to convert to fuzzy space.

  • RawValues – (List [Number]) A list of unique values from the input data.

  • FuzzyValues – (List [Number]) A list of fuzzy values that will be used to map values matching those in RawValues to fuzzy space. The RawValues and FuzzyValues lists must be the same size.

CvtToFuzzyMeanToMid(InFieldName, IgnoreZeros, FuzzyValues)

Uses “CvtToFuzzyCurve” to create a non-linear transformation that is a good match for the input data.

Parameters:
  • InFieldName – (Result) The result to convert to fuzzy space.

  • IgnoreZeros – (Boolean) Ignore 0 values when determining the mean.

  • FuzzyValues – (List [Number]) A list of fuzzy values that will be used to map input values to fuzzy space.

CvtToFuzzyCurveZScore(InFieldName, ZScoreValues, FuzzyValues)

Converts input values into fuzzy based on user-defined curve.

Parameters:
  • InFieldName – (Result) The result to convert to fuzzy space.

  • ZScoreValues – (List [Number]) A list of z scores that will be used to map input values to fuzzy space.

  • FuzzyValues – (List [Number]) A list of fuzzy values that will be used to map values to fuzzy space. The ZScoreValues and FuzzyValues lists must be the same size.

CvtToBinary(InFieldName, Threshold, Direction)

Converts input values into binary 0 or 1 based on threshold.

Parameters:
  • InFieldName – (Result) The result to convert to fuzzy space.

  • Threshold – (Number) This threshold value used to bisect the input values into 0 and 1.

  • Direction – (String) If LowToHigh, values less than Threshold will be converted to 0. If HighToLow, values less than Threshold will be converted to 1.

FuzzyUnion(InFieldNames)

Produces an array in which each value is the fuzzy union (mean) of all input arrays at that index.

Parameters:

InFieldNames – (List [Result]) A list of the fuzzy results to union.

FuzzyWeightedUnion(InFieldNames, Weights)

Produces an array in which each value is the weighted fuzzy union (mean) weighted of all input arrays at that index.

Parameters:
  • InFieldNames – (List [Result]) A list of the fuzzy results to union.

  • Weights – (List [Number]) A list of weights; one for each input. The number of weights must match the number of results specified by InFieldNames.

FuzzySelectedUnion(InFieldNames, TruestOrFalsest, NumberToConsider)

Produces an array in which each value is the the fuzzy union (mean) of N Truest or Falsest of each input at that index.

Parameters:
  • InFieldNames – (List [Result]) A list of the fuzzy results to union.

  • TruestOrFalsest – (String) Either Truest or Falsest.

  • NumberToConsider – (Number)

FuzzyOr(InFieldNames)

Produces an array in which each value is the fuzzy OR of all input arrays at that index.

Parameters:

InFieldNames – (List [Result]) A list of the fuzzy results to perform the OR operation on.

FuzzyAnd(InFieldNames)

Produces an array in which each value is the fuzzy AND of all input arrays at that index.

Parameters:

InFieldNames – (List [Result]) A list of the fuzzy results to perform the AND operation on.

FuzzyXOr(InFieldNames)

Produces an array in which each value is the fuzzy XOR of all input arrays at that index.

Parameters:

InFieldNames – (List [Result]) A list of the fuzzy results to perform the XOR operation on.

FuzzyNot(InFieldNames)

Produces an array in which each value is the fuzzy NOT of all input arrays at that index.

Parameters:

InFieldNames – (List [Result]) A list of the fuzzy results to perform the NOT operation on.

CvtFromFuzzy(InFieldName, TrueThreshold, FalseThreshold)

Converts input fuzzy values into non-fuzzy values using linear interpolation. This is essentially the reverse operation of CvtToFuzzy().

Parameters:
  • InFieldName – (Result) The fuzzy result to convert to normal space.

  • TrueThreshold – (Number) The “true” value in normal space. 1 in fuzzy space will be mapped to this value.

  • FalseThreshold – (Number) The “false” value in normal space. -1 in fuzzy space will be mapped to this value.