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 stats package).

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 stats package).

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 stats package).

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 stats package).

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")



[Package FuzzySimRes version 0.4.0 Index]