プロが教える店舗&オフィスのセキュリティ対策術

平凡な会社員です。データ集計のために統計の入門書を読んでいるのですが、
リストからの無作為抽出で解らない箇所があり困っています。

手持ちの入門書に、だいたいこういうことが書かれています。
Excel などに保存されたデータはだいたい整序されているので、
①行をかき混ぜる(分析ツール-乱数発生 -> 列追加: 発生させた乱数についてRANQ.EQ)
②「①」の結果に対して無作為抽出(RANDBETWEEN関数)

個人的には、「整序されていても②だけでいいのではないか?」と思い、
かき混ぜ前後のデータをサンプル数複数パターンで比較しました。
その結果、基本統計量もほぼ同じに見えるし、
F検定で差は無く、等分散を仮定したt検定でも差は無いと判定されるようです。
また、ネット検索もしばらくしましたが、①を先行させる記事は見つけられませんでした。

①は必須なのか、「行をかき混ぜる」という HOW TO の紹介なのか、
詳しい方からご意見を伺えれば幸いです。
よろしくお願いいたします。

質問者からの補足コメント

  • すみません、もちろん RAN K .EQ です。

      補足日時:2024/03/29 05:00

A 回答 (4件)

お礼に書いて頂いた件について、



> この入門書の手順では ① のほうを要らないと考えてよさそうでしょうか。

はい。そうなります。

> ①については、入門書も、とにかくまずは定石を実行したと考えればいいでしょうか。

はい。著者の意図は分かりませんが、結果として、まずはシャッフルを行ったという結果をもたらしています。②が同等の結果を与えますので不要な行為ですが・・・。

なぜ、こんな面倒なことを行うのか、ご質問者様と同じ疑問を抱きました。
    • good
    • 0
この回答へのお礼

たびたびお返事いただき、本当にありがとうございます。
詳しい方がそうおっしゃって下さって安心しました。

>なぜ、こんな面倒なことを行うのか、ご質問者様と同じ疑問を抱きました。

改めて入門書の問題個所付近を読み直してみたところ、
この入門書に限った話ですみませんが、
序章に「Excel ならではの実践的な機能を多く紹介していく」とあり、
その箇所には盛り込みすぎて不統一感が出てしまったものかもしれないと
考えるしかなさそうなあたりに至りました。

ともあれ、本当にありがとうございました。

お礼日時:2024/03/30 05:07

No.1です。



ちなみに、Rなどの統計ソフトでは、1~10まで並んだ数字から、5個ランダムサンプリングするよう指示すると、下記のように抽出順もランダム化してくれます。

> sample(1:10, 5)
[1] 5 4 6 2 7

選ばれた5個が昇順に並ぶようなことはありません。

このように並び順もランダム化されるのが「無作為抽出」です。
ですから①は必須の操作だと言えます。

おまけ:
10個並んだ数値から、10個ランダムサンプリングすると、並び順が変わった10個の数値が出力されます。

> sample(1:10, 10)
[1] 4 5 8 7 2 9 10 3 6 1

②のみでこれをやろうとすると、RANDBETWEEN(1, 10) にて整数乱数を10個分与えて並び替えをやれば良いですが、結局、それは①と同じことなのです。

ですから①は必須で②は邪道だということです。
    • good
    • 0
この回答へのお礼

>>kamiyasiro 様

私のリアル生活圏では接点の無い専門家の方からたびたび助言をいただけ、
本当に助かります。ありがたいかぎりです。
素人で理解が追い付かないのですが(汗)、とりあえず書かせていただきます。


>RANDBETWEEN(1,10)で、……ところが、これは「先頭からの抽出」になります。

入門書がそういう風にしてくれていれば私にも理解しやすかったのですが、
最初の投稿が舌足らずだったので改めて説明させて下さい。

前提:例のリストは売上 1 万行。複数店舗が提出したものをマージした感じです。

入門書による無作為抽出手順:
①元のリストをかき混ぜる
・1 万行に対して Excel 「分析ツール」-「乱数発生」
・発生した乱数を引き数とする RANK.EQ 関数によって順位付け
②「①」の結果に対して無作為抽出(復元抽出)
・(先頭等に限らず)全 1 万行に対して 10 回試行
・サンプルサイズは 20 個
・1 試行 = 1 行 20 セルに INDEX 関数と RANDBETWEEN(1, 10000) を入力して
 かきまぜ後のリストを参照。
 同じようにして全 10 試行 = 全 10 行を作成。

つまり、

>②のみでこれをやろうとすると、RANDBETWEEN(1, 10) にて
>整数乱数を10個分与えて並び替えをやれば良いですが、
>結局、それは①と同じことなのです。

とおっしゃったとおり ①② は同じようなことをしていて、
この入門書の手順では ① のほうを要らないと考えてよさそうでしょうか。

>整序サンプルはまずはランダマイズ、という定石があります

①については、入門書もとにかくまずは定石を実行した……
と考えればいいでしょうか。

お礼日時:2024/03/29 19:59

No.1です。



ちょっと、回りくどい書き方でした。

つまり、

AAAAAAAAAABBBBBBBBBB

というサンプルに、②で1,2を付与して半分にランダムサンプリングしても、

AAAABBBBBB

となって、並び順は変わらないということです。

BABBABAABB

のようになって欲しいのです。
    • good
    • 0

RANDBETWEEN(1,10)で、1~10の整数値を付与されます。


1が付与されたものを抽出すれば、10分の1のサンプリングできます。

ところが、これは「先頭からの抽出」になります。

ここで、たとえば強度シミュレーションなどの入力値として、実測された応力値を使用するケースがあるとします。数が多いので全体からランダム抽出して使用します。
解析時間が掛かるので、未だ抽出サンプル全体の解析が出来ていなくても状況判断したいとき、応力値が整序されていると、低い応力値から処理しているので、高い応力値がどうなのか、結果の予想がつきません。

上司「お前、ランダムにやれよ」

あるいは、化学反応の実験をするために、供試品をランダムサンプリングして実験したい場合があるとします。
供試サンプルが整序されていると、A社品が午前の実験室で、B社品は午後の実験室で処理されることになります。でも、ある疑念が残ります。

上司「A社品とB社品との差が出ても、実験室環境の差かもしれないだろう」


以上の理由から、整序サンプルはまずはランダマイズ、という定石があります。

①は必須で、②は邪道です。
①でシャッフルすれば、先頭から必要な個数だけ抽出すれば良いです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A