A fuzzy number is the alpha-cut envelope
[X^-(alpha), X^+(alpha)] with a non-decreasing lower and
non-increasing upper endpoint.
A FuzzySample is an (n, m, 2) array of cuts
for n i.i.d. fuzzy random variables observed on
m alpha levels.
expectation(s)
#> <FuzzyNumber>
#> levels: 51 (alpha 0 .. 1)
#> support : [ 0 , 2 ]
#> core : [ 1 , 1 ]
variance(s)
#> <FuzzyCovariance>
#> type : variance
#> levels : 51
#> scalar : 0
#> at levels alpha = 0, 0.5, 1:
#> Var(lo) Cov(lo,up) Cov(up,lo) Var(up)
#> 0.0 0 0 0 0
#> 0.5 0 0 0 0
#> 1.0 0 0 0 0
correlation(s, FuzzySample(replicate(60, triangular_fuzzy(1, 2, 3),
simplify = FALSE)))
#> <FuzzyCorrelation>
#> levels : 51
#> scalar : 0
#> at levels alpha = 0, 0.5, 1:
#> [,1] [,2] [,3]
#> lower NA NA NA
#> upper NA NA NAThe empirical CDFs and a level-wise Kolmogorov–Smirnov test against a reference distribution:
fuzzy_normal() builds a level-wise bivariate-normal
fuzzy number. clt() applies the level-wise CLT to a sample,
and simulate() draws from it:
cl <- clt(s)
summary(cl)
#> <summary FuzzyCLT>
#> alpha mean_lower mean_upper var_lower var_upper cov_cross scalar scalar_limit
#> 0.00 0.00 2.00 0 0 0 0 0
#> 0.02 0.02 1.98 0 0 0 0 0
#> 0.04 0.04 1.96 0 0 0 0 0
#> 0.06 0.06 1.94 0 0 0 0 0
#> 0.08 0.08 1.92 0 0 0 0 0
#> 0.10 0.10 1.90 0 0 0 0 0
#> 0.12 0.12 1.88 0 0 0 0 0
#> 0.14 0.14 1.86 0 0 0 0 0
#> 0.16 0.16 1.84 0 0 0 0 0
#> 0.18 0.18 1.82 0 0 0 0 0
#> 0.20 0.20 1.80 0 0 0 0 0
#> 0.22 0.22 1.78 0 0 0 0 0
#> 0.24 0.24 1.76 0 0 0 0 0
#> 0.26 0.26 1.74 0 0 0 0 0
#> 0.28 0.28 1.72 0 0 0 0 0
#> 0.30 0.30 1.70 0 0 0 0 0
#> 0.32 0.32 1.68 0 0 0 0 0
#> 0.34 0.34 1.66 0 0 0 0 0
#> 0.36 0.36 1.64 0 0 0 0 0
#> 0.38 0.38 1.62 0 0 0 0 0
#> 0.40 0.40 1.60 0 0 0 0 0
#> 0.42 0.42 1.58 0 0 0 0 0
#> 0.44 0.44 1.56 0 0 0 0 0
#> 0.46 0.46 1.54 0 0 0 0 0
#> 0.48 0.48 1.52 0 0 0 0 0
#> 0.50 0.50 1.50 0 0 0 0 0
#> 0.52 0.52 1.48 0 0 0 0 0
#> 0.54 0.54 1.46 0 0 0 0 0
#> 0.56 0.56 1.44 0 0 0 0 0
#> 0.58 0.58 1.42 0 0 0 0 0
#> 0.60 0.60 1.40 0 0 0 0 0
#> 0.62 0.62 1.38 0 0 0 0 0
#> 0.64 0.64 1.36 0 0 0 0 0
#> 0.66 0.66 1.34 0 0 0 0 0
#> 0.68 0.68 1.32 0 0 0 0 0
#> 0.70 0.70 1.30 0 0 0 0 0
#> 0.72 0.72 1.28 0 0 0 0 0
#> 0.74 0.74 1.26 0 0 0 0 0
#> 0.76 0.76 1.24 0 0 0 0 0
#> 0.78 0.78 1.22 0 0 0 0 0
#> 0.80 0.80 1.20 0 0 0 0 0
#> 0.82 0.82 1.18 0 0 0 0 0
#> 0.84 0.84 1.16 0 0 0 0 0
#> 0.86 0.86 1.14 0 0 0 0 0
#> 0.88 0.88 1.12 0 0 0 0 0
#> 0.90 0.90 1.10 0 0 0 0 0
#> 0.92 0.92 1.08 0 0 0 0 0
#> 0.94 0.94 1.06 0 0 0 0 0
#> 0.96 0.96 1.04 0 0 0 0 0
#> 0.98 0.98 1.02 0 0 0 0 0
#> 1.00 1.00 1.00 0 0 0 0 0
plot(simulate(cl, nsim = 80))lln() studies the shrinkage of the sample-mean width
against sample size:
w <- lln(s)
plot(w)
#> Warning in xy.coords(x, y, xlabel, ylabel, log): 8 y values <= 0 omitted from
#> logarithmic plot
#> Warning in plot.window(...): nonfinite axis=2 limits [GScale(-inf,-inf,..);
#> log=TRUE] -- corrected now