R でブートストラップ標準誤差を計算する方法


ブートストラップは、平均値の標準誤差を推定するために使用できる方法です。

ブートストラップ標準誤差を計算する基本的なプロセスは次のとおりです。

  • 指定されたデータセットから置換されたk 個の反復サンプルを取得します。
  • 各サンプルについて、標準誤差を計算します: s/√ n
  • これにより、標準誤差のk 個の異なる推定値が得られます。ブートストラップ標準誤差を見つけるには、 k 個の標準誤差の平均を取ります。

次の例では、R でブートストラップ標準誤差を計算するために使用できる 2 つの異なる方法について説明します。

方法 1: スターター パッケージを使用する

R でブート標準誤差を計算する 1 つの方法は、ブートライブラリのboot()関数を使用することです。

次のコードは、R の特定のデータ セットのブートストラップ標準誤差を計算する方法を示しています。

 #make this example reproducible
set. seeds (10)

#load boot library
library (boot)

#define dataset
x <- c(12, 14, 14, 15, 18, 21, 25, 29, 32, 35)

#define function to calculate mean
meanFunc <- function (x,i){mean(x[i])}

#calculate standard error using 100 bootstrapped samples
boot(x, meanFunc, 100)

Bootstrap Statistics:
    original bias std. error
t1* 21.5 0.254 2.379263

「元の」値21.5 は、元のデータセットの平均を示します。 「標準」 2.379263の値は、平均のブートストラップ標準誤差を示します。

この例では、平均の標準誤差を推定するために 100 個のブートストラップ サンプルを使用しましたが、1,000 または 10,000、あるいは必要な数のブートストラップ サンプルを使用することもできることに注意してください。

方法 2: 独自の数式を作成する

ブートストラップ標準誤差を計算する別の方法は、独自の関数を作成することです。

次のコードは、これを行う方法を示しています。

 #make this example reproducible
set. seeds (10)

#load boot library
library (boot)

#define dataset
x <- c(12, 14, 14, 15, 18, 21, 25, 29, 32, 35)

mean(replicate(100, sd( sample (x, replace= T ))/sqrt( length (x))))

[1] 2.497414

ブートストラップされた標準誤差は2.497414であることがわかります。

この標準誤差は、前の例で計算された標準誤差と非常に似ていることに注意してください。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です