GeeksforGeeks

ブートストラップは、単一のデータセットのランダムサンプルを何度も何度も構築する推論統計で使用される手法です。 ブートストラップは、平均、中央値、モード、信頼区間などの測定値を計算することができます。 サンプリングの。
以下はブートストラップのプロセスです:

  • ブートストラップサンプルの数を選択します。
  • 各サンプルのサイズを選択します。
  • 各サンプルについて、サンプルのサイズが選択したサンプルより小さい場合は、データセットからランダムな観測値を選択し、サンプルに追加します。
  • サンプルの統計量を測定します。
  • 計算されたすべてのサンプル値の平均を測定します。

ブートストラップの方法

ブートストラップには2つの方法があります:

  • 残差リサンプリング:このメソッドは、モデルベースリサンプリングとも呼ばれます。 この方法は、モデルが正しく、エラーが独立しており、同じように分散されていることを前提としています。 各リサンプリングの後、変数が再定義され、新しい変数が新しい従属変数を測定するために使用されます。
  • ブートストラップペア:この方法では、従属変数と独立変数がサンプリングのペアとして一緒に使用されます。

ブートストラップにおける信頼区間の種類

信頼区間(CI)は、統計のサンプルデータに対して計算される計算値の一種です。 これは、値の範囲または真の値が確実にある間隔を生成します。 ブートストラップには、次の5種類の信頼区間があります:

  • 基本: これは逆百分位間隔とも呼ばれ、ブートストラップデータ分布の分位数を使用して生成されます。 数学的には,

    \左(2\widehat{\theta}-\theta_{(1-\alpha)})/ 2)}^{*}, 2 \widehat{\theta}-\theta_{(\alpha/2)}*{*}\right)

    どこで,

    \alphaは信頼区間を表し、主に\alpha=0です。95
    \θ^{*}は、ブートストラップ係数
    \theta_{(1-\alpha)}を表します/ 2)}^{*} ブートストラップ係数の百分位数1-\alpha/2を表します

  • Normal:Normal CIは数学的に次のように与えられます,

    \開始{アレイ}{c}t_{0}-b\pm Z_{\アルファ}\cdot\mathrm{se}end{*}\2t_{0}-t^{*}\pm z_{\アルファ}\cdot\mathrm{se}end{*}端\{アレイ}{c}t_{0}-b\pm Z_{\アルファ}\cdot\mathrm{se}end{*}\2t_{0}-t^{*}\pm Z_{\アルファ}\cdot\mathrm{se}end{*}\}

    ここで、
    t_{0}は、データセットt
    bからの値を表し、ブートストラップ推定値のバイアスです。,

    \mathbf mathbf{b}=\mathbf{t}^{*}-\mathbf{t}_{\mathrm{o}}-を使用しています。}}
    z_{\alpha}はブートストラップ分布の1-\alpha/2分位数を表します
    se^{*}tの標準誤差を表します^{*}

  • Stud:studentized CIでは、データは中心が0、標準偏差が1で正規化され、分布のスキューが修正されます。
  • Perc-Percentile CIは基本CIに似ていますが、式が異なります,

    \左(\theta_{(\alpha/ 2)}^{*}, \シータ_{(1-\アルファ/2)}^{*}\右)

  • BCa:この方法はバイアスと歪度の両方を調整しますが、外れ値が極端な場合は不安定になる可能性があります。 Mathematically,

    \left(\theta_{0}+\frac{\theta_{0}+\theta_{\alpha}}{1-a\left(\theta_{0}-\theta_{\alpha}\right)},\theta_{0}+\frac{\theta_{0}+\theta_{(1-\alpha)}}{1-a\left(\theta_{0}-\theta_{(1-\alpha)}\right)}\right)

Rプログラミングでブートストラップを実行する構文は次のとおりです:

構文:boot(data,statistic,R)

パラメータ:
dataはdatasetを表します
statisticはdatasetで実行される統計関数を表します
Rはサンプル数を表します

boot()関数のオプション引数については、以下のコマンドを使用し:

help("boot")

例:

install.packages("boot")
library(boot)
bootFunc <- function(data, i){
df <- data
c(cor(df, df),
median(df),
mean(df)
)
}
b <- boot(mtcars, bootFunc, R = 100)
print(b)
boot.ci(b, index = 1)



出力:

ORDINARY NONPARAMETRIC BOOTSTRAPCall:boot(data = mtcars, statistic = bootFunc, R = 100)Bootstrap Statistics : original bias std. errort1* 0.9020329 -0.002195625 0.02104139t2* 6.0000000 0.340000000 0.85540468t3* 20.0906250 -0.110812500 0.96052824BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONSBased on 100 bootstrap replicatesCALL : boot.ci(boot.out = b, index = 1)Intervals : Level Normal Basic 95% ( 0.8592, 0.9375 ) ( 0.8612, 0.9507 ) Level Percentile BCa 95% ( 0.8534, 0.9429 ) ( 0.8279, 0.9280 ) Calculations and Intervals on Original ScaleSome basic intervals may be unstableSome percentile intervals may be unstableWarning : BCa Intervals used Extreme QuantilesSome BCa intervals may be unstableWarning messages:1: In boot.ci(b, index = 1) : bootstrap variances needed for studentized intervals2: In norm.inter(t, adj.alpha) : extreme order statistics used as endpoints
記事タグ:



+