置換を伴うランダムサンプリングこれを行うことは可能ですか?これは、Tables-> Subset関数では許可されていません。
JMP Proプラットフォームのさまざまな部分でBootstrapの見積もりを取得できることを認識していますが、特にデータテーブルの生成については疑問に思っています。
ありがとうございました!
再:ランダムサンプリングと置換こんにちはウェンディ、
はい、以下のスクリプトを参照してください。4行のテーブルを使用し、交換用に10個のサンプルを取得します。これを実行するにはAsList()関数が必要です。そうしないと、残念ながらエラーが発生します。
Names Default To Here( 1 );
dt = astable((1::4)`);
nSamples = 10;
dt2 = dt << subset( rows( As List( J( nSamples, 1, Random Integer( 1, N Row( dt ) ) ) ) ) );
再:ランダムサンプリングと置換こんにちはウェンディ、データテーブルからこれを行うことができます。列見出しを右クリックして、[新しい数式列]、[ランダム]、[置換付きサンプル]の順に選択します。
再:ランダムサンプリングと置換こんにちはウェンディ、私は明確にする必要があります。
ユーザーがサイズが表の行数以下のサンプルを必要とする限り、Miaが言及した新しい数式列の手法は機能します。より大きなサンプルが必要な場合、ポイントアンドクリックでこれを行う方法はわかりません(効率的に、つまり、サイズが十分に大きくなるまでテーブルをそれ自体と連結しますが、非効率的ですが機能します)。たぶん他の人がそれを行う方法でチャイムになります。
このスクリプトはどのサンプルサイズでも機能しますが、要求された行数が元のテーブルの行数を超える場合は常に、行マトリックスをラップしたAs List()関数が必要です。
再:ランダムサンプリングと置換あなたがた両方に感謝します!はい-クライアントはオーバーサンプリングする必要があると思うので、他の人がどのようにこれを達成したかを知ることは役立つでしょう。
他の関連する質問は、層別化に関するものです。 別の属性の分布を保証する置換でリサンプリングすることは可能ですか?
再:ランダムサンプリングと置換こんにちはしゅう 、
あります交換アドイン付きのサンプルオーバーサンプリングは実行できますが、別の変数に関する層別化は実行できません。
@julian
再:ランダムサンプリングと置換こんにちはウェンディ、
顧客がスクリプトを作成する意思があるかどうかはわかりませんが、カテゴリ変数を階層化するためにアイデアを簡単に拡張できます。以下の短いスクリプトは、Car Physical Dataデータセットと「Type」列に対してこれを行います。元のテーブルには116行ある1000行が要求されます。各カテゴリのサンプルサイズを最も近い整数に切り上げるため、1002行が返されることに注意してください。
これはこれを行う最速の方法ではありませんが、理解するのは比較的簡単です。おそらく、これを介して彼らに話しかければ、顧客は彼らが望むものをスクリプト化できるでしょうか?
乾杯、
ブレイディ
Names Default To Here( 1 );
dt = Open( "$Sample_Data\Car Physical Data.jmp" );
stratCol = Column( dt, "Type" );
nSample = 1000;
//determine the (over)sampling ratio
sRatio = nSample / N Row( dt );
//get a list of the stratification column's values
categories = ((Associative Array( stratCol << get values ) << get keys));
// initialize the master row matrix
rowMat = [];
//For each category
For( i = 1, i <= N Items( categories ), i++,
// Get the table rows belonging to this category
catRows = dt << getrowswhere( dt:stratCol == categories[i] );
// Determine how many rows belong to this category
catN = N Items( catRows );
// Oversample these row values by the specified ratio, and append them to the master row list
rowMat |/= catRows[As List( J( Ceiling( catN * sRatio ), 1, Random Integer( 1, catN ) ) )];
);
// Subset the data table, using the final master row list
dt << subset( rows( As List( rowMat ) ) );
再:ランダムサンプリングと置換オーバーサンプリングのために、このアドインもあります: Stratified Data Partitioning(バランシングオプション付き)アドイン
JMP 15でテストしていない...
再:ランダムサンプリングと置換UCデンバーの教授に指定したものですよね?コードを調べてみたところ、Train / Test / Validateに割り込まずにコードを機能させる方法を考えることができませんでした。