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

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

5
強い相関が存在する大きなフルランクランダム相関行列を生成する方法
適度に強い相関が存在するように、n × nサイズのランダム相関行列を生成したいと思います。CC\mathbf Cn×nn×nn \times n サイズの正方実対称行列、たとえばn = 100 ;n×nn×nn \times nn=100n=100n=100 正定、つまり、すべての固有値が実数で正数の場合。 フルランク; すべての対角要素が等しい。111 非対角要素がなければならない合理的に均一に分布する。正確な分布は重要ではありませんが、適度に大きな値(たとえば、絶対値が0.5以上)をある程度適度に大きく(たとえば10 %)したいと思います。基本的に、すべての非対角要素≈0でCがほぼ対角線上にないことを確認したいと思います。(−1,1)(−1,1)(-1, 1)10%10%10\%0.50.50.5CC\mathbf C≈0≈0\approx 0 簡単な方法はありますか? 目的は、このようなランダム行列を使用して、相関(または共分散)行列を処理するアルゴリズムのベンチマークを行うことです。 動作しないメソッド 私が知っているランダム相関行列を生成するいくつかの方法を以下に示しますが、ここではうまくいきません。 s × nサイズのランダムなを生成し、中心化し、標準化して、相関行列C = 1を形成します。XX\mathbf Xs×ns×ns \times n。s>nの場合、これにより、通常、すべての非対角相関が0付近になります。もしS«nは、いくつかの相関が強くなりますが、Cはフルランクではありません。C=1s−1X⊤XC=1s−1X⊤X\mathbf C=\frac{1}{s-1}\mathbf X^\top \mathbf Xs>ns>ns>n000s≪ns≪ns\ll nCC\mathbf C 次のいずれかの方法で、ランダムな正定行列を生成します。BB\mathbf B ランダム平方生成対称正定作るB = A Aを ⊤。AA\mathbf AB=AA⊤B=AA⊤\mathbf B = \mathbf A …

1
行と列の長さに制約があるランダム行列
行と列、平均= 0でランダムに分布し、各行の長さ(L2ノルム)がで各列の長さがように制約された要素を持つランダムな非正方行列を生成する必要があります。同様に、平方値の合計は各行で1、各列でです。RRR1 √CCC111 RRC−−√RC\sqrt{\frac{R}{C}}RCRC\frac{R}{C} これまでのところ、これを達成する方法の1つを見つけました。単純に行列要素をランダムに初期化し(たとえば、平均、任意分散がゼロの均一分布、正規分布、またはラプラス分布から)、次に行と列を交互に正規化します、行の正規化で終わる。これは、目的の結果にかなり迅速に収束するようです(たとえば、および場合、列の長さの分散は、回の反復後、通常です)が、この高速収束率に依存できるかどうかはわかりません一般的に(さまざまなマトリックス次元と初期要素分布用)。R = 40 C = 80 0.00001 2l e n g t h =1length=1{\rm length} = 1R = 40R=40R=40C= 80C=80C=80 0.00001 0.00001~0.00001222 私の質問はこれです:目的の結果(、)を直接反復することなく達成する方法はあり行/列の正規化?たとえば、ランダムなベクトルを正規化するアルゴリズムのようなもの(要素をランダムに初期化し、二乗和の値を測定し、共通のスカラーで各要素をスケーリングします)。そうでない場合、上記の反復法の収束率(たとえば、エラーまでのnum回の繰り返し)の簡単な特性評価はありますか?c o l u m n l e n g t h s = √R O のw l e n g t h s …

4
ディスク上の均一な分布をシミュレートする
私は、円の任意の部分に欠陥がある可能性が同じになるように、円内のランダムなポイントの注入をシミュレートしようとしました。円を等面積の長方形に分割すると、結果の分布の面積あたりのカウントがポアソン分布に従うと予想しました。 円形領域内にポイントを配置するだけなので、極座標で2つの均一なランダム分布を注入しました:(半径)と(極角)。RRRθθ\theta しかし、この注入を行った後、私は明らかに、エッジと比較して円の中心により多くのポイントを取得します。 ポイントがサークル全体にランダムに分散されるように、円全体にこの注入を実行する正しい方法は何でしょうか?

3
1から100までの25個の乱数から、最高の乱数が複数回出現する確率はどのくらいですか?
多くのオンラインゲームでは、プレーヤーが難しいタスクを完了すると、タスクを完了した全員が使用できる特別な報酬が与えられることがあります。これは通常、マウント(輸送方法)または別のバニティアイテム(キャラクターのパフォーマンスを向上させず、外観のカスタマイズに主に使用されるアイテム)です。 そのような報酬が与えられた場合、誰が報酬を受け取るかを決定する最も一般的な方法は乱数を使用することです。ゲームには通常、1〜100のランダムな(暗号化セキュアランダムではなく、擬似ランダムのような)数を生成する特別なコマンドがあります(プレイヤーは別のスプレッドを選択できますが、100が最も一般的です)。各プレイヤーはこのコマンドを使用し、すべてのプレイヤーは誰が何をロールしたかを見ることができ、アイテムは最高のロールをした人に授与されます。ほとんどのゲームには、プレイヤーがボタンを押すだけで、誰もがボタンを押すと、ゲームが残りを自動的に行う組み込みシステムもあります。 時には、同じ高い数字を生成するプレイヤーもいますが、誰も彼らを倒しません。これは通常、一意の最高の数字が出るまで、プレイヤーが数字を再生成することで解決されます。 私の質問は次のとおりです。同じ確率で1〜100の任意の数を生成できる乱数ジェネレーターを想定します。25人のプレーヤーのグループがあり、それぞれがそのような乱数ジェネレーター(それぞれ独自のシード)で1つの数値を生成すると仮定します。1〜100の25個の数字があり、特定の数のプレーヤーを転がす人数に制限はなく、数字間に関係はありません。最大の生成数が複数のプレイヤーによって生成される可能性は何ですか?言い換えれば、同点の可能性は何ですか?

3
バイナリ変数と連続変数間のランダム相関データを生成します
2つの変数を生成します。1つはバイナリの結果変数(成功/失敗など)で、もう1つは年数です。年齢と成功との間に正の相関関係が必要です。たとえば、年齢の低いセグメントよりも年齢の高いセグメントの方が成功するはずです。理想的には、相関の程度を制御できる立場にいる必要があります。それ、どうやったら出来るの? ありがとう

2
特定のサンプル共分散行列を使用してデータを生成する
共分散行列与えられた場合、サンプルの共分散行列を持つようにデータを生成する方法は?Σ = Σ SΣsΣs\boldsymbol \Sigma_sΣ^= ΣsΣ^=Σs\hat{\boldsymbol \Sigma} = \boldsymbol \Sigma_s より一般的に:密度からデータを生成し、データパラメーターベクトル与えることに興味があります。これによりサンプルが生成され、そこから再び値推定できます。私が興味を持って中だと、逆の問題です:私たちは、パラメータのセットが指定されている場合はどうすれば、私たちはサンプルを生成したい、このような、その。X θ θ θ Sのx θ = θ Sf(x | θ )f(バツ|θ) f(x \vert \boldsymbol\theta) バツバツxθθ\boldsymbol\thetaθ^θ^\boldsymbol{\hat\theta}θsθs\boldsymbol\theta_{s}バツバツxθ^= θsθ^=θs \boldsymbol{\hat\theta} = \boldsymbol\theta_{s} これは既知の問題ですか?そのような方法は便利ですか?アルゴリズムは利用可能ですか?

3
乱数ジェネレーターのシードとは正確には何ですか?
私はいくつかの通常のグーグル検索などを試しましたが、私が見つけた答えのほとんどは、やや曖昧であるか、Python / C ++ stdlib.hなどの言語/ライブラリ固有です。ライブラリに固有ではなく、言語に依存しない数学的な答えを探しています。 例として、多くの人は、シードは乱数ジェネレーターの開始点であり、同じシードは常に同じ乱数を生成すると言います。どういう意味ですか?出力数は特定のシードの決定的な関数であり、ランダム性はシードの値に由来するということですか?しかし、もしそうなら、シードを提供することで、プログラマーは、機械にそれをさせるのではなく、ランダム性を作り出しませんか? また、この文脈での出発点は何を意味しますか?これは、マップのドメインの要素を言う厳密でない方法ですか?それとも私は何か間違っていますか? F :X → Yx∈Xx∈Xx\in\mathfrak{X}f:X→Yf:X→Yf:\mathfrak{X}\rightarrow\mathfrak{Y}

1
相関二項確率変数の生成
線形変換アプローチに従って相関ランダム二項変数を生成できるかどうか疑問に思っていましたか? 以下では、Rで簡単なものを試してみました。しかし、私はこれを行うための原則的な方法があるかどうか疑問に思っていましたか? X1 = rbinom(1e4, 6, .5) ; X2 = rbinom(1e4, 6, .5) ; X3 = rbinom(1e4, 6, .5) ; a = .5 Y1 = X1 + (a*X2) ; Y2 = X2 + (a*X3) ## Y1 and Y2 are supposed to be correlated cor(Y1, Y2)

2
逆変換方法はどのように機能しますか?
反転法はどのように機能しますか?密度 over ランダムサンプルとし、したがって cdfで。次に、反転法により、の分布をとして取得します。 f (x ; θ )= 1X1,X2,...,XnX1,X2,。。。、バツnX_1,X_2,...,X_n 0&lt;X&lt;1FX(X)=X1/θ(0、1)XF - 1 X(U)=Uθf(x;θ)=1θx(1−θ)θf(バツ;θ)=1θバツ(1−θ)θf(x;\theta)={1\over \theta} x^{(1-\theta)\over \theta} 0&lt;x&lt;10&lt;バツ&lt;10<x<1FX(x)=x1/θFバツ(バツ)=バツ1/θF_X(x)=x^{1/\theta}(0,1)(0、1)(0,1)XバツXF−1X(u)=uθFバツ−1(あなたは)=あなたはθF_X^{-1}(u)=u^\theta それで、はの分布がありますか?これは反転方法の仕組みですか? Xuθあなたはθu^\thetaXバツX u&lt;-runif(n) x&lt;-u^(theta)

4
任意の共分散行列を作成する方法
たとえばR、のMASS::mvrnorm()関数は、統計のさまざまなことを示すデータを生成するのに役立ちます。Sigma変数の共分散行列を指定する対称行列である必須引数を取ります。任意のエントリを持つ対称行列を作成するにはどうすればよいですか?n×nn×nn\times n

3
この分布の乱数をシミュレートする方法を見つける
累積分布関数を使用して、分布からの擬似乱数をシミュレートするプログラムをRで作成しようとしています。 F(x)=1−exp(−ax−bp+1xp+1),x≥0F(x)=1−exp⁡(−ax−bp+1xp+1),x≥0F(x)= 1-\exp \left(-ax-\frac{b}{p+1}x^{p+1}\right), \quad x \geq 0 ここa,b&gt;0,p∈(0,1)a,b&gt;0,p∈(0,1)a,b>0, p \in (0,1) 私は逆変換サンプリングを試みましたが、逆は分析的に解決できないようです。この問題の解決策をご提案いただければ幸いです

1
アダプティブMCMCは信頼できますか?
私は適応MCMCについて読んでいます(例えば、Markov Chain Monte Carloハンドブックの第4章、ed。Brooks et al。、2011、およびAndrieu&Thoms、2008を参照)。 nnnp(n)p(n)p(n)limn→∞p(n)=0limn→∞p(n)=0\lim_{n \rightarrow \infty} p(n) = 0 この結果は、(事後)直感的で、漸近的になります。適応の量はゼロになる傾向があるため、最終的にはエルゴード性を台無しにしません。私の懸念は、有限の時間で何が起こるかです。 与えられた有限時間に適応がエルゴード性を台無しにしていないこと、そしてサンプラーが正しい分布からサンプリングしていることをどうやって知るのでしょうか?それが理にかなっている場合、早期適応がチェーンにバイアスをかけないようにするために、どの程度のバーンインを行う必要がありますか? 現場の開業医は適応型MCMCを信頼していますか?私が試しビルドでの適応など、エルゴード性を尊重することが知られている他、より複雑な方法ですることを最近の多くの方法を見てきたので、私は求めています理由は、再生やアンサンブルの方法(すなわち、移行を選択することが合法です他の並列チェーンの状態に依存する演算子)。または、Stanなどのバーンイン中にのみ適応が実行されますが、実行時ではありません。これらのすべての取り組みは、ロバーツとローゼンタールによる適応型MCMC(実装するのは信じられないほど簡単です)が信頼できると見なされないことを示唆しています。しかし、おそらく他の理由があります。 適応メトロポリス・ヘイスティングスなどの特定の実装についてはどうですか(Haario et al。2001)? 参照資料 ローゼンタール、JS(2011)。最適なプロポーザルの分布と適応MCMC。マルコフ連鎖モンテカルロのハンドブック、93-112。 Andrieu、C.、&Thoms、J.(2008)。適応MCMCのチュートリアル。Statistics and Computing、18(4)、343-373。 ロバーツ、GO、およびローゼンタール、JS(2007)。適応マルコフ連鎖モンテカルロアルゴリズムの結合とエルゴード性。応用確率のジャーナル、458-475。 Haario、H.、Saksman、E.、&Tamminen、J.(2001)。適応メトロポリスアルゴリズム。ベルヌーイ、223-242。

4
正規分布の混合からランダム変数を生成する
混合分布、特にの正規分布の混合からサンプリングするにはどうすればよいRですか?たとえば、次のものからサンプリングしたい場合: 0.3× N(0 、1 )+0.5× N(10 、1 )+0.2× N(3 、.1 )0.3×N(0、1)+0.5×N(10、1)+0.2×N(3、.1) 0.3\!\times\mathcal{N}(0,1)\; + \;0.5\!\times\mathcal{N}(10,1)\; + \;0.2\!\times\mathcal{N}(3,.1) どうすればそれができますか?

5
相関データシミュレーションにコレスキー分解または代替を使用する方法
コレスキー分解を使用して、相関行列が与えられた相関ランダム変数をシミュレートします。事は、結果は与えられた相関構造を決して再現しないということです。以下に、状況を説明するためのPythonの小さな例を示します。 import numpy as np n_obs = 10000 means = [1, 2, 3] sds = [1, 2, 3] # standard deviations # generating random independent variables observations = np.vstack([np.random.normal(loc=mean, scale=sd, size=n_obs) for mean, sd in zip(means, sds)]) # observations, a row per variable cor_matrix = np.array([[1.0, 0.6, 0.9], [0.6, 1.0, …

3
事前に指定された相関行列を使用してデータを生成するにはどうすればよいですか?
平均=、分散=、相関係数=相関ランダムシーケンスを生成しようとしています。以下のコードでは、標準偏差として&を使用し、平均として&を使用しています。1 0.80001110.80.80.8s1s2m1m2 p = 0.8 u = randn(1, n) v = randn(1, n) x = s1 * u + m1 y = s2 * (p * u + sqrt(1 - p^2) * v) + m2 これによりcorrcoef()、xとの間の0.8が正確になりyます。私が欲しい場合、私は、一連の手段を生成することができますどのように私の質問はzそれがまたと相関しているy(同じ相関でr=0.8r=0.8r=0.8)ではなく、とx。知っておく必要がある特定の式はありますか?私が見つかりました。一つが、それを理解できませんでした。

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