タグ付けされた質問 「random-generation」

一連の数字または記号をランダムに、または(ほとんどの場合)疑似ランダムに生成する行為。つまり、予測可能性やパターンがない。

2
打ち切りデータをシミュレートする方法
タイプIの右打ち切り観測を含むn個のワイブル分布の寿命のサンプルをどのようにシミュレートできるのかと思います。たとえば、n = 3、形状= 3、スケール= 1、打ち切り率= .15、打ち切り時間= .88とします。ワイブルサンプルを生成する方法は知っていますが、Rで右打ち切りされたタイプの打ち切りデータを生成する方法がわかりません。 T = rweibull(3, shape=.5, scale=1)

5
生成する方法
平均値0のシーケンスを生成する方法を知っています。たとえば、Matlab で長さ10000の± 1シーケンスを生成する場合は、次のようになります。±1±1\pm 1000±1±1\pm 1100001000010000 2*(rand(1, 10000, 1)<=.5)-1 ただし、平均0.05のシーケンスを生成する方法、つまり、1がわずかに好ましい場合はどうでしょうか。±1±1\pm 10.050.050.05111


4
宝くじに選ばれる可能性が最も低いのはどの番号ですか?
メガミリオンズは今日5億ドル以上です。選択される可能性が最も低いいくつかの数値についてのJSTOR論文を読んだことを覚えています。たとえば、7はラッキーナンバーであるため、多くの人が7を選択しますが、私はその逆を求めています。ただし、JSTORメンバーシップがなくなりました。1から80の数字の宝くじの中で、人々が宝くじの選択として選択する可能性が最も低いのはどの数字ですか? 注:各番号は、選択される可能性が同じです。誰も選ばない数字を選びたいので、当選しても賞品を誰かと共有する必要はありません。

3
3Dユニットボールに均一に分布したポイントを生成するにはどうすればよいですか?
以前の質問を投稿しましたが、これは関連していますが、別のスレッドを開始することをお勧めします。今回は、3次元の単位球内に均一に分布する点を生成する方法と、分布を視覚的および統計的に確認する方法について知りたいと思います。そこに掲載されている戦略がこの状況に直接転用できるとは思えません。

1
疑似乱数生成でシードを設定するためのリファレンスとベストプラクティス
で、この文書は、その懸念「セットシード」コマンドは、Stataの人々は、疑似乱数を生成するシードの設定に関連する問題を議論します。 注目すべき「しない」は、「自然数のシーケンスをシードとして連続的に使用しないでください。これは、パターンがあり、疑似ランダム性を危険にさらすためです」。 4分の1の冗談で特筆すべき"do"は、有効期間中にシードを1つだけ設定し、各実験の最後に生成されたプロセスの "状態"を記録して、次の実験がその時点で続行されるようにします。プロセスが停止した場所。 明らかに、上記のアドバイスは、彼が研究期間中に生成する疑似乱数の予想される数に依存します。おそらく、メルセンヌツイスターは多くの研究者の生涯のニーズをカバーするでしょう... 現在、私はPRNGについて理論上または実際にはあまり経験を積んでいないので、これらの提案について議論することはできません。それらは理論的根拠と厳密な数学的統計に基づいて有効または無効であることが証明されているはずです。 だから、私の質問は 1)上記のアドバイスの説明や無効化を手伝ったり、そのような問題を扱っているリファレンスを指摘したりできますか? 2)シード設定の「ベストプラクティス」を提供するリファレンスを提供できますか? 3)あなたは自分の仕事でそれをどのように進めますか、そしてなぜですか? mmmnnnPRNGPRNG\text{PRNG}mnmnmnmnmnmn 関連するスレッド(より集中的ですが)は、 各コードブロックの前にシードを設定するか、プロジェクトごとに1回ですか? 私はおそらくこれがコミュニティーwikiであるべきだと感じています。モッドはそれについて決定してください。

1
Anova()とdrop1()がGLMMに異なる回答を提供したのはなぜですか?
次の形式のGLMMがあります。 lmer(present? ~ factor1 + factor2 + continuous + factor1*continuous + (1 | factor3), family=binomial) 私が使用している場合drop1(model, test="Chi")、私は私が使用している場合とは異なる結果を得るAnova(model, type="III")車のパッケージからかsummary(model)。後者の2つは同じ答えを与えます。 大量の偽造データを使用して、これらの2つの方法は通常違いがないことがわかりました。それらは、平衡線形モデル、不平衡線形モデル(異なるグループでnが等しくない場合)、および平衡一般化線形モデルに対して同じ答えを示しますが、平衡一般化線形混合モデルに対しては同じ答えを与えません。したがって、ランダムな要素が含まれている場合にのみ、この不一致が現れます。 これらの2つの方法の間に違いがあるのはなぜですか? GLMMを使用する場合は必要がありますAnova()かdrop1()使用できますか? これらの2つの違いは、少なくとも私のデータでは、かなりわずかです。どちらを使用するかは問題ですか?
10 r  anova  glmm  r  mixed-model  bootstrap  sample-size  cross-validation  roc  auc  sampling  stratification  random-allocation  logistic  stata  interpretation  proportion  r  regression  multiple-regression  linear-model  lm  r  cross-validation  cart  rpart  logistic  generalized-linear-model  econometrics  experiment-design  causality  instrumental-variables  random-allocation  predictive-models  data-mining  estimation  contingency-tables  epidemiology  standard-deviation  mean  ancova  psychology  statistical-significance  cross-validation  synthetic-data  poisson-distribution  negative-binomial  bioinformatics  sequence-analysis  distributions  binomial  classification  k-means  distance  unsupervised-learning  euclidean  correlation  chi-squared  spearman-rho  forecasting  excel  exponential-smoothing  binomial  sample-size  r  change-point  wilcoxon-signed-rank  ranks  clustering  matlab  covariance  covariance-matrix  normal-distribution  simulation  random-generation  bivariate  standardization  confounding  z-statistic  forecasting  arima  minitab  poisson-distribution  negative-binomial  poisson-regression  overdispersion  probability  self-study  markov-process  estimation  maximum-likelihood  classification  pca  group-differences  chi-squared  survival  missing-data  contingency-tables  anova  proportion 

1
ログコーシー乱数生成
密度のあるログコーシー分布から乱数を描く必要があります: 誰かが私を助けたり、私に方法を示すことができる本/紙を私に指摘したりできますか?f(x;μ,σ)=1xπσ[1+(ln(x)−μσ)2].f(x;μ,σ)=1xπσ[1+(ln(x)−μσ)2].f(x;\mu,\sigma)=\frac{1}{x\pi\sigma\left[1+\left(\frac{ln(x)-\mu}{\sigma}\right)^2\right]}.

1
制約付きのランダムベクトルの生成
次の制約を満たす実数a_iのランダムベクトルを作成する必要があります。 abs(a_i) < c_i; sum(a_i)< A; # sum of elements smaller than A sum(b_i * a_i) < B; # weighted sum is smaller than B aT*A*a < D # quadratic multiplication with A smaller than D where c_i, b_i, A, B, D are constants. この種のベクトルを効率的に生成するための典型的なアルゴリズムは何でしょうか?

2
RNG、R、mclapplyおよびコンピューターのクラスター
Rとコンピューターのクラスターでシミュレーションを実行していますが、次の問題があります。私が実行する各Xコンピューターで: fxT2 <- function(i) runif(10) nessay <- 100 c(mclapply(1:nessay, fxT2), recursive=TRUE) 32台のコンピューターがあり、それぞれに16コアがあります。ただし、乱数の約2%は同一です。これを回避するためにどのような戦略を採用しますか? レイテンシを設定することで、fxT2のこの問題を回避できました(つまり、各ジョブが各Xコンピューターに送信される時間を1秒遅らせます)。しかし、それはfxt2にとって非常に特別です。 問題は、実際にはfxT2が疑似乱数を含む長いタスクであることです。プロセスの終わりに、私は同じ統計実験のX * nessay再現を得ることが期待されます。nessay再現ではありません。これが確かに事実であり、これを確認する方法はありますか?

4
メールアドレスから疑似乱数まで[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、話題のクロス検証済みのため。 2年前休業。 私の目的: メールアドレスを取り、1、2、3、4の疑似乱数を出力する機能が欲しいのですが。 少し詳細: 準乱数とは、電子メールアドレスの一般的な母集団が与えられた場合、1、2、3、または4の値を取得する確率はほぼ同じであること、およびドメイン名などの電子メールアドレスの明らかな体系的なプロパティは、 1、2、3、または4の値を取得する確率には影響しません。 少し背景: 私は質問に書かれたオンライン実験を行っており、参加者は2回ログインします。参加者を4つのグループのいずれかにランダムに割り当てたい。これは1つのセッションで簡単に実行できますが(乱数ジェネレーターを使用できます)、セッション間の割り当てを覚えておく方法が必要です。したがって、参加者のメールから準ランダムなグループ割り当てを抽出できると思いました。また、私が自由に使用できる一連の機能にも制限があります(完全なリストについては、こちらを参照してください)。文字列関数は、次のとおりです。 最初の考え: ほぼ等しい確率で1、2、3、または4の値を返すメールアドレスの機能のセットを抽出しようと考えました。次に、これらのプロパティを合計して、mod 4 + 1を取得します。したがって、中心極限定理のようなものを想定すると、私は近づくかもしれません。 私の頭に浮かんだ可能な機能: 文字列の長さ 最初の「a」、「b」などの位置

2
しきい値処理されたベータ分布を効率的にサンプリング
次の分布から効率的にサンプリングするにはどうすればよいですか? x∼B(α,β), x>kx∼B(α,β), x>k x \sim B(\alpha, \beta),\space x > k が大きすぎない場合、リジェクションサンプリングが最善のアプローチである可能性がありますが、kが大きい場合の処理​​方法がわかりません。おそらく、適用できる漸近近似がありますか?kkkkkk

4
これは正しいです ?(Truncated-norm-multivariate-Gaussianの生成)
もし 、すなわち、 F X(X )= 1X∈Rn, X∼N(0–,σ2I)X∈Rn, X∼N(0_,σ2I)X\in\mathbb{R}^n,~X\sim \mathcal{N}(\underline{0},\sigma^2\mathbf{I})fX(x)=1(2πσ2)n/2exp(−||x||22σ2)fX(x)=1(2πσ2)n/2exp⁡(−||x||22σ2) f_X(x) = \frac{1}{{(2\pi\sigma^2)}^{n/2}} \exp\left(-\frac{||x||^2}{2\sigma^2}\right) 多変量の場合の切り捨て正規分布の類似バージョンが必要です。 より正確には、ノルムに制約された(値)多変量ガウスY st f Y(y )= { cを生成します。F X(Y )、 もし | | y | | ≥ 0を、 そうでありません 。 ここで、c = 1≥a≥a\geq aYYYfY(y)={c.fX(y), if ||y||≥a0, otherwise .fY(y)={c.fX(y), if ||y||≥a0, otherwise . f_Y(y) = \begin{cases} c.f_X(y), \text{ …


4
1つの値からN個の独立した乱数ジェネレータをシードする最良の方法
私のプログラムでは、大規模なデータセットのサンプリングに使用される独自のRNGを使用して、それぞれN個の個別のスレッドを実行する必要があります。結果を再現できるように、このプロセス全体に単一の値をシードできるようにする必要があります。 各インデックスのシードを単純に順次増やすだけで十分ですか? 現在、私は使用numpyのRandomStateメルセンヌツイスターの擬似乱数生成器を使用しています。 以下のコードの抜粋: # If a random number generator seed exists if self.random_generator_seed: # Create a new random number generator for this instance based on its # own index self.random_generator_seed += instance_index self.random_number_generator = RandomState(self.random_generator_seed) 基本的に、ユーザーが入力したシード(存在する場合)から始め、インスタンス/スレッドごとに、実行中のインスタンスのインデックス(0からN-1)を順番に追加します。これが良い習慣なのか、これを行うより良い方法があるのか​​はわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.