例えば、年齢と1週間のスタックオーバーフローに費やされた時間数のようなデータを生成しようとしています。私はrandn
関数を使ってみましたが、生成される値の範囲と値の量子化を制御することはできません。私はボックスマラー法のようないくつかのアルゴリズムを試しましたが、同じ問題が発生します。 2つの均一な変量を生成することができますが、正規分布の値をどのように制御できますか?誰かが私に説明することができます、どのように私はこれをPythonで行うことができますか?Pythonは正規分布の疑似データを生成します
答えて
私は、これはあなたが探しているものだと思う:
def get_truncated_normal(mean=0, sd=1, low=0, upp=10):
return truncnorm(
(low - mean)/sd, (upp - mean)/sd, loc=mean, scale=sd)
X = get_truncated_normal(mean=15, sd=2, low=0, upp=1000)
a=(X.rvs(100))
ナンシーズrandom.normalはトリックを行います。中央値、SD、希望のサイズを指定する必要があります。
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
M = 25
SD = 5
n = 100
age = np.random.normal(M, SD, n)
sorted_age = sorted(age)
pdf = stats.norm.pdf(sorted_age, M, SD)
plt.plot(sorted_age, pdf)
plt.show()
それは私の質問 – user8778850
の答えではありません私は欲しいものは、特定の範囲にあることがpdfとは、年齢は12歳から50歳までの自然数です。私は年齢の実際の値が必要です – user8778850
私は2つの変数が独立していることを前提としています。これはちょうど時代をやるための一つの方法です。
>>> import numpy as np
位置とサイズ50のランダム、単変量正常サンプルを生成し、廃棄がゼロ未満の値の両方30.
>>> ages = np.random.normal(30,30,50)
をスケーリングします。一定のサンプルサイズが必要な場合は、少し賢明なやり方をする必要があります。
>>> ages = [age for age in ages if age>=0]
最大のビン境界線が必要であるかどうかを知るには、最大の年齢値を取得します。
>>> max(ages)
90.513300401178611
最後のビンの境界が最大の年齢を収容するのに十分な大きさであることを確認し
>>> bins = np.arange(0,92,1)
など、2まで、0から1に、先の年齢を割り当てるためにビンを作成します1。
>>> max(bins)
91
年齢をビンに割り当てます。
>>> sample = np.digitize(ages, bins)
表示結果。
>>> sample
array([20, 82, 73, 21, 7, 39, 56, 23, 37, 15, 9, 21, 46, 6, 51, 13, 89,
47, 46, 4, 78, 33, 29, 26, 74, 72, 62, 52, 2, 48, 39, 91, 40, 38,
40, 12, 59, 77, 52, 65, 35, 69, 31, 74, 18], dtype=int64)
なぜこの質問は下降しますか?あなたは私に完璧な答えを与えました – user8778850
おそらく、自分で問題を解決しようとしたコードを表示していなかったからです。私は推測しているだけです。投票者が抗議していることを知るのはとても難しいので、私は投票を嫌う。実際、あなたが私のプロフィールを見ると、あなたは一度だけダウン投票したことがわかります。 –
- 1. Python正規分布
- 2. 疑似PHP正規表現
- 3. 共分散行列を持つ正規分布ランダムベクトルの生成
- 4. データに正規分布をプロットする
- 5. Prologで正規分布乱数を生成する方法は?
- 6. python、RGBカラーの正規分布の集合を生成する方法
- 7. 正規分布のノイズと平均関数を持つデータを生成する
- 8. 範囲内の日付の正規分布を生成する
- 9. javaで正規分布のベクトルを生成する
- 10. Pythonの標準正規分布
- 11. pandasのスケーラブルPython正規分布DataFrame
- 12. ベクトル化正規分布のPython
- 13. 対数正規PDFは私がfolowsとして指数分布の背景に対数正規分布から乱数を生成したいのpython
- 14. 赤方偏移の正規分布から正規分布へ
- 15. 正規分布からサンプルを生成する
- 16. 正規分布に従ったN点を生成する
- 17. パイソン3.1 - 正規分布を作成
- 18. DAX正規分布
- 19. matlabの正規分布に基づく乱数の生成
- 20. 疑似英語から正規表現
- 21. 3Dのプロット正規分布
- 22. 正規分布のプロットが
- 23. Box-Mullerメソッドを使用した正規分布からの値の生成
- 24. MySqlで疑似カラムを生成する
- 25. 正規分布ベスト・アプローチ
- 26. mt19937と正規分布
- 27. Julia:ランダム正規分布
- 28. 整数範囲から正規分布乱数を生成する方法は?
- 29. 部分正規分布を作成するPyMC3
- 30. Chart.jsを使用した正規分布グラフの作成
あなたは、「値の量子化」とはどういう意味ですか? – user8153
年齢を12.3歳にしたくない場合は、時間が0.5時間の倍数になるような整数でなければなりません。@ user8153 – user8778850
[this](https://stackoverflow.com/questions/36894191/)助けて? –