View source: R/SimulateFuzzyNumber.R
SimulateFuzzyNumber | R Documentation |
'SimulateFuzzyNumber' generates a single fuzzy number using the
various random distributions based on the functions from the stats
package.
SimulateFuzzyNumber(
originalPD,
parOriginalPD,
incrCorePD,
parIncrCorePD,
suppLeftPD,
parSuppLeftPD,
suppRightPD,
parSuppRightPD,
knotNumbers = 0,
type = "trapezoidal",
...
)
originalPD |
Name of the random generator used to create the "true origin" of fuzzy number (as
defined in the |
parOriginalPD |
List of parameters required by the random generator used to create the "true origin" of a fuzzy number. |
incrCorePD |
Name of the random generator used to create the increases of the core of fuzzy
number (as defined in the |
parIncrCorePD |
List of parameters required by the random generator used to create the increases of the core of trapezoidal number. |
suppLeftPD |
Name of the random generator used to create the increase of the left support of fuzzy
number (as defined in the |
parSuppLeftPD |
List of parameters required by the random generator used to create the increase of the left support of fuzzy number. |
suppRightPD |
Name of the random generator used to create the increase of the right support of fuzzy
number (as defined in the |
parSuppRightPD |
List of parameters required by the random generator used to create the increase of the right support of trapezoidal number. |
knotNumbers |
Number of the knots necessary to generate the output fuzzy number. |
type |
Type of the generated fuzzy number ("triangular", "trapezoidal", or "PLFN"). |
... |
Possible parameters passed to other functions. |
The procedure randomly generates a fuzzy number (a triangular, trapezoidal, or PLFN one) with the
originalPD, increases of its core, and increases of its support given by some random distributions.
The names of the respective functions of these probability distributions should be in the form
required by the stats
package.
For triangular fuzzy number, increasesRandomDist
is not used.
For both triangular and trapezoidal fuzzy numbers, knotNumbers
is not used.
The "true origin" of the fuzzy number is independently drawn from the probability distribution using
originalPD
function from the stats
package with the list of parameters defined by
parOriginalPD
.
The same applies to the increases of the core (the function incrCorePD
with the parameters
parIncrCorePD
is then used), the left increase of the support (the function suppLeftPD
with the parameters parSuppLeftPD
, respectively), and the right increase of the support
(the function suppRightPD
with the parameters parSuppRightPD
, respectively).
The output is given as a list of two values:
original
with "true origin" of the simulated fuzzy number generated
from the probability distribution originalPD
,
and value
– the simulated triangular, trapezoidal, or PLFN fuzzy number as in the FuzzyNumbers
package.
Ban, A.I., Coroianu, L., Grzegorzewski, P. (2015) Fuzzy Numbers: Approximations, Ranking and Applications. Institute of Computer Sciences, Polish Academy of Sciences
Grzegorzewski, P., Romaniuk, M. (2022) Bootstrap methods for fuzzy data. Uncertainty and Imprecision in Decision Making and Decision Support: New Advances, Challenges, and Perspectives, pp. 28-47 Springer
Gagolewski, M., Caha, J. (2021) FuzzyNumbers Package: Tools to deal with fuzzy numbers in R. R package version 0.4-7, https://cran.r-project.org/web/packages=FuzzyNumbers
Parchami, A., Grzegorzewski, P., Romaniuk, M. (2024) Statistical simulations with LR random fuzzy numbers. Statistical Papers
SimulateSample
for generation of the whole random fuzzy sample
# seed PRNG
set.seed(1234)
# generate triangular fuzzy number (the normal distribution for the "true origin",
# and two different uniform distribution for the increases of the support)
SimulateFuzzyNumber(originalPD="rnorm",parOriginalPD=list(mean=0,sd=1),
suppLeftPD="runif",parSuppLeftPD=list(min=0,max=0.6),
suppRightPD="runif", parSuppRightPD=list(min=0,max=0.6),
type="triangular")
# generate trapezoidal fuzzy number (the normal distribution for the "true origin",
# the exponential distribution for the increases of the core,
# and two different uniform distribution for the increases of the support)
SimulateFuzzyNumber(originalPD="rnorm",parOriginalPD=list(mean=0,sd=1),
incrCorePD="rexp", parIncrCorePD=list(rate=2),
suppLeftPD="runif",parSuppLeftPD=list(min=0,max=0.6),
suppRightPD="runif", parSuppRightPD=list(min=0,max=0.6),
type="trapezoidal")
# generate PLFN fuzzy number with two knots
SimulateFuzzyNumber(originalPD="rnorm",parOriginalPD=list(mean=0,sd=1),
incrCorePD="rexp", parIncrCorePD=list(rate=2),
suppLeftPD="runif",parSuppLeftPD=list(min=0,max=0.6),
suppRightPD="runif", parSuppRightPD=list(min=0,max=0.6),
knotNumbers = 2,
type="PLFN")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.