SimulateSample {FuzzySimRes} | R Documentation |
Simulate a sample of random fuzzy numbers.
Description
'SimulateSample' generates the whole sample of fuzzy numbers using the
various random distributions based on the functions from the stats
package.
Usage
SimulateSample(
n = 1,
originalPD,
parOriginalPD,
incrCorePD,
parIncrCorePD,
suppLeftPD,
parSuppLeftPD,
suppRightPD,
parSuppRightPD,
knotNumbers = 0,
type = "trapezoidal",
...
)
Arguments
n |
Size of the simulated sample |
originalPD |
Name of the random generator used to create the "true origin" of a fuzzy number (as
defined in the |
parOriginalPD |
List of parameters required by the random generator used to create the "true origin" of 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 increases of the left support of fuzzy
number (as defined in the |
parSuppLeftPD |
List of parameters required by the random generator used to create the increases of the left support of fuzzy number. |
suppRightPD |
Name of the random generator used to create the increases of the right support of fuzzy
number (as defined in the |
parSuppRightPD |
List of parameters required by the random generator used to create the increases 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. |
Details
The procedure randomly generates the independent sample of fuzzy numbers (triangulars, trapezoidals, or PLFNs) with the
original, 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 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).
Value
The output is given as a list with values:
original
- a vector with "true origins" of the simulated fuzzy numbers generated
from the probability distribution originalPD
,
and value
– a list of the simulated triangular, trapezoidal, or PLFN fuzzy number as in the
FuzzyNumbers
package.
References
Grzegorzewski, P., Romaniuk, M. (2022) Bootstrap Methods for Epistemic Fuzzy Data. International Journal of Applied Mathematics and Computer Science, 32(2)
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
See Also
SimulateFuzzyNumber
for generation of the single random fuzzy number
Examples
# seed PRNG
set.seed(1234)
# generate 10 triangular fuzzy numbers (the normal distribution for the "true origin",
# and two different uniform distribution for the increases of the support)
SimulateSample(n=10,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 20 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)
SimulateSample(n=20,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 5 PLFN fuzzy numbers with two knots
SimulateSample(n=5,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")