タグ付けされた質問 「bootstrap」

ブートストラップは、統計のサンプリング分布を推定するためのリサンプリング手法です。

1
ブートストラップ(R)を使用して検量線を推定する方法
質問:バイナリ結果変数をモデル化するために確率モデル(ベイジアンネットワーク)を適合させました。ブートストラップでオーバーフィットするように修正された高解像度のキャリブレーションプロット(スプラインなど)を作成したいと思います。そのような曲線を計算するための標準的な手順はありますか? 考慮事項:これは、トレーニング/テスト分割で簡単に実行できますが、サンプルが20,000未満なので、データを捨てないでください。だから私は自然にブートストラップについて考えました。そのような関数(キャリブレーション)の1つがフランクハレルのrmsパッケージに実装されていることは知っていますが、残念ながら、私が使用するモデルはパッケージでサポートされていません。 おまけの質問:ブートストラップを使用して、誤って調整されたモデルを再調整することは可能ですか?私がこれを尋ねる理由は、私がモデルを再調整しようとしたことです トレイン/テストでデータを分割する セットをトレーニングするフィッティングモデル モデルを再調整してトレーニングセット(3次スプラインを使用) テストセットのキャリブレーションを評価する 上記の方法で再調整されたモデルは、列車セットでは完全に調整されましたが、テストセットではそれほど調整されていません。これは、おそらく軽度の過適合を示しています。また、テストセットをさらに分割して、1つの分割でキャリブレーションを行い、2番目の分割でキャリブレーションを評価しました。私はより良い結果を得ましたが(まだ完全に校正されていません)、セットはかなり小さくなり(〜1000サンプル)、したがって校正は信頼できなくなりました

1
初心者のためのブートストラップをブロックする
私の質問を文脈に当てはめると、私は物理学者ですが、統計への暴露は限られています。それについて私が学んだことは、30年以上前のことです。 私が取り組んでいる問題を解決するのに適した手法である可能性があるため、私はブロックブートストラップについて学習しようとしています。ブロックブートストラップの数学に関する多くの論文/本/情報を見つけることができますが、移動ブロックブートストラップ、円形ブロックブートストラップ、固定ブロックブートストラップなどの問題に「冒険」する前に、まずブロックブートストラップのプロセスの一般的な説明を見つけたいと思います、ブロック長、サンプルサイズなど 相関データをオーバーサンプリングし、5つの変数(列)を10000の観測(行)で抽出しました。これを約100行のデータに減らします。データは時系列ですが、連続的ではなく、異なる場所からのデータも含まれている可能性があります。つまり、同時に異なるデータを持つ可能性があります(後者がブロックブートストラップの問題である場合、「重複した」データを削除できます時間内に)。ブロックブートストラップにより、データの相関を複製できます。 最終的な目的は、データセットを最大100行のデータに減らし、完全なデータセットのpdfとcdfの両方と、削減されたデータセットが5つの変数すべてについて同じ(まだ定義されていない最小誤差範囲内)になるようにすることです。 質問:1)ブロックブートストラップでこれを実行できますか?2)これが行われる段階的なプロセスは何ですか?私は誰もがここで詳細なプロセスを詳細に記述することを期待していませんが、おそらく誰かがYouTubeビデオまたは「ダミーのブートストラップ」をそこから出して、私が始めることができます。 私はここでブロックブートストラップに関する同様の質問を見てきましたが、「時系列分析におけるブロックブートストラップについて学ぶためのリソース」に1つありますが、回答の参照は、まだ習得しなければならない統計的リテラシーを前提としています。

5
階層/マルチレベルデータのブートストラップ(クラスターのリサンプリング)
cats(-MASS-パッケージから)データセットからブートストラップサンプルを作成するためのスクリプトを作成しています。 DavidsonとHinkleyの教科書[1]に従い、私は単純な線形回帰を実行し、iidの観測、つまりペアのリサンプリングからブートストラップするための基本的なノンパラメトリック手順を採用しました。 元のサンプルは次の形式です。 Bwt Hwt 2.0 7.0 2.1 7.2 ... 1.9 6.8 単変量線形モデルを通じて、猫の囲いの重量を脳の重量で説明したいと思います。 コードは次のとおりです。 library(MASS) library(boot) ################## # CATS MODEL # ################## cats.lm <- glm(Hwt ~ Bwt, data=cats) cats.diag <- glm.diag.plots(cats.lm, ret=T) ####################### # CASE resampling # ####################### cats.fit <- function(data) coef(glm(data$Hwt ~ data$Bwt)) statistic.coef <- function(data, i) cats.fit(data[i,]) bootl …

1
パラメータまたは分布のブートストラップ信頼区間?
ブートストラップに関して明白な質問となる可能性のあるものをすみません。私はベイジアンの世界に早くから夢中になり、必要以上に実際にブートストラップを探索したことはありませんでした。 私は、著者が障害データまでの時間に関連する生存分析に興味を持っている分析に出くわしました。彼らは約100点を持ち、回帰を使用してワイブル分布をデータに適合させました。この結果、彼らはスケールと形状パラメータの推定値を取得しました。非常に伝統的なアプローチ。ただし、次に彼らは元のデータセットからサンプリングするためにブートストラップを使用し、新しいサンプルごとに回帰を実行し、新しいワイブル分布を考え出しました。次に、ブートストラップの結果を使用して、生存分布の信頼区間を作成しました。 私の直感は少し矛盾しています。パラメータの信頼区間のブートストラップについてはよく知っていますが、分布の信頼区間の構築に使用されているのを見たことはありません。 誰かが私にいくつかの洞察を提供するかもしれない参照/ソースに向けることができますか?前もって感謝します。

1
MCMCの反復ごとに大きなデータセットをサブサンプリングできますか?
問題:ギブスサンプリングを実行して、大規模なデータセットの事後を推測したい。残念ながら、私のモデルはそれほど単純ではないため、サンプリングが遅すぎます。私は変分的または並列的なアプローチを検討しますが、その前に... 質問:すべてのステップで学習するインスタンスが少なくなるように、ギブスの反復ごとにデータセットからランダムに(置き換えて)サンプリングできるかどうか知りたいのですが。 私の直感は、サンプルを変更しても確率密度を変更しないため、ギブスサンプルはトリックに気付かないはずです。私は正しいですか?これを行った人々の言及はありますか?

1
直感的に、ワイルドブートストラップはどのように機能しますか?
私はワイルドブートストラップの背後にある直感を理解しようとしています。それは実際に何をしていますか?従来の回帰と比較して、何をしようとしているのかを理解できる必要があります。 私のデータには不均一性があり、私が使用する方法では5000回の複製を行っています。 どのようにして5000の追加データを生成しますか?

2
メタ分析モデルをブートストラップするときの二峰分布の原因
@Wolfgangが作成したmetafor Rパッケージフレームワークを使用して、同僚がメタ分析混合効果モデルをブートストラップするのを支援します。 興味深いことに、心配なことに、モデルの係数の1つについて、ブートストラップ時に二峰性分布が得られます(下図の右下のパネルを参照)。 主な原因の1つは、ブートストラップ時に、モデルの半分がローカルソリューションに収束し、残りの半分が別のソリューションに収束することであると考えられます。このmetaforドキュメント-rma ()関数での収束問題)で提案されているように、収束アルゴリズムを調整しようとしました。また、rma.mv関数のヘルプドキュメントで提案されているようなbobyqa、他の収束アルゴリズムを試しましたが、同じバイモーダル応答が得られました。newuoa 「ブートストラップ相関のマルチモーダル分布を解釈する方法」で提案されているように、問題のあるグループからいくつかの潜在的な外れ値を排除しようとしましたが、役に立ちませんでした。 データの因子レベルを変更してGitHubにアップロードする以外に、これを再現する方法を見つけることができませんでした(以下のリンクは、ケースのテストに必要なすべてを環境にロードする必要があります)。Linuxクラスターでブートストラップを配列ジョブとして実行します(念のため、シェルスクリプトはjob.shです。これは、各CPUで、以下で説明するモデルを実行するRスクリプトbootstrap.rを実行します)。1回の実行には2〜3分かかります。二峰性応答を検出するには、100回のブートストラップでも十分であることに注意してください。以下は1000回の反復の例です。私はRや他の方法に精通していますが、メタ分析にはそれほど詳しくありません。 二峰性の分布に問題がないかどうか(収束の問題が原因である可能性があります)を理解し、そうでない場合は、どうすればよいですか?(私がすでに試したこと以外に) 以下-ブートストラップ(赤い線)と単一の完全なモデル実行(青い線)からの係数を比較します。ヒストグラムは、各係数のブートストラップ分布を示しています。ブートストラップ用のデータのサンプリングは、2つの固定効果によって形成された各グループ/組み合わせからの置換で選択することで行われました。生のサンプルサイズは次のとおりです。 table(dt$f1, dt$f2) #> #> f2_1 f2_2 f2_3 #> f1_1 177 174 41 #> f1_2 359 363 107 library(data.table) library(ggplot2) library(metafor) #> Loading required package: Matrix #> Loading 'metafor' package (version 2.0-0). For an overview #> and introduction to the package please …

2
ブートストラップ複製の数を適応的に選択する
ほとんどのモンテカルロ法と同様に、ブートストラップのルールは、複製の数が多いほど、モンテカルロ誤差が低くなることです。ただし、収益が減少しているため、できるだけ多くの複製を実行しても意味がありません。 あなたの見積ていることを確認したいとしθ^θ^\hat θ一定量のθθθ範囲内であるεεε見積もりのθ~θ~\tilde θあなたは無限に多くの反復となるだろうということ。たとえば、モンテカルロエラーが原因で\ hatθの最初の2桁θ^θ^\hat θが間違っていないことを合理的に確認したい場合があります。この場合、ε=.005ε=.005ε = .005です。ブートストラップ複製を生成し続け、\ hatθをチェックθ^θ^\hat θし、|| \ hatθ-\ tildeθ|のような規則に従って停止する適応可能な手順はありますか?&lt;ε|θ^−θ~|&lt;ε|θ^−θ~|&lt;ε|\hat θ - \tilde θ| < εは95%の信頼度? 注意:既存の回答は役に立ちますが、| \ hatθ-\ tildeθ|の確率を制御するためのスキームを見たいと思います。&lt;ε|θ^−θ~|&lt;ε|θ^−θ~|&lt;ε|\hat θ - \tilde θ| < ε。
8 bootstrap 

2
ブートストラップによる標準偏差信頼区間推定の奇妙なパターン
一部のデータの標準偏差の信頼区間を推定したいと思いました。Rコードは次のようになります。 library(boot) sd_boot &lt;- function (x, ind) { res &lt;- sd(x$ReadyChange[ind], na.rm = TRUE) return(res) } data_boot &lt;- boot::boot(data, statistic = sd_boot, R = 10000) plot(data_boot) そして、私は次のプロットを持っています: このブートストラップのヒストグラムを正しく解釈できません。同様のデータの他のすべてのセットは、ブートストラップ推定の正規分布を示しています...しかし、これはそうではありません。ちなみに、これは実際の生データです: &gt; data$ReadyChange [1] 27.800000 8.985046 11.728021 8.830856 5.738600 12.028310 7.771528 9.208924 11.778611 6.024259 5.969931 6.063484 4.915764 [14] 12.027639 9.111146 13.898171 12.921377 6.916667 …

1
制御機能アプローチとブートストラップ
のは、私は断面データを持っていると仮定してみましょう上、、(については以下を参照してください、、)。yyyバツ1バツ1x_1バツ2バツ2x_2yyyバツ1バツ1x_1バツ2バツ2x_2 変数と影響と、制御関数アプローチを使用して変数に対するそれらの相互作用()を推定したいのですが、とは内生的である可能性が高いです。と 2つのインストゥルメントがあり。次の2つの第1ステージの方程式を推定し、次の方法で予測残差を保存します。バツ1バツ1x_1バツ2バツ2x_2バツ3= x1∗ x2バツ3=バツ1∗バツ2x_3= x_1*x_2yyyバツ1バツ1x_1バツ2バツ2x_2z1z1z_1z2z2z_2 ivreg2 x1 z1 z2 predict error1hat, residuals ivreg2 x2 z1 z2 predict error2hat, residuals 予測された残差を保存したら、次の方法で第2段階の方程式を推定します。 ivreg2 y x1 x2 x3 error1hat error2hat 、、およびの推定された係数は理にかなっていますが、標準誤差はOKではないことを知っています(http://eml.berkeley.edu/~train/petrintrain.pdfの 8ページを参照)。バツ1バツ1x_1バツ2バツ2x_2バツ3バツ3x_3 http://eml.berkeley.edu/~train/petrintrain.pdfの 8ページで、著者はブートストラップを使用して、、修正された標準エラーを取得することをます。バツ1バツ1x_1バツ2バツ2x_2バツ3バツ3x_3 私の質問は: ブートストラップはどのように設定すればよいですか? ブートストラップは第2段階の方程式にのみ適用されますか、それとも第1段階と第2段階の両方の方程式に適用されますか? ここで、、、およびパネルデータがあるとします。まず、グループ内差異を使用して、観察されていない異質性を削除し、次に、データが断面データであるかのように、制御関数アプローチを使用してパラメーターを推定します(上記を参照)。上記のケースに関してパネルデータを使用する場合、追加の調整を行う必要がありますか?yyyバツ1バツ1x_1バツ2バツ2x_2

2
中央値の信頼区間
一連の値があり、その中央値Mを計算します。この推定の誤差をどのように計算できるのか疑問に思いました。バツ私、i = 1 、… 、Nバツ私、私=1、…、N{x_i}, i=1, \dots ,N ネット上では、として計算できることがわかりましたここで、は標準偏差です。しかし、それについての言及は見つかりませんでした。なぜか分かりません。誰かに説明してもらえますか?1.2533 σN√1.2533σN1.2533\frac{\sigma}{\sqrt{N}}σσ\sigma ブートストラップを使用してエラーの見積もりを取得できると考えていましたが、分析が大幅に遅くなるため、回避したいと思います。 また、この方法で中央値の誤差を計算することを考えていました δM= ∑私(x私− M)2N− 1−−−−−−−−−−−√δM=Σ私(バツ私−M)2N−1\delta M = \sqrt{ \frac{\sum_i(x_i - M)^2}{N-1} } それは意味がありますか?

2
カーネル密度推定からのシミュレーション(経験的PDF)
グローバル帯域幅カーネル密度推定器(動的混合モデルを含むパラメトリックモデルは適切に適合しないことが判明しました)によって最適にモデル化された観測ベクトルがXありN=900ます。 さて、このKDEからシミュレーションしたいと思います。これはブートストラップによって実現できることを知っています。 Rでは、すべてがこの単純なコード行(ほぼ疑似コード)にx.sim = mean(X) + { sample(X, replace = TRUE) - mean(X) + bw * rnorm(N) } / sqrt{ 1 + bw^2 * varkern/var(X) }帰着します。ここで、分散補正付きの平滑化されたブートストラップが実装され、varkern選択されたカーネル関数の分散です(たとえば、ガウスカーネルの場合は1 )。 500回の繰り返しで得られるのは次のとおりです。 それは機能しますが、観測値のシャッフル(ノイズを追加したもの)が確率分布からのシミュレーションと同じであることを理解するのに苦労していますか?(分布はここではKDEです)、標準のモンテカルロと同様です。さらに、ブートストラップはKDEからシミュレーションする唯一の方法ですか? 編集:分散補正付きの平滑化されたブートストラップの詳細については、以下の私の回答を参照してください。

1
ブートストラップサンプルと元のサンプルの操作
実数のサンプルを考えてみましょう。人口の中心的な傾向を推定し、この推定に関する不確実性を感じたいとしましょう。 人口分布についての仮説をとりあえず、次の2つのアプローチを考えてみましょう。 入力サンプルのブートストラップサンプルを取得します。つまり、置換してサンプリングし(たとえば、100リサンプルを取得)、各リサンプルの平均を計算します。次に、結果の平均の経験的分布の平均と信頼区間を出力します。 入力サンプルから平均値を出力し、推定値の不確実性を伝えるために平均値の周りの百分位数を出力します。 ブートストラップと元のサンプル: 私はアプローチ#1が何をするかを理解していますが。#2の背後にある根底にある推定量はありますか? #1のCIとは対照的に、#2の平均周辺のパーセンタイルは何を伝えますか?アプローチ#2は不確実な感覚を伝えますが、私はそれを頻出主義者またはベイズの解釈に関連付けるのに苦労しています。 方法#2 は、人口のより良い推定量を提供するでしょうか (例えば、偏りが少なく分散が低い)?

1
独立したサンプルのt検定を計算するときにブートストラップが必要なのはなぜですか?(ブートストラップt検定を正当化、解釈、および報告する方法)
2つの条件があり、2つの条件のサンプルサイズが非常に小さいとします。最初の条件で14個の観測しかなく、他の11個の観測があるとしましょう。t検定を使用して、平均差が互いに有意に異なるかどうかを検定します。 最初に、t検定の正規性の仮定について少し混乱しています。そのため、完全にブートストラップを取得できません。t検定の前提は、(A)データが正規母集団からサンプリングされている、または(B)サンプル分布がガウス特性を持っているということですか?(B)の場合、それは実際には仮定ではありませんよね?データのヒストグラムをプロットして、それが正常かどうかを確認できます。サンプルサイズが小さい場合でも、サンプル分布が正常かどうかを確認するのに十分なデータポイントがありません。 これがブートストラップの出番だと思います。ブートストラップを実行して、サンプルが正常かどうかを確認できますよね?最初、ブートストラップは常に正規分布になると思っていましたが、そうではありません(ブートストラップリサンプリングを使用して、データセットの分散の信頼区間を計算できますか? statexchange statexchange)。したがって、ブートストラップを行う理由の1つは、サンプルデータの正規性をより確実にすることです。 この時点で私は完全に混乱します。Rでt.test関数を使用してt検定を実行し、ブートストラップされたサンプルベクトルを2つの独立したサンプルとして配置した場合、t値は非常に重要になります。ブートストラップt検定を正しく行っていませんか?すべてのブートストラップが実行しているため、t値を大きくするだけなので、すべてのケースでこれが発生するのではないでしょうか。ブートストラップされたサンプルに対してt検定を実行しませんか? 最後に、ブートストラップで信頼区間を計算することと、元のサンプルで信頼区間を計算することの利点は何ですか?これらの信頼区間から、元のサンプルデータの信頼区間では何がわかりませんか? (A)ブートストラップを使用するとt値がより重要になる理由がわからない(B)独立したサンプルのt検定を実行するときにブートストラップを使用する正しい方法がわからない、(C)わからない独立したt検定の状況でのブートストラップの正当化、実行、および結果を報告する方法。

3
ブートストラップによる内部検証:提示するROC曲線は?
標準のロジスティック回帰またはエラスティックネットで構築された多変量モデルの内部検証にブートストラップアプローチを使用しています。 私が使用する手順は次のとおりです。 1)データセット全体を使用してモデルを構築し、予測値を取得して、AUC(AUC_ap、見かけ)を計算します 2)元のデータセットから派生した100-500のブートストラップサンプルを生成する 3)各ブートストラップサンプルについて、#1と同じ手順に従い、i)現在のブートストラップサンプル、ii)元のデータセットの予測値とaucを取得します。 4)100-500のブートストラップサンプルそれぞれについて、i)とii)(#3で)の差を計算し、平均を取る-&gt; "optimism" 5)楽観主義が修正されたAUCを計算します:AUC_ap-楽観主義 私の質問は、ROC曲線が論文に提示するのに最も適しているのは何ですか?たとえば、手順1で取得したROCは1つの選択肢ですが、明らかに楽観的です。あるいは、ステップ#3(ii)で導出されたROC曲線に基づいて、RパッケージROCRを使用して「平均ROC」を生成しようとしました。ただし、[これらのROC曲線の平均]のAUCは、ステップ5で取得した値と同等ではないと考えています。 どんな入力でも大歓迎です!-M

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