Description Usage Arguments Value Author(s) References See Also Examples
Provides weights on simulated scenarios from a baseline stochastic model, such that a stressed model component (random variable) fulfils a constraint on its mean. Scenario weights are selected by constrained minimisation of the Wasserstein distance to the baseline model.
1 2 3 4 5 6 7 8 9 10 |
x |
A vector, matrix or data frame
containing realisations of random variables. Columns of |
new_means |
Numeric, the stressed mean. |
k |
Numeric, the column of |
h |
Numeric, a multiplier of the default bandwidth using Silverman’s rule (default |
names |
Character vector, the names of stressed models. |
log |
Boolean, the option to print weights' statistics. |
method |
The method to be used in [stats::optim()]. ( |
... |
Additional arguments to be passed to
|
A SWIMw
object containing:
x
, a data.frame containing the data;
h
, h is a multiple of the Silverman’s rule;
u
, vector containing the gridspace on [0, 1];
lam
, vector containing the lambda's of the optimized model;
str_fY
, function defining the densities of the stressed component;
str_FY
, function defining the distribution of the stressed component;
str_FY_inv
, function defining the quantiles of the stressed component;
gamma
, function defining the risk measure;
new_weights
, a list of functions, that applied to
the k
th column of x
, generates the vectors of scenario
weights. Each component corresponds to a different stress;
type = "mean"
;
specs
, a list, each component corresponds to
a different stress and contains k
and new_means
.
See SWIM
for details.
Zhuomin Mao
Pesenti2019reverseSWIM
Pesenti2020SSRNSWIM
Pesenti2021SSRNSWIM
Other stress functions:
stress_HARA_RM_w()
,
stress_RM_mean_sd_w()
,
stress_RM_w()
,
stress_VaR_ES()
,
stress_VaR()
,
stress_mean_sd_w()
,
stress_mean_sd()
,
stress_mean()
,
stress_moment()
,
stress_prob()
,
stress_user()
,
stress_wass()
,
stress()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ## Not run:
set.seed(0)
x <- as.data.frame(cbind(
"normal" = rnorm(1000),
"gamma" = rgamma(1000, shape = 2)))
res1 <- stress_wass(type = "mean", x = x, k = 1,
new_means=1)
summary(res1)
## calling stress_RM_w directly
## stressing "gamma"
res2 <- stress_mean_w(x = x,
new_means=2.2, k = 2)
summary(res2)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.