1

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

# Generate sample data
sampleSize = 10000
sampleData = round(rnorm(n=sampleSize, mean=175, sd=14))

# Draw histogram of sample
h = hist(sampleData, breaks=max(sampleData)-min(sampleData))

######################################################################
# Calculate the mean of the measurement
meanMeasure = mean(sampleData)
meanMeasure
abline(v=meanMeasure, col="red")

# Calculate the standard deviation of the measurement
sdMeasure = sd(sampleData)
sdMeasure
rect(
    xleft=meanMeasure-sdMeasure,
    ybottom=min(h$counts),
    xright=meanMeasure+sdMeasure,
    ytop=max(h$counts),
    col="#0000ff22"
)

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

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

4

3 に答える 3

2

各個人を1回だけ測定する場合、「測定された身長ごとに」標準偏差を取得する方法はありません。ブートストラップは、見積もりを取得するデータポイントが複数ある場合にのみ使用できます。

「測定された身長ごとに」標準偏差を取得するには、各身長を複数回測定する必要があります。

ただし、サンプル全体の標準偏差のブートストラップ推定値を取得する場合は、他の2つの回答が適用されます。

さらに、この質問はcrossvalidated.comに適しています。

于 2011-09-27T21:20:44.247 に答える
1

サンプルサイズが非常に大きい場合、その目的でブートストラップを使用する必要はまったくありません。たった100人または200人、あるいは500人の個人のサンプルの標準偏差のもっともらしい変動の程度を知りたい場合は、ブートストラップが有益です。しかし、10,000人の場合、標準偏差のブートストラップ変動は非常に小さくなります。

于 2011-09-27T13:22:27.867 に答える
1

ブートストラップは通常、推定量の分散を計算するために使用されます。この場合、サンプルの平均高さです。人の身長の分散を見つけたいだけの場合は、ブートストラップを行う必要はありません。

なぜブートストラップするのですか?1つのサンプルに対して、1つのサンプル平均しかないためです。そのため、その推定量の分散を計算するために多くのサンプル平均を取得するには、多くのサンプルが必要です。ブートストラップは、疑似サンプルが 1 つしかない場合に、多数の疑似サンプルを取得する方法です。

あなたの場合、私たちはすでに高さの多くの個々の観察を持っているので、それ以上は必要ありません---「実際の」観察に基づいて分散を直接計算することができます。

于 2011-09-27T19:03:31.950 に答える