Хорошо, я сделал быстрый тест
require(truncnorm)
val = rtruncnorm(1000000, a=7.2, mean = 0.0, sd = 1.0)
sd(val)
sqrt(vtruncnorm( a=7.2, mean = 0.0, sd = 1.0))
Канонический усеченный гауссов.При a = 6 они очень близки, 0,1554233 против 0,1548865 fe, в зависимости от семян и т. Д. При a = 7 они систематически различаются, 0,1358143 против 0,1428084 (значение выборки меньше, чем при вызове функции).Я проверил с реализацией Python
import numpy as np
from scipy.stats import truncnorm
a, b = 7.0, 100.0
mean, var, skew, kurt = truncnorm.stats(a, b, moments='mvsk')
print(np.sqrt(var))
r = truncnorm.rvs(a, b, size=100000)
print(np.sqrt(np.var(r)))
и вернул 0.1428083662823426, что согласуется с результатом R vtruncnorm.При вашем = 7,2 или около того результаты еще хуже.
Мораль истории - при высоких a
значениях выборки из rtruncnorm есть ошибка.У Python такая же проблема.