Количественная модель эмулирует некоторое поведение мира пути (а) , представляющие объекты от некоторых из их численных свойств и (б) объединением этих чисел определенным образом для получения количественных результатов , которые также представляют интерес свойство.
В этой схеме три числовых ввода слева объединены, чтобы произвести один числовой вывод справа. Числовые линии указывают возможные значения входов и выходов; точки показывают конкретные значения в использовании. В настоящее время цифровые компьютеры обычно выполняют вычисления, но они не являются необходимыми: модели рассчитывались с помощью карандаша и бумаги или путем создания «аналоговых» устройств в дереве, металле и электронных схемах.
В качестве примера, возможно, предыдущая модель суммирует свои три входа. R
код для этой модели может выглядеть
inputs <- c(-1.3, 1.2, 0) # Specify inputs (three numbers)
output <- sum(inputs) # Run the model
print(output) # Display the output (a number)
Его вывод просто число,
-0,1
Мы не можем знать мир совершенно: даже если модель работает точно так же, как мир, наша информация несовершенна, и вещи в мире меняются. (Стохастическое) моделирование помогает нам понять, как такая неопределенность и изменение входных данных модели должно переводиться в неопределенность и изменение выходных данных. Они делают это путем случайного изменения входных данных, запуска модели для каждого варианта и суммирования совокупного выхода.
«Случайно» не означает произвольно. Разработчик должен указать (сознательно или нет, явно или неявно) предполагаемые частоты всех входов. Частоты выходов обеспечивают наиболее подробное резюме результатов.
Та же модель, показанная со случайными входами и полученным (вычисленным) случайным выходом.
На рисунке показаны частоты с гистограммами для представления распределений чисел. Эти предназначенные входные частоты приведены для входов слева, в то время как вычисленная выходная частота, полученная запуска модели много раз, как показано на рисунке справа.
Каждый набор входных данных для детерминированной модели производит предсказуемый числовой вывод. Однако когда модель используется в стохастическом моделировании, на выходе получается распределение (например, длинное серое, показанное справа). Распределение выходного распределения говорит нам, как можно ожидать, что выходные данные модели будут меняться, когда изменяются ее входные данные.
Предыдущий пример кода может быть изменен следующим образом, чтобы превратить его в симуляцию:
n <- 1e5 # Number of iterations
inputs <- rbind(rgamma(n, 3, 3) - 2,
runif(n, -2, 2),
rnorm(n, 0, 1/2))
output <- apply(inputs, 2, sum)
hist(output, freq=FALSE, col="Gray")
Его выходные данные были суммированы с гистограммой всех чисел, сгенерированных путем итерации модели с этими случайными входными данными:
Заглядывая за кулисы, мы можем проверить некоторые из множества случайных входных данных, которые были переданы этой модели:
rownames(inputs) <- c("First", "Second", "Third")
print(inputs[, 1:5], digits=2)
100 , 000
[,1] [,2] [,3] [,4] [,5]
First -1.62 -0.72 -1.11 -1.57 -1.25
Second 0.52 0.67 0.92 1.54 0.24
Third -0.39 1.45 0.74 -0.48 0.33
Возможно, ответ на второй вопрос заключается в том, что симуляции можно использовать везде. С практической точки зрения ожидаемая стоимость запуска симуляции должна быть меньше вероятной выгоды. Каковы преимущества понимания и количественной оценки изменчивости? Есть две основные области, где это важно:
В поисках истины , как в науке, так и в законе. Число само по себе полезно, но гораздо полезнее знать, насколько точным или точным является это число.
Принятие решений, как в бизнесе, так и в повседневной жизни. Решения балансируют риски и выгоды. Риски зависят от возможности плохих результатов. Стохастическое моделирование помогает оценить эту возможность.
Вычислительные системы стали достаточно мощными, чтобы многократно выполнять реалистичные, сложные модели. Программное обеспечение эволюционировало для быстрой и простой генерации и суммирования случайных значений (как R
показывает второй пример). Эти два фактора объединились за последние 20 лет (и более) до такой степени, что моделирование является рутинным. Осталось только помочь людям (1) определить соответствующее распределение входных данных и (2) понять распределение выходных данных. Это область человеческой мысли, где компьютеры до сих пор мало помогали.