Причина в том, что вы сравниваете разные распределения, поэтому, когда вы создаете случайные числа из этих распределений, их среднее значение различно. Если мы возьмем в качестве примера нормального распределения затем
set.seed(111)
sample1 <- rnorm(n=10000,mean=356,sd=98)
mean(sample1) #355.7724
среднее будет действительно почти 356. Но если мы взяли усеченное нормальное распределение затем
set.seed(111)
sample2<-rnormTrunc(n=100000,mean=356,sd=98,min=120 ,max=1260)
mean(sample2) #357.9636
среднее будет немного отличаться, около 358 но не 356. Причина, почему разница настолько мала, потому что, как видно на гистограмме
hist(rnorm(n=10000,mean=356,sd=98),breaks=100,xlim=c(0,1300))
abline(v=120,col="red")
abline(v=1260,col="red")
enter image description here
по усечения, вы берете очень нечастые значения (меньше, чем 120 и больше, чем 1260).
LogNormal - это толстокорочное распределение, перекошенное вправо. Это означает, что она включает в себя гораздо больше, чем нечастые значения нормального распределения, далеко за 1260. Если вы усечение распределение между 120 и 1260
hist(rlnormTrunc(10000,meanlog=356,sdlog=98,min=120,max=1260),breaks=100)
вы получаете
set.seed(111)
mean(rlnormTrunc(10000,meanlog=356,sdlog=98,min=120,max=1260)) #493.3903
enter image description here
В каждом из приведенных выше примеров вы вычисляете среднее значение для случайного набора значений разных диапазонов из-за разных распределений, поэтому вы получаете разные средние значения.
Разве у вас не будет другого значения при каждом запуске? например, среднее значение (rnorm (100, среднее = 356, sd = 10)). Среднее значение среднего значения, однако, равно 356, которое обычно распределяется в соответствии с CLT, верно? – aatrujillob
Спасибо за ваш ответ. Если я использую среднее значение (rnorm (100, mean = 356, sd = 98)), я получаю среднее значение = 356, что я хочу ... Я получаю почти то же значение каждый раз, когда я запускаю эту строку. Почему тогда я не получаю то же значение, когда я запускаю среднее значение (rlnormTrunc (1000,356,98,120,1260)) – Pabs88
Вам нужно добавить вызов библиотеки для любого пакета, который имеет эту функцию, и вам нужно просмотреть страницу справки, чтобы определить, какие параметры устанавливаются с этим вызовом. Если у вас есть параметры для логнормального распределения с определенным средним значением, и вы усекаете его на LHS, тогда вы ожидаете, что выбранные значения будут иметь более высокое значение. –