問題タブ [random-sample]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
313 参照

r - サンプル関数 R は一様に分布したサンプルを生成しません

アンケートを作成しています。31 の質問が考えられます。各回答者に 3 つのサブセットに回答してもらいます。ランダムな順序で回答してもらいたいと思います。参加者は同じ質問に 2 回回答してはいけません

参加者のインデックスと、1 番目、2 番目、3 番目の質問の質問インデックスの列を含むテーブル マトリックスを作成しました。

以下のコードを使用すると、私のサンプルではインデックス 31 が過小評価されています。

サンプル関数の使い方が間違っていると思います。誰かが私を助けてくれることを望んでいましたか?

0 投票する
2 に答える
2885 参照

matlab - Matlab:置換を含むランダム サンプル

データセットからの置換でランダムサンプルを行う最良の方法は何ですか? データセットとして 316 * 34 を使用しています。データを3 つのバケットに分割したいが、置き換えたい。ラベルデータを識別するのに便利なインデックスをそのまま保持する必要があるため、randperm を使用する必要があります。私はいくつかのランダムサンプルメソッドがあるのを見ましたが、それらは私が探していることをしているようには見えませんでした.matlabに何かが存在しないと考えるのは奇妙ですが、私は次のことをしました:

私の問題は、これを行うrow_idx = round(rand(1)*316)とゼロになることがあり、2つの質問につながることです

  1. ゼオを避けるにはどうしたらいいですか?
  2. 置換でランダム サンプルを実行する最良の方法は何ですか。

    /li>

私は次のことができます:

乱数が2つの連続したラウンドで2つのゼロ値を与えることは決してないと仮定します。

0 投票する
2 に答える
200 参照

python-3.x - Pythonがすべての重複を見つけられなかった

これは、ランダムサンプリングに関連しています。random.sample(number、5)を使用して、数値に含まれる数値の範囲内から乱数のリストを返しています。私はi<100の間に、5つの数値の100セットを返すために使用しています。重複をチェックするために、私は使用しています:

重複のあるセットを識別し、これに続いてrandom.sample(number、5)を実行して、別のランダム化を実行してセットを重複に置き換えようとします。私は約8%が再ランダム化されているようです(どの番号が重複しているかを示すためにprintステートメントを使用して)が、約5%が見落とされているようです。私は間違って何をしていますか?実際のコードは次のとおりです。

別のルーチンでは、上記と同じことを行おうとしていますが、同じものを追加し、set1をset2に置き換えて、2つのセットで重複を検索しています。これにより、同じ種類の障害が発生します。set2ルーチンはインデントされ、上記のルーチンのすぐ下に配置されます。i <100の間:set2では繰り返されません。問題を明確に説明できたと思います!!

0 投票する
1 に答える
6975 参照

google-maps - 特定の郵便番号、郡、または地域内のランダムな実際の米国住所

そのため、学校でのプロジェクトでは、プライバシーの問題により公式データが明らかに利用できないため、学生が私たちの町のどこに住んでいるかをシミュレートしようとしています. 郵便番号、半径、または郡で機能するジェネレーターを探し始めましたが、(商用または無料の) ジェネレーターを見つけることができませんでした。 . ランダム ジェネレーターを見つけた場合、郵便番号や都市に限定して実際の住所をランダムに生成することはできません。

私が見つけた良いアイデアはここにありました: https://stackoverflow.com/a/12289969/1778542

それに基づいて、市内中心部の経度緯度座標を選択し、郊外の座標を見つけて平面を作成し、平面内で経度緯度座標をランダムに生成し、それらをフィードバックして Google に住所を概算させます。提起された (そして私は避けようとしている) 懸念の 1 つは、Google が検証済みの住所を使用せず、概算の住所を使用していないことです。

そのようなジェネレーターや GMaps を使用するより洗練された方法を見つけるヒントはありますか?

どうもありがとう!

GP

0 投票する
4 に答える
30006 参照

matlab - Matlab でデータセットからランダム サンプルを選択する方法

重複の可能性:
MATLAB で N 個の点から k 個の点をランダムに選択するにはどうすればよいですか?

10,000 行のデータを含むデータセットがあるとします。ランダムに選択された 1,000 行を含むサブセットを作成する最善の方法は何ですか?

0 投票する
5 に答える
172 参照

algorithm - 以前に乱数が発生したかどうかを確認する

最初に、これは不自然な例であり、現実の問題ではないことを明確にしておきます。

0〜10の乱数を作成する際に問題が発生した場合は、これを11回行い、以前に発生した番号が再度描画されないようにします。繰り返し番号を取得した場合は、別の乱数を作成して、以前は見られませんでした。したがって、基本的に、0から10までの一意の番号のシーケンスをランダムな順序で取得します(例:3 1 2 0 5 9 4 8 10 6 7など)。

ここで、乱数が一意であり、以前に描画したものではないことを確認するロジックを考え出すために、多くのアプローチを使用できます。

C ++std::bitsetを使用して、インデックスに対応するビットを各ランダム番号の値に等しく設定します。次回、新しい乱数が描画されたときに確認します。

または

aを使用しstd::map<int,int>て、回数をカウントするか、その配列にいくつかの番兵値が格納されている単純なC配列でさえ、その数が発生したかどうかを示します。

上記の方法を避け、数学的/論理的/ビット単位の演算を使用して、以前に乱数が描画されたかどうかを確認する必要がある場合、方法はありますか?

0 投票する
1 に答える
758 参照

matlab - 人工ニューラルネットワークモデルをブートストラップするアプリケーションのためにMATLABでランダムジェネレーターをマスターする方法

私は水文時系列データを使用しており、Bootstrap ArtificialNeuralNetworkモデルを構築しようとしています。信頼区間を使用して不確実性評価を提供するには、元の時系列データセットをリサンプリング/ブートストラップするときに、分散を計算するために、元の時系列のすべての値がすべてのブートストラップサンプル内で少なくとも2回抑制されていることを確認する必要がありますその時点での信頼区間。

いくつかの背景を与えるために:

月ごとの時間ステップで標準降水指数値を含む水文時系列を使用しています。この時系列は429(行)x 1(列)にまたがっています。この時系列ベクトルと呼びましょうX。のすべての要素/値は、Xとの間で正規化および標準化され01います。

次に、時系列Xがニューラルネットワークのいくつかのターゲット値(と同じ長さと条件X)に対してトレーニングされ、ターゲット値の新しい推定値が生成されます。この出力ベクトルをO(と同じ長さと条件X)と呼びます。

私は今、それを何度も取得Xしてリサンプリングしii =1:1:200(つまり、ブートストラップサイズ= 200)、長さ(429)を置き換えます。すべてのブートストラップサンプルが配置されている行列を呼び出しましょうM。を使用B = randsample(X, length(X), true)M、forループを使用して入力しますM(:,ii) = B。注:よりランダムな結果が得られることを期待して、RNGを新しい状態に移行し続けるためrng('shuffle')に、ステートメントの後に必ず含めるようにします。randsample

次に、信頼区間の作成に使用するためにデータがどの程度「適切に」リサンプリングされたかをテストします。

私の手順は次のとおりです。

  1. 上記の手順を使用してMを作成するためのforループを生成します
  2. 新しい変数を作成します。これにより、ブートストラップサンプルでリサンプリングされなかったXcすべての値が保持されます。Xii for ii = 1:1:200
  3. For j=1:1:length(X) fill 'Xc' using the Xc(j,ii) = setdiff(X, M(:,ii))、要素jが。でM(:,ii)埋めXc(j,ii)られている場合NaN
  4. Xcは、と同じサイズと次元の行列になりましたMNaNの各行の値の量を数え、Xcベクトルに配置しCIます。
  5. のいずれかの行がでCIある場合> [Bootstrap sample size, for this case (200) - 1]、この時点で信頼区間を作成することはできません。

これを実行すると、セットXから選択された値がほとんど常に繰り返されていることがわかります。つまり、のXすべてのサンプルを生成するために同じ値が使用されMます。これは、新しいブートストラップサンプルを作成するために常に選択される、元の時系列の約200のデータポイントとほぼ同じです。

プログラムを効果的に変更したり、(5)の否定的な解決策を回避できる特定の機能を使用したりするにはどうすればよいですか?

これが私のコードの例ですが、スクリプトで使用される変数がここの私のテキストと異なる場合があることに注意してください。

助けてくれてありがとう、そして以下のコードを見てください。

0 投票する
3 に答える
5043 参照

r - 切断正規分布からの効率的な乱数生成

平均=0およびsd-1の正規分布から50,000個の値をサンプリングしたいと思います。ただし、値を[-3,3]に制限したいと思います。私はこれを行うためのコードを書きましたが、それが最も効率的かどうかわかりませんか?いくつかの提案を得ることを望んでいました。

0 投票する
5 に答える
345 参照

java - 乱数の巨大なソート済みリスト

メソッドを呼び出すたびに、返される数値が以前に返された数値よりも大きい、ランダムな分布からサンプリングされた数値を返すメソッドを作成する必要があります。

または、言い換えると、ランダム値のソートされたリストのイテレータが必要です。

残念ながら、リストが大きすぎて全体としてメモリ内に作成できません。私が思いついた最初のアイデアは、値空間をバケットに分割することです。各バケットには、ある範囲 [a, b) の値が含まれます。私のリストに N 個の要素があるとします。バケットを作成するには、ディストリビューションを N 回サンプリングし、範囲 [a, b) の各値をバケットに入れます。そのバケット外の値は破棄されます。

このようにして、最後のバケットを繰り返すたびに新しいバケットを作成し、メモリ消費を低く抑えることができました。

それでも、私は統計の専門家ではないので、これがどういうわけか私が得た数字を台無しにするのではないかと少し心配しています. これは適切なアプローチですか?各バケットにまったく同じ分布ジェネレーター (org.apache.commons.math3.distribution.RealDistribution のインスタンス) を使用することは重要ですか?

更新:私が話している乱数の種類を説明するのに悪い仕事をしたようです。

私の数値は、たとえば平均が m で分散が v の正規分布、または一様分布または指数分布のようなランダム分布のサンプルを形成します。

これらの数値を使用して、シミュレーションでいくつかの動作をモデル化します。時々イベントをトリガーしたいとします。何十億ものイベントをスケジュールする必要があり、それらのイベントがトリガーされる時間は、ランダム分布のサンプルを形成する必要があります。

したがって、前の数値に乱数を追加して次の数値を導出すると、実際には一連の乱数が増加しますが、数値は分布のサンプルを形成しません。

0 投票する
2 に答える
88 参照

c - 乱数の作成

100たとえば、サイズ 5000 の配列でランダム インデックスを生成する必要がありarr[5000]ます。より多くのCPUを使用すると思うrand()ので、100回ループしたくありません。一度呼び出して、ランダムな配列インデックスを持つメカニズムが必要です。私の考えは、最初の 20 個のインデックスにランダムな値を設定し、オフセットを生成して、生成されたランダム値に追加し続けることです。つまり、10が最初の 20 個のインデックスからのランダム値である場合、オフセットが言う6場合、私の乱数は次のようになり10,16,22,28...etc ます。これは良い考えだと思いますか? 他に提案してもらえますか?ありがとう。