Эффективность (по времени) практически одинакова. Если вы объявляете что-то в блоках transformed parameters
, обычно требуется небольшое количество времени для проверки ограничений, которые вы объявляете для каждого преобразованного параметра. По сути, единственная ситуация, в которой проверка ограничений заметна, - это когда вы формируете корреляционную матрицу или ковариационную матрицу, которая должна учитывать, чтобы убедиться, что она положительно определена. В приведенном вами примере Mu
не ограничен, поэтому проверять нечего. Если вас не интересуют промежуточные параметры, имеет смысл объявить их в блоке model
, и в этом случае вы сэкономите некоторую оперативную память (в RStan или PyStan), не сохраняя их все и, возможно, немного времениизбегая соответствующего ввода / вывода.