データのお砂場(103) R言語、capability、模擬データ?とな bootパッケージ

Joseph Halfmoon

R言語所蔵のサンプルデータセットを端から眺めております。サンプルといいつつ「知らない世界」を垣間見せてくれるのが密かな楽しみです。データセットを開かなければ多分知ることは無かったものばかり。だた今回のデータセットはSimulatedです。統計処理の練習用に人工的に作られたもの。どうも製造プロセスの「何か」らしいが。

※「データのお砂場」投稿順Indexはこちら

R言語向けのパッケージ boot には、サンプルデータセット多数が含まれております。それを ABC順に「舐めて」ます。今回のサンプルデータセットはcapabilityとな。

capability データセット

bootパッケージ、今回のデータセットのタイトルは以下です。

Simulated Manufacturing Process Data

「製造プロセス」をシミュレートし、人工的に生成された数値の集合みたいです。それが製造物の何か長さなのか、性能なのか、分量なのかは全く必要なし。顔の無い無名のデータどもです。この老人の「密かな楽しみ」からするとかなり遠いもの。しかし、統計処理の練習データとして立派に使え、ってこってすかい?

先ずは生データ

bootパッケージ内のデータセットなので、事前にbootパッケージをライブラリとしてロードしておかねばなりません。その前提でまずは生データ。capabilityRawData

上記では、つい plot(capability) などとしてしまってますが、あんまりなグラフが一葉作られただけなので無視しました。このデータセットの場合は以下のように「ビジュアライズ」するのが適当かと。

hist(capability$y)

上記によって描かれたヒストグラムが以下に。capabilityHist

実際の工場などでも時々あるんじゃないかと思われる「ふたこぶ山」的な分布デス。品質保証とか、製造を管理などする部署の方はこの手のデータを処理する技をよくご存じじゃないかと思います。

しかし、この老人はどしたら良いの今回は?特に処理例などの記載もないし。

bootパッケージなのでブートストラップ法を適用してみる

bootパッケージのサンプルデータなので、ブートストラップ法を適用せよ、ということかい、と勝手に解釈して以下のようにしてみました。

sMean <- function(d, i) mean(d$y[i])
cap.sMean <- boot(capability, sMean, R=75, stype = "i")
plot(cap.sMean)

なお、統計素人の老人がブートストラップ法についてうんぬんしてもせんないので、第98回にて参考にさせていただいた以下のページへのURLを再掲載しておきまする。「@saltcooky(saltcooky)」様の記事デス。

統計量のバラツキを知るためのブートストラップ法基礎 with R

元にもどって上記の処理結果のプロットが以下に。bootCapabilityMeanPlot

十分な回数サンプリングを繰り返せば、偉大な「中心極限定理」により正規分布に近づくハズ。上記はちょっとサンプリング回数少なすぎるんでないかい。。。

ということで以下の2種類、再計算してみました。

cap.sMean2000 <- boot(capability, sMean, R=2000, stype = "i")
cap.sMean20000 <- boot(capability, sMean, R=20000, stype = "i")

2000回だろうが、20000回だろうが、一瞬で処理が終わりました。

まずは2000回のグラフ。bootCapabilityMean2000Plot

結構、いい感じでないかい。2σ付近までは想定通りだけれど、3σになるとちょっと想定から外れている?知らんけど。

計算結果が以下に。

bootCapabilityMean2000

originalが推定される平均値、biasが平均値の偏り、そしてstd. errorが「標準誤差」ってことで良いのかな?

もう一発、20000回にしてみた場合。

bootCapabilityMean20000Plot

さらに標準正規分布に近付いた気がする。しかし真ん中に穴が開くのは何故?

計算結果が以下に。

bootCapabilityMean20000

まあ、2000回でも20000回でも「標準誤差」は大差ない?いいのかそういうことで。わからんぞなもし。

データのお砂場(102) R言語、cane、サトウキビ黒穂病?とな bootパッケージ へ戻る

データのお砂場(104) R言語、catM、オス猫様の心臓の重さとな bootパッケージ へ進む