Я применяю пакет чувствительность в R. В частности, я хочу использовать sobolroalhs , поскольку он использует процедуру выборки для входных данных, которая позволяет оценивать модели с большим количествомпараметры.Функция выборки равномерно [0,1] для всех входов.Утверждается, что желаемые распределения должны быть получены следующим образом
####################
# Test case: dealing with non-uniform distributions
x <- sobolroalhs(model = NULL, factors = 3, N = 1000, order =1, nboot=0)
# X1 follows a log-normal distribution:
x$X[,1] <- qlnorm(x$X[,1])
# X2 follows a standard normal distribution:
x$X[,2] <- qnorm(x$X[,2])
# X3 follows a gamma distribution:
x$X[,3] <- qgamma(x$X[,3],shape=0.5)
# toy example
toy <- function(x){rowSums(x)}
y <- toy(x$X)
tell(x, y)
print(x)
plot(x)
У меня есть ненулевое среднее значение и стандартные отклонения для некоторого входного параметра, который я хочу выбрать из нормального распределения.Для других я хочу сделать выборку между определенным диапазоном (например, [0,03,0.07] вместо [0,1]).Я пытался использовать встроенные функции R, такие как
SA$X[,1] <- rnorm(1000, mean = 579, sd = 21)
, но я боюсь, что эта процедура испортила дизайн выборки пакета и привела к странным результатам для индексов чувствительности.Следовательно, я думаю, что мне нужно придерживаться равномерного отрисовки функции sobolroalhs, в которой и использовать выборочное значение между [0, 1] при вытягивании из желаемого распределения (я думаю, что рисование плотности?).Имеет ли это смысл для кого-либо и / или кто-нибудь знает, как я мог бы выбрать правильные дистрибутивы, следуя синтаксису из описания пакета?