問題タブ [statistics-bootstrap]

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 投票する
2 に答える
1243 参照

r - ブートストラップを改善するのを手伝ってください

次のコードを検討してください。

boot:boot()関数に、出力として長さn> 1のベクトルを持つ関数を提供できるかどうか疑問に思っていましたか?それは可能ですか?

これが私の弱い試みですが、私は何か間違ったことをしているに違いありません。

Hmisc::cut2()呼び出しで正しく機能しない理由はよくわかりませんが、ループboot()で呼び出すと機能します(上記のコードを参照)。for()私のbootstrapDistances()関数のロジックはで実行可能boot()ですか?どんなポインタでも大歓迎です。

。:編集:。

アニコは、インデックスを含めるように関数を変更することを提案しました。boot()のドキュメントを読んでいる間、これがどのように機能するかがわかりませんでした。これが、関数が機能しない理由を説明しています。アニコが提案した新機能は次のとおりです。

しかし、なんとかエラーが発生し、それを削除する方法をまだ検討中です。

Rセッションを再開した後(別のバージョン2.10.1も試しました)、正常に動作しているようです。

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

r - 2 つのグループを比較するためのブートストラップ

次のコードでは、ブートストラップを使用して、トマト植物に適用された 2 つの異なる肥料が植物の収量に影響を与えないという帰無仮説の下で CI と p 値を計算します (別の方法としては、「改良された」肥料の方が優れているということです)。最初のランダム サンプル (x) は、標準的な肥料が使用された植物からのもので、2 番目のサンプル (y) は植物で「改良された」肥料が使用されたものです。

上記のコードで気に入らない点は、リサンプリングが 11 個の値のサンプルが 1 つしかないかのように行われることです (最初の 5 個をサンプル x に属するものとして分離し、残りをサンプル y に残します)。ブートストラップのリサンプリングが、元データ?

0 投票する
0 に答える
328 参照

r - 補完された cem 出力のブートストラップ

帰属データセットで粗い正確なマッチングを行っています。検証するために、cem からの結果のブートストラップを行います。boot.ciただし、出力を機能させることができません。エラーメッセージが表示されます:

オブジェクトはあるのですが、なぜかバイアス補正結果が得られません。

bcaブートストラップCIを取得できないことを除いて、基本的にすべてが順調に進んでいます。

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

r - データが連続していない場合、値 y に最も近い n 値をランダムにサンプリングするにはどうすればよいですか?

種のリスト、その数、および調査開始からの日数を含むデータセットがあります。多くの日がサンプリングされていないため、日は連続していません。たとえば、5 日、6 日、9 日、10 日、15 日、34 日、39 日などに数えられた鳥がいる可能性があります。最も早い日付を 0 日目に設定しました。

サンプルデータ:

このデータをブートストラップし、結果のデータセットを取得する必要があります。ここで、いつ開始するか、どの間隔で進めるか、サンプリングするポイント数を指定します。

例: 5 日目を開始日として無作為に選択し、間隔を 30、サンプリングする行数を 2 とします。これは、5 日に開始し、それに 30 を追加して、35 日前後の 2 行を探すことを意味します。 (ただし、35日目自体ではありません)。この場合、day が 34 と 39 の 2 つの行を取得します。

次に、30 を 35 に加算し、65 付近の 2 つのポイントを探します。すすぎ、データセットの最後に到達するまで繰り返します。

サンプリングを行うためにこの関数を作成しましたが、欠陥があります (以下を参照)。

サポートが必要な 2 つの問題:

  1. 私の関数は目的のポイント数を返しますが、検索値を中心としていません。幅が広くなるにつれて、より多くのポイントが得られ、それらを並べ替えて最初の n を選択すると、それらは低い値にならない傾向があるため、理にかなっています。

  2. 次に、実際の行を取得するにはどうすればよいですか? 今のところwhich、 を使用してこれらの行を検索し、rbindそれらの行をまとめて 'ing する別の関数があります。もっと良い方法があるはずです。

ありがとう!

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

r - 変更されたブートストラップ

長さxのベクトルを置換してサンプリングする修正されたブートストラップの開発に興味がありますが、サンプリングを停止する前に、いくつかの基準を満たす必要があります。人口増加率のラムダ、10000回の反復の信頼区間を計算しようとしていますが、一部の個人のグループ、たとえばベクトル13では、グループから成長する個人はほとんどありません。典型的なブートストラップは、このベクトルの成長が起こらず、したがってモデルが崩壊するかなりの数のインスタンスにつながります。各ベクトルは、特定の数の1、2、および3で構成されます。ここで、1はグループ内にとどまり、2はグループから成長し、3は死亡を表します。これが私がこれまで修正せずに持っていたものであり、時間的には最善のアプローチではない可能性がありますが、私はRに不慣れです。

現在、このサンプル私の質問は次のとおりです。「インデックス」の長さが少なくともst13と同じになるまで、また2のインスタンスが少なくとも1つ存在するまで、これらの数値のサンプリングを続行するようにサンプル関数を変更するにはどうすればよいですか。索引"?

どうもありがとう、ミシシッピオックスフォードのクリストファーヘニングマスターズ学生大学、MS、38677

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

matlab - ポートフォリオに応じたブートストラップ サンプリング (MATLAB)

私はMatlabで何かをコーディングする際にこの問題を抱えています.誰かがこれを解決する方法を知っていることを願っています.

概要: 問題は、いくつかの異なる金融ポートフォリオ (1070 ポートフォリオ) があり、ポートフォリオごとに回帰を実行する必要があることです。次に、最初の回帰からの残差を使用して、それらの残差をブートストラップしたい (約 1000 のブートストラップされた残差サンプルを取得する) が、PER EACH INDIVIDUAL ポートフォリオ。これは、異なるポートフォリオの残差を混合できないためです。

詳細: ポートフォリオ番号を示す 1 つのベクトルがあります。これは乱数ですが、その特定のポートフォリオに固有のものです。次に、ポートフォリオのリターンを 1 つの長いベクトル (14k の観測値) に収集します。そのため、「ローリング ウィンドウ」OLS 回帰のようなものを実行し、個々のポートフォリオに対応するデータのみを回帰させ、定数とベータを抽出し、これらを保存してから、すべての異なるポートフォリオに対してこれを行います。

定数とベータで構成されるマトリックスを取得すると、各行が特定のポートフォリオに対応します。

ポートフォリオには異なる量のデータポイントがあるため、あるポートフォリオには 60 の観測があり、別のポートフォリオには 150 の観測がある場合があります。したがって、一定の間隔だけで個別のポートフォリオに分割することはできません。

ブートストラップされた残差については、上記のように、サンプル全体ではなく、ポートフォリオの残差から置換して引き出す必要があります。さらにデータを操作するには、これらのブートストラップ サンプルが必要ですが、1000 個のブートストラップ サンプルがあり、残りは通常の加算および減算操作です...

誰もこれを行う方法を知っていますか? Stata では、回帰部分では「by()」オプションを使用するだけですが、ブートストラップではそれほど簡単ではありません...

どんな助けにもとても感謝しています!

よろしく、フィリップ

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

r - Rブートパッケージ:信頼区間を取得するのに十分なメモリがありません

ブートパッケージを使用して、Rでかなり大きなブートストラップを実行しました。

私が最初にboot()を実行したとき、私はこれを手に入れました:

したがって、ブートオブジェクトを取得するには、「simple = TRUE」を使用する必要がありました。これは、boot()に最初にすべてのメモリを割り当てないように指示します(?bootによる)。数分かかりましたが、これは問題なく機能しました。

ここで、信頼区間を取得する必要があります。

同じ問題!しかし、?boot.ciによると、この関数で使用できる'simple = TRUE'フラグはありません(私は試しました)。

それで、boot.ci()を使用してこれを回避する方法はありますか?

そうでない場合は、使用できるメモリの量を増やすために何ができますか?

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

r - R でのブーストストラップによるサンプルの標準偏差の計算

想像してみてください: 私は 10,000 人の人間をサンプリングし、身長を cm で測定し、次のように分布を描きました。

ここで、測定された身長ごとに standardDeviation の大きさを推定したいと思います。元のデータセットをブートストラップするのが良い方法だと思いました。つまり、元のデータセットから体のサイズをサンプリングして置き換えます。

これは良い方法ですか?R でこの分析を実行するにはどうすればよいですか (たとえば、1000 サイクルのブートストラップ分析での各高さの標準偏差)。

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

r - ブート パッケージのパラメトリック ブートストラップを使用して調整されたブートストラップ信頼区間 (BCa)

boot.ciR のbootパッケージから使用して、パラメトリック ブートストラップからバイアスおよびスキューを修正したブートストラップ信頼区間を計算しようとしています。マニュアルページを読んで実験した結果、ジャックナイフの推定値を自分で計算して に入力する必要があると結論付けましたboot.ciが、これはどこにも明示的に述べられていません。私は他のドキュメントを見つけることができませんでしたが、公平を期すために、コードの基になっている元のデイヴィソンとヒンクリーの本は見ていません...

単純に実行b1 <- boot(...,sim="parametric")してから を実行するとboot.ci(b1)、エラーが発生しますinfluence values cannot be found from a parametric bootstraptype="all"このエラーは、またはを指定した場合にのみ発生しますtype="bca"boot.ci(b1,type="bca")同じエラーが発生します。そうempinf(b1)です。物事を機能させる唯一の方法は、(引数を使用empinf()して) ジャックナイフ推定値を明示的に計算し、これらを に入力することです。databoot.ci

データを構築します。

ブートストラップ:

ここまでは順調です。

すべて上記のエラーが発生します。

これは機能します:

これが私がやっていることになっている方法であるかどうか、誰かが知っていますか?

更新:bootパッケージの元の作成者が電子メールに返信しました:

...問題は、パラメトリックブートストラップを実行していることです。ブートに実装されている bca 間隔は非パラメトリック間隔であり、これはどこかに明示的に記載されているはずです。パラメトリック bca 間隔の式は同じではなく、あなたの場合のように厄介なパラメーターがある場合、最も好ましくない家族の可能性の導関数に依存します。(Davison & Hinkley の pp 206-207 を参照してください) empinf は、統計が非パラメトリック ブートストラップに使用される形式の 1 つであることを前提としています (これは、empinf への呼び出しの例で行いました) が、(正しく) boot への元の呼び出しには統計がありましたパラメトリック リサンプリングに適した別の形式で。

あなたは確かにあなたがしていることをすることができますが、パラメトリックリサンプリングとノンパラメトリック間隔推定を混合することの理論的特性については確信が持てません。

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

r - R でのブートストラップ変数相関

私の意図は、2 つの共分散行列間の全体的な類似性を見つけることを目的としたいくつかの関数を作成することでした。これには、それらをランダムなベクトルで乗算して応答ベクトルを相関させるか、行列の 1 つをブートストラップして比較に役立つ相関係数分布を取得することによって行います。しかし、どちらの場合も、誤った結果が得られました。観測されたマトリックス間の相関は 0.93 まで高かったが、分布は最大 0.2 までしか範囲がなかった。これは関数のコードです:

実際、2 つの元のマトリックス間の相関係数が高く、1 番目の元のマトリックスと 2 番目の再サンプリングされたマトリックスの間の相関係数が、10000 回のブートストラップ反復後に最大 0.2 であるとは信じがたいです。

コードの有効性に関するコメントはありますか?