1.乱数を発生させるには
調査対象の集団(母集団)からランダムに調査対象者を選ぶ(つまり母集団の中から、ある一人が選ばれる確率が等しくなるようにする)にはどうしたらいいのか?
→母集団全員に番号をつけ、その中から選ばれる番号が乱数であること(すなわち、どの番号も等しい確率で出現すること)が理想的な抽出方法である。
(例題)211人のクラスから30人をランダムに選んでアンケートに答えてもらうような場合、どうしたらいいのか?
STEP 1 |
クラスの名簿をつくって(並べ方は自由でよい)最初の1番から最後の211番までの全員に番号をつける。(つまり名前のかわりに番号を選ぶことにする。) |
STEP 2 |
そして、1から211までの間にある整数からランダムに30個を選べばいい(つまり単純無作為抽出をおこなう)というのだが・・・
2-1 | サイコロを振ってなんていっても、サイコロの目は1から6までしかないので、実際にはむずかしい。 |
2-2 | 多くの教科書には乱数表を引けと書いてあるけど、その使い方はとても面倒くさい。 |
2-3 | そこで、最近ではパソコンを使ってやる簡単な方法がある。 |
<Microsoft Excel を使う場合>
- まず、どこでもいいので、任意のセルを選択する。
- そして(半角で) =RAND() と書き入れ、Enterキーを押す。
- すると0と1の間で乱数(くわしくは一様乱数という)が発生する。そこで小数点以下第1位の数を1桁の数、第1位と第2位の数を組み合わせて2桁の数などとすればよいのだが、これでもまだ面倒くさい。
- Excelでは、たとえばaとbの間で乱数を発生させることもできる。
そのためには、 =RAND()*(b-a)+a と書き入れ、Enterキーを押す。
- 例題では、1から211の範囲で乱数を発生させたいのだから、 =RAND()*(211-1)+1 と書き入れ、Enterキーを押すと、その範囲で小数点を含む乱数が発生する。そこで小数点以下を切り捨てて、整数部分を乱数として使えばよい。
|
2.乱数表をつくってみる
STEP2までで、一定範囲の数から乱数を一つ発生させる方法はわかった。
しかし、ここでほしいのは、211人のクラスからランダムに選んだ30人(すなわち、1から211までの整数から30個の乱数を発生させること)である。
STEP 3 |
1から211までの整数から30個の乱数を発生させるには?
3-1 | 2-3の手続きを30回繰り返せばよいのだが、面倒くさい。 |
3-2 | そこでExcelの機能をもうすこし活用して、30個の乱数表をつくってみる。 |
- まず、シートの左上A1のセルに、2-3と同じ要領で1から211の範囲で乱数を発生させる。
- A1のセルを選択してコピーする。
- A2からA30までのセルを選択して貼り付けをおこなうと、30個の乱数が1から211の範囲で発生する。ただ、このままでは小数点以下の数が多くて見にくい。
- そこで、もう一度A1からA30までのセルを選択した上で、上のメニューから「書式」→「セル」を選択する。そして左端の「表示形式」のタブの中で、「数値」→「小数点以下の桁数」のところを「0」に設定して、下のOKボタンを押す。すると、30個の乱数は整数になり、見やすくなるはずである。
- しかしまれに、乱数といえども同じ番号が再び出てくる可能性はある。その場合は同じ回答者のデータを複数個のサンプルとする。
|
(なお、数学的には乱数にも様々な種類がある。ここで示した方法は最も単純な例であり、より高度な指定はSPSSの乱数発生機能などを用いる必要がある。以下、参考にSPSSを用いた乱数の発生例を示しておこう。)
- SPSSを立ち上げ、メニューから「ファイル」→「新規作成」→「データ」の順に選択する。
- メニューから、「データ」→「指定のケースへ移動」を選択する。出てきた「ケース番号」の欄には、発生させたい乱数の数を入れる。上の例題の場合なら、30と入力し、「OK」ボタンをクリックする。
- 1列目の30行目のセルに、任意の数(たとえば1)を入力し、Enterキーを押す。すると、自動的に変数名は「var00001」となり、またケース番号1から29までには「.」が表示される。こうして、発生させる乱数のケース数だけ、あらかじめデータを作成しておく。
- メニューから「変換」→「計算」を選択する。「目標変数」には任意の変数名(たとえば「ランダム」)を入力する。
「数式」には、「関数」リストから、たとえば一様分布から乱数をつくる「UNIFORM(max)」を投入する(上向きのボタンをクリックする。)
そして、数式欄にあらわれたUNIFORM(?)の「?」のかわりに、必要な乱数の範囲の最大値、この場合なら211を入力し、「OK」ボタンを押すと、30個の乱数がデータ画面に出現する。(通常設定では小数点以下が表示されるので、画面左下の「変数ビュー」をクリックし、変数「ランダム」の小数桁数を0にし、「データビュー」に戻る。)
- なお、この乱数表を番号順に並べ替えたい場合は、メニューから「データ」→「ケースの並べ替え」を選択し、昇順あるいは降順にソートすると、実際のサンプリング作業に便利である。
3.単純無作為抽出法の練習
※いまここに211名分の名簿(Excel書式)がある ダウンロード<架空名簿1>
-
まず、211名の一人ずつに1番から211番までに番号をうつ。
- 1番最初の人の名前の左の列(セルA1)に「1」と入力する
- 2番目の人の名前の左の列(セルA2)に、 =(上の1と入力したセルの番号=A1)+1 と入力する。(つまり、 =A1+1 )
- その2番目の人の番号のセル(A2)を選択してコピーする。そして3番目から211番目の人の番号のセルをすべて選択したうえで貼り付ける。すると簡単に1番から211番までの番号がうてる。
- 前節で説明した要領で、1番から211番の数字より30個の乱数を発生させる。
-
最後に30個の乱数の番号をそれぞれもつ人の名前を書き出す。
- 抽出する範囲や抽出する人数を変えて、単純無作為抽出の練習をしよう。
たとえば、架空名簿2(223名分)を使って同じことをやって見る。 ダウンロード<架空名簿2>
あるいは架空名簿1と架空名簿2を合体させて、より大きな名簿をつくる。
抽出する人数も、様々な数に変えてみる・・・など
4.等間隔抽出法(系統抽出法)の練習
調査対象者の名簿の規模が数百人、数千人と大きくなり、あるいはExcelのシートのように簡単に番号をうったり並べ替えたりできない場合、前節で見たような単純無作為抽出法をそのままおこなうことはむずかしい。そこでより簡単な方法として等間隔抽出法がある。これは最もよく用いられるものでもあるので、ぜひマスターしておこう。
(例題)ここに211人の名簿がある。その中から30名を等間隔抽出しなさい。
STEP 1 |
まず、どのような間隔で抽出するかが問題。その場合、ランダムに選ばれること、すなわち名簿の中のどの人が抽出される確率も等しくなることが重要である。したがって、30人を抽出したらちょうど名簿を一巡するような間隔にしなければならない。そこで、名簿全体の人数を抽出数で割って間隔を計算する。すなわち、211÷30=7.033,,,
が抽出の間隔となる。(小数点以下切り捨て)
|
STEP 2 |
そして抽出間隔の整数部分1から7の間でランダムにスタート番号を決める。(Excelで1から7の範囲で乱数を発生させる。「1.乱数を発生させるには」を参照。)
いま仮に、スタート番号が3に決まったとすると、名簿の最初から3番目の人が1人目の調査対象者となる。 |
STEP 3 |
あとは等間隔に30人目までを抽出していけばよい。抽出間隔には一般的に小数点以下が含まれるので、7.033,,,の小数点以下を切り捨てて、7人ごとに抽出していく。
よって、3+7=10番目の人が2人目、10+7=17番目の人が3人目・・となる。 |
(本来は、スタート番号+抽出間隔×Nを計算し、最後に小数点以下を切り上げた整数番目の人を抽出対象とするのが正しいが、そもそも等間隔抽出は名簿に通し番号を簡単にうてないような場合に用いる方法なので、抽出間隔を整数で算出してから順次抽出していく方が現実的である。)
(なお、スタート番号は名簿中のどこでもいいわけだが、抽出間隔よりも大きい数をとる場合は、必要な人数を抽出するまえに名簿の最後に来てしまう。そのときは名簿の最初に戻って抽出を続ければよい。)
※<架空名簿1>や<架空名簿2>を使って、実際に等間隔抽出の練習をしてみよう。また、単純無作為抽出の結果とどのように違うかも試してみよう。
5.多段抽出法の練習
多段抽出法とは、まず母集団全体からいくつかの調査地点を抽出し、その上で各地点から何人かずつの調査対象者を抽出する方法である。
配布・回収ともに郵送によって質問紙調査を実施する場合は、送付先の範囲がどんなに広くても(郵便局が届けてくれるのだから)、調査対象者の住所が載っている名簿を閲覧できれば調査は可能である(したがって、必ずしも多段抽出法を用いる必要はない。)
しかし、面接によって調査を行なう場合、調査員が1日に10〜20人くらいの対象者を歩いて訪問できるくらいの地理的範囲にするのが、コストもかからず理想的である。社会調査では、そのような「地点」を、「投票区」「丁目」「町」などに設定するのが一般的である(そこではまず調査地点を抽出し、次に各地点内にいる対象者を抽出する2段抽出法が適切ということになる。)
ある地域住民全員が調査対象となると、その入手可能な名簿としては、一般的に「選挙人名簿」か「住民基本台帳」しかない。
前者は各自治体の選挙管理委員会が管理している20歳以上の有権者の氏名・住所などが記されたもので、小学校区や中学校区の範囲にあたる「投票区」ごとに1冊の名簿として作成されている。(選挙管理委員会に調査趣旨を説明して申請すると無料で閲覧できるが、近年はそれを制限する自治体も多い。)
後者は各自治体の役所が管理する、住所ごとに全住民の氏名や生年月日などを記載したもので、通常は住居表示の単位である「××○丁目」や「△△町」ごとに名簿が作成されている。(役所に申請すれば原則、閲覧可能だが、1名抽出するごとに料金を課されることが多い。)
STEP 1 |
まず調査にあたる調査員の人数、あるいは1地点あたりの抽出人数を決める。ここでは1地点あたり20名を抽出することにすると、全部で300名を抽出するのだから、300÷20=15で、15地点を抽出することになる。(逆に地点数を15と決めて、1地点あたりの抽出数が20と算出されることもあるだろう。)
このように、多段抽出では原則として、各地点に割り当てられる抽出人数を同じにする。(しかし各地点での人口規模が違うのだから、これではすべての調査対象者が抽出される確率が同じになるランダムな抽出の原則に反するように見える。そこで、次のような方法を用いる。) |
STEP 2 |
15の調査地点を具体的にどこにするかを決める。ここでは各地点が抽出される確率の大きさをその人口規模に比例させる「確率比例抽出法」を用いる。(これによって各地点における抽出人数が同じでも、地点じたいが抽出される確率は人口に比例するので、ランダムな抽出の原則に合致することになる。)
2-1 | まず、各投票区の有権者数(男女計)を上から順に累計していく。
そのために、<西川市選挙人名簿登録者数>内のセルF5に =E5 と入力する。
次に、セルF6に =F5+E6 と入力する。(これで投票区1と2の累計ができた。)
そして今度はセルF6をコピーし、セルF7からF57を選択して貼り付ける。
これでF列には第1投票区から各投票区までを累積した数が示されることになる。
(最後の第53投票区の累計値が253,608と市の選挙人総数と等しいことを確認。)
|
2-2 |
2-1で計算した累計数は、この西川市の全有権者が投票区ごとに並べられたものと考えられる。(たとえば第2投票区には6,179番目から10,212番目までの有権者がいる。)そして、いま53の投票区から15の投票区を抽出するにあたって、あたかも全有権者から15名を等間隔で抽出するかのようにおこなう。その間隔をここで計算すると、253,608÷15=16907.2
となり、小数点以下を切り捨てて16,907となる。 |
2-3 | 次にスタート番号を、1番から16,907番の間から乱数を発生させて決定する。(「1.乱数を発生させるには」を参照。)いま、それが6105番となったとする。 |
2-4 | 以下、
2番目の抽出番号は、6105+(16907×1)=23,012
3番目の抽出番号は、6105+(16907×2)=39,919
・・・・
15番目の抽出番号は、6105+(16907×14)=242,803
と計算する。
|
2-5 | 2-4で抽出した数値から、それぞれに対応する投票区を抽出する。すなわち、1番目の6105を含む区間をもつ投票区は、1〜6178の区間である第1投票区となる。
2番目の23012を含む区間をもつ投票区は、18750〜23748の区間である第5投票区となる
・・・・
15番目の242803を含む区間をもつ投票区は、240083〜243788の区間である第50投票区となる。(もし抽出番号が登録者数全体を上回るような場合は、最初の投票区に戻って抽出を続ける。) |
2-6 |
以上のように15の抽出地点を決めた上で、各地点内から20名ずつを等間隔抽出法によって決定する(「4.等間隔抽出法(系統抽出法)の練習」を参照のこと。) |
|
※以上の例題について、残る12地点をすべて抽出してみよう。
また、地点数や1地点あたりの抽出人数、スタート番号を変えて練習してみよう。
ダウンロード<東宮市住民基本台帳人口>
同様に2段抽出法を住民基本台帳人口の例で練習してみよう。基本的に選挙人名簿と同じであるが、基本台帳は年齢層で細かく分かれているので、たとえば20歳から49歳までなど、調査対象を区切った上で抽出する必要があるだろう。
|