系統抽出法は、母集団を順番に並べたうえで一定の間隔ごとに標本を選ぶ抽出法です。ただし「等間隔で選ぶこと」がそのまま定義かというと、規格上はそうではありません。JIS Z 8101-2:2015 が定める系統サンプリングはもっと広い概念で、等間隔で選ぶ手続きは下位用語の「周期的系統サンプリング」に当たります。この記事では規格の定義から入り、抽出間隔の決め方(母集団サイズが標本数で割り切れない場合を含む)、Pythonでの実装、偏りが出る条件、そして内閣府と総務省統計局が現に系統抽出で標本を選んでいる事実までを扱います。
まとめ:系統抽出法の要点
- JIS Z 8101-2:2015 の 1.3.12 で系統サンプリング(系統抽出、系統抜取)は「秩序だった計画に基づくサンプリング」と定義され、等間隔はその一形態
- 番号 h, h+k, h+2k, … を選ぶ形は 1.3.13「周期的系統サンプリング」で、開始点 h は 1 から k までの整数からランダムに定める
- 抽出間隔は母集団サイズ N を標本数 n で割った値。割り切れないときは小数のまま保持するか、nk<N<n(k+1) を満たす整数 k を採る
- 母集団の並び順に抽出間隔と同じ周期があると偏る。規格自身が6ヘッド機械の例で注意している
- 内閣府「国民生活に関する世論調査(令和7年8月調査)」は調査地点の選定も対象者の選定も等間隔抽出法。家計調査は調査単位区の抽出に系統抽出を用いている
以下、規格の条文、間隔の計算、実装コード、偏りが出る条件、公的統計での実例の順に見ていきます。
系統抽出法の定義:規格では「等間隔」は定義の本体ではない
市販の用語集の多くは、系統抽出法を「等間隔に選ぶ方法」と説明します。しかし JIS Z 8101-2:2015(統計-用語及び記号-第2部:統計の応用、ISO 3534-2:2006 に対応)の 1.3.12 は、系統サンプリング(同義語として系統抽出、系統抜取、英語では systematic sampling)を「秩序だった計画に基づくサンプリング」とだけ定義しています。等間隔という語は定義本文になく、バルクサンプリングでは固定間隔または一定時間間隔で採取することもある、という注記1の位置づけです。
読者が普通に思い浮かべる「10人ごとに1人選ぶ」手続きは、その下位用語である 1.3.13 の周期的系統サンプリングに当たります。規格の書き方は具体的で、母集団のサンプリング単位を順に並べて 1 から N まで番号を振り、h、h+k、h+2k、…、h+(n-1)k と番号づけられた単位を選ぶ、とあります。ここで h と k は nk<N<n(k+1) かつ h<k を満たす正の整数で、h は通常 1 から k までの整数からランダムに定めます。つまり乱数を使う箇所は開始点ただ1つです。
この構造から出てくる注意が、1.3.12 の注記3「系統サンプリングによって、サンプリングのランダム化は制限されることとなる」です。単純無作為抽出なら N 個から n 個を選ぶ全組合せが対象になりますが、系統抽出で実際に起こりうる標本は k 通りしかありません。だから作業前に母集団リストの並び順を点検する必要があります。並び順の点検を省いた系統抽出は、手間が減った分をそのまま偏りのリスクに置き換えているだけです。
なお規格には派生用語も置かれています。ロットが層に分割されている場合に各層内で同一の相対位置から採る「層化系統サンプリング」(1.3.12 注記2)、媒体やラインの特定の場所・時点から採る「スポット系統サンプリング」(1.3.14)です。工程管理の文脈で系統抽出という語を見たときは、どの条項の意味で使われているかを確認してください。
抽出間隔の決め方と抽出手順
母集団サイズが標本数で割り切れる場合
総務省統計局の学習コンテンツ Data StaRt「標本抽出の諸方法」(執筆・監修は東京大学社会科学研究所の三輪哲教授)は、12人の母集団から3人を選ぶ例で手順を示しています。まず全体を3つの区間に分けます。12÷3=4 が抽出間隔です。最初の区間にいる4人から1人だけを単純無作為抽出で選び、この例では3番の人が当たりました。以降は 3+4=7番、7+4=11番と機械的に決まります。乱数が要るのは最初の1回だけ、という前節の規格の記述どおりの流れです。
実務では、母集団リスト(抽出台帳)を作った時点で作業の質がほぼ決まります。台帳が名簿順や登録順で並んでいるのか、支店コード順なのか、契約日順なのかを確認してから間隔を決めてください。
母集団サイズが標本数で割り切れない場合
N=1,000 から n=30 を選ぶと 1,000÷30=33.33… で割り切れません。規格の条件 nk<N<n(k+1) はまさにこの場合に k を定める式で、30k<1,000<30(k+1) を満たす整数は k=33 です。ただし k=33 に丸めて h+29×33 まで進むと最大でも 990 番目までしか届かず、末尾の10行前後が構造的に選ばれません。母集団が契約日順や年齢順で並んでいれば、これは末尾の属性を落とすことを意味します。
実装で避けるなら、間隔を小数のまま保持して選んだ位置を切り捨てる方法が簡単です。N÷n=33.33… を丸めずに使えば、末尾まで均等に選択位置が分布します。別解として、リストを環状につないで N を超えた分を先頭に戻す循環系統抽出もあります。どちらを採る場合でも、選ばれた行番号の最大値が N の近くまで届いているかを実際に出力して確認してください。
Pythonによる系統抽出の実装
次のコードは、開始点を 0 以上 k 未満の一様乱数で決め、抽出間隔を小数のまま保持する実装です。前節の割り切れないケースをそのまま扱えます。
import random
def systematic_sample(population, n, seed=None):
"""母集団リストから n 個を系統抽出する。抽出間隔は小数のまま保持する。"""
N = len(population)
if not 0 < n <= N:
raise ValueError("n は 1 以上 N 以下にしてください")
k = N / n # 抽出間隔
rng = random.Random(seed)
start = rng.uniform(0, k) # 開始点は 0 以上 k 未満からランダムに決める
rows = [int(start + i * k) for i in range(n)]
return [population[j] for j in rows], k, rows
pop = ["ID%04d" % i for i in range(1, 1001)]
for n in (40, 30):
sample, k, rows = systematic_sample(pop, n, seed=20260830)
print("n=%d 抽出間隔=%.4f 件数=%d 重複=%s" % (n, k, len(sample), len(rows) != len(set(rows))))
print(" 選ばれた行番号(先頭5件):", [j + 1 for j in rows[:5]], "... 最終", rows[-1] + 1)
Python 3.9.6 で実行した出力です。
n=40 抽出間隔=25.0000 件数=40 重複=False
選ばれた行番号(先頭5件): [2, 27, 52, 77, 102] ... 最終 977
n=30 抽出間隔=33.3333 件数=30 重複=False
選ばれた行番号(先頭5件): [2, 36, 69, 102, 136] ... 最終 969
n=30 でも最終行が 969 まで届いており、間隔を 33 に丸めた場合の上限 990 未満という制約に縛られていません。seed を固定しているので同じ標本が再現します。監査や再集計を求められる調査では、開始点の乱数シードを抽出記録として残しておくと後から同じ標本を復元できます。Excelの RAND や RANDBETWEEN にはシード引数がなく、再計算のたびに値が変わるため、再現性が要る場面ではスクリプト側で抽出するほうが確実です。
周期性バイアスの発生条件と、系統抽出を避けるべき場面
系統抽出の唯一かつ致命的な弱点は、母集団の並び順の周期と抽出間隔が噛み合ったときに起こる偏りです。JIS Z 8101-2:2015 の 1.3.13 注記3 は、6個のヘッドをもつ機械で生産されるアイテムに対して6番目、12番目、18番目という周期的系統サンプリングを行うと、得られるサンプルが機械のアウトプットを代表するとは到底考えられない、と述べています。常に同じヘッドの製品だけを拾ってしまうためです。
この状況を数値で確かめるため、6ヘッドそれぞれに寸法の癖がある工程を模擬したデータで検証しました。以下は実測データではなく生成した模擬データによる計算です。
import random, statistics
random.seed(20260830)
head = [0.00, 0.02, -0.03, 0.01, 0.06, -0.02] # 6個のヘッドごとの寸法ずれ(mm)
lot = [10.0 + head[i % 6] + random.gauss(0, 0.01) for i in range(6000)]
print("ロット全体の平均 : %.4f mm" % statistics.mean(lot))
for step in (6, 7):
picked = lot[2::step][:100] # 3番目から step おきに100個
print("抽出間隔 %d の平均 : %.4f mm" % (step, statistics.mean(picked)))
ロット全体の平均 : 10.0068 mm
抽出間隔 6 の平均 : 9.9695 mm
抽出間隔 7 の平均 : 10.0077 mm
ヘッド数と一致する間隔6では平均が 9.9695mm となり、ロット全体の 10.0068mm から 0.037mm ずれました。標本数を増やしても、拾うヘッドが固定されている以上このずれは縮みません。一方、ヘッド数と互いに素な間隔7では 10.0077mm とほぼ一致します。偏りの大きさを決めるのは標本数ではなく、間隔と周期の関係です。
したがって、母集団の並び順に周期が疑われる場面では系統抽出を採るべきではありません。判断基準は単純です。リストの並び順を作っている変数が、調査したい変数と関係していないか。生産ラインのヘッド番号や号機番号が並び順に埋め込まれている工程データ、曜日の周期が入る日次ログ、世帯主・配偶者・子の順で繰り返される世帯名簿がこれに当たります。世帯名簿を4人ごとに拾えば、標本は世帯主ばかり、あるいは子ばかりになりかねません。
回避策は3つあり、優先順位も決まっています。第一に、並び順の周期をなくせるならリストを事前にシャッフルすること。第二に、周期が消せないなら間隔を周期と互いに素な値にずらすこと。第三に、周期の正体が層として扱える属性なら、層化したうえで層内で抽出することです。順序を並べ替えるだけで済むケースが最も多く、しかも最も安全です。
公的統計での実装:内閣府の世論調査と家計調査
「無作為抽出」と書かれた公的調査の多くが、実装としては系統抽出(等間隔抽出)を使っています。用語集ではまず触れられない点なので、抽出設計を検討する際の参照先として押さえておく価値があります。
内閣府「国民生活に関する世論調査(令和7年8月調査)」の標本抽出方法は、母集団を全国の市区町村に居住する満18歳以上の日本国籍を有する者、標本数5,000人、328市区町村350地点、抽出方法を層化2段無作為抽出法としています。都道府県を11地区に分類し、都市規模区分と組み合わせて第1次層は計65層です。ここまでは層化多段抽出の説明ですが、各段の中身が系統抽出です。
第1段の調査地点(令和2年国勢調査の調査区)については、抽出間隔を「層における令和2年国勢調査時の母集団人口÷層で算出された調査地点数」として算出し、等間隔抽出法によって該当人数番目の者が含まれる調査区を抽出する、と明記されています。乱数表を使うのは、層内での調査地点数が1地点の場合だけです。第2段の対象者についても、抽出間隔を「調査地点における令和2年国勢調査時の母集団人口÷調査地点抽出標本数」として算出し、住民基本台帳から等間隔抽出法で抽出しています。2段階のどちらも系統抽出だということです。
総務省統計局の家計調査でも同様です。「家計調査の標本設計の概要(令和5年)」(家計調査参考資料第77号)は調査単位区の抽出手順として、設定したクラスターを単位に「各ブロック内から二つのクラスターを系統抽出する」と記しています。こちらは等間隔という言い換えではなく、系統抽出という語がそのまま使われています。
実務への含意は2つです。まず、系統抽出は精度を妥協した簡便法ではなく、国の基幹統計が採用している手続きだということ。次に、公的調査がそうしているように、系統抽出は層化や多段抽出と組み合わせて使うのが標準形だということです。単独で使うより、無作為抽出法とは何かを基礎から解説する導入ガイドで扱う層化と併用したほうが、並び順に起因する偏りを層の設計で吸収できます。
単純無作為抽出・層化抽出・多段抽出との違い
系統抽出法の位置づけは、他の確率抽出法と並べると掴みやすくなります。
| 抽出法 | 乱数の使用箇所 | 必要な母集団情報 | 主な弱点 |
|---|---|---|---|
| 単純無作為抽出 | 標本の個数だけ | 全数の名簿 | 作業量が大きい |
| 系統抽出 | 開始点の1回のみ | 並び順のある名簿 | 並び順の周期による偏り |
| 層化抽出 | 各層内で使用 | 層化に使う属性 | 層の設計に情報が必要 |
| 多段抽出 | 各段で使用 | 段ごとの単位の一覧 | 段を増やすほど誤差増 |
| クラスター抽出 | 集落の選定時 | 集落の一覧 | 集落内が似ていると精度低下 |
単純無作為抽出との実務上の差は、乱数を引く回数と名簿の扱いに集約されます。単純無作為抽出は標本数と同じ回数だけ乱数が要り、重複を除く処理も必要ですが、並び順の影響は受けません。手順とExcel・Pythonでの具体的な操作はランダムサンプリングとは?5種類とExcel・Pythonのやり方で解説しています。
層化抽出は層内が均一になるよう層を設計することで精度を上げる方法で、系統抽出とは競合せず併用できます。JIS が層化系統サンプリングを別に定義しているのはそのためです。段階を分ける多段抽出法とは?基本的な概念と統計調査での役割や、名簿を使わずに地域から辿るエリアサンプリングとは?名簿不要の地域抽出法の仕組み・手順・精度を解説も、内閣府の調査のように系統抽出と組み合わせて運用されます。
どの方法を選んでも標本である以上、推定値には誤差が伴います。標本サイズと誤差の関係は標本誤差とは何か?基本的な定義と統計学的な意味を参照してください。
よくある質問
系統サンプリングとは何ですか?
JIS Z 8101-2:2015 の 1.3.12 では「秩序だった計画に基づくサンプリング」と定義され、系統抽出、系統抜取は同義語です。日本語の記事で「系統抽出法」と呼ばれる等間隔の手続きは、その下位用語である 1.3.13 の周期的系統サンプリングに当たります。
等間隔抽出法と系統抽出法は同じものですか?
実務上はほぼ同じ意味で使われますが、規格上は等間隔抽出法のほうが狭い概念です。系統サンプリングには時間間隔で採るバルクサンプリングや、特定の場所・時点から採るスポット系統サンプリングも含まれます。内閣府の世論調査のように、公的統計では「等間隔抽出法」という表記が使われています。
単純無作為抽出法と系統抽出法の違いは何ですか?
乱数を引く回数が違います。単純無作為抽出は標本数と同じ回数だけ乱数が必要で、実際に起こりうる標本は N 個から n 個を選ぶ全組合せです。系統抽出は開始点を決める1回だけで、起こりうる標本は抽出間隔 k と同じ k 通りに限られます。この制限が JIS 1.3.12 注記3 の「ランダム化は制限される」という記述の意味です。
クラスター抽出法とは何ですか?
母集団を集落(クラスター)に分け、集落を単位に抽出して、選ばれた集落は全数または一部を調査する方法です。層は層内が均一になるよう設計するのに対し、クラスターは集落間の差が小さく集落内のばらつきが大きくなるように設定します。家計調査では調査単位区をクラスターとして扱い、その抽出に系統抽出を使っています。
無作為抽出法の具体例は?
内閣府「国民生活に関する世論調査(令和7年8月調査)」が代表例です。全国を65層に層化したうえで、第1段で350の調査地点を、第2段で5,000人の対象者を選んでいます。抽出方法の名称は層化2段無作為抽出法ですが、各段の具体的な操作は住民基本台帳や国勢調査区に対する等間隔抽出法です。