と固体の例を見つけることができません
#!/usr/bin/env python3
import time
import numpy
_DATE_RANGE = ('1925-01-01', '1992-01-01')
_DATE_FORMAT = '%Y-%m-%d'
_EMPIRICAL_SCALE_RATIO = 0.15
_DISTRIBUTION_SIZE = 1000
def main():
time_range = tuple(time.mktime(time.strptime(d, _DATE_FORMAT))
for d in _DATE_RANGE)
distribution = numpy.random.normal(
loc=(time_range[0] + time_range[1]) * 0.5,
scale=(time_range[1] - time_range[0]) * _EMPIRICAL_SCALE_RATIO,
size=_DISTRIBUTION_SIZE
)
date_range = tuple(time.strftime(_DATE_FORMAT, time.localtime(t))
for t in numpy.sort(distribution))
print(date_range)
if __name__ == '__main__':
main()
ノート代わりに_EMPIRICAL_SCALE_RATIO
の、あなたがGENERするscipy.stats.truncnorm
を使用することができます(してください):、時間値の日付からの変換には、仕事をしていません食べた:truncated normal distribution。
日付をダニ、秒、または他の1-d単位に変換します(これは、日付の非常に一般的な操作ですが、内部的にも自然な形式です)。次に、normal-distの位置は、(新しい1d形式の)中間要素のようになり、分散/標準偏差を調整するだけで済みます。後で、サンプルを元に戻します。 – sascha