R による統計解析の基礎
中澤

港

iii

はじめに〜本書の狙い

およそ世の中のすべての現象は不確実性，予測不可能性を含んでいる。とくに人間が絡む現象はそうである。しかし，予測能力がきわめて大きいことはヒトという動物の特徴であり（そう，リチャード・ドーキンスも語っている通り），我々は不確実ながらも先の見通しを立てて，何とかうまく生きていこうと考えざるを得ない。
では，どうやって見通しを立てればいいのだろうか？ 不確実で不安定な現象でも，数多く集めれば，何らかの法則性が見えてくることがある。この，法則性を見出す（検証を含む）方法論が統計学である。本書の目的は，統計学の考え方の基礎を説明しながら，実際に多くのデータを集めて分析する技術の初歩を解説することにある。
実際に統計手法を身につけるには，データを使って分析してみることが近道だが，従来は，高価な統計ソフトに依存したり，市販ソフトの機能制約版を使ったり，あるいは独自開発のソフトを使って解説するしかないのが難点であった。しかし現在では，オープンソー
スで国際共同開発されている R (http://www.r-project.org/) という素晴らしいソフ
トウェアが存在し，機能的にも市販ソフトに引けを取らないし，大勢の専門家の目によって吟味されており信頼性も高いので，本書では R を使った分析法を説明する。日本において R が普及していない原因は日本語による解説書がほとんどなかった1 ためだと思うので，本書が R の普及の一助になれば幸いである。
なお，本書は，高崎経済大学地域政策学部における 2001 年度の社会統計学の講義，山口県立大学における 2002 年度の統計学の講義資料，及び講義の際に受けた質問を元にして，大幅に加筆修正を行ったものである。講義に出席し，さまざまな質問をしてくれた学生諸氏に感謝申し上げる。また，本書の草稿を読んで有益なご指摘をくださった R-jp メーリ
ングリストの方々に感謝申し上げる。なかでも，数多くの丁寧なコメントをくださった群馬大学社会情報学部の青木繁伸先生，ハーヴァード大学で社会疫学を研究されている林啓
一さん，東京大学人類生態学教室の後輩の竹内昌平君には深く感謝申し上げる2 。草稿段
階でのいくつかの誤植をご指摘くださった長南さんにも感謝申し上げる。もちろん，本書の内容に間違いがあれば，それは著者個人の責任である。
末筆ながら，本書をこのような（草稿を PDF 形式で WEB 上で公開したままという）形で出版するに当たり，ピアソン・エデュケーションの藤村行俊さんに大変お世話になった。
1

R-jp メーリングリスト有志により翻訳されたマニュアルの pdf 版が http://minato.sip21c.org/swtips/
R-jp-docs/ から入手できる。なお，R-jp メーリングリストとは，筑波大学の岡田昌史さんによって運営されている，R について日本語で情報交換をするためのメーリングリストである。
（追記：岡田さんの所属変更に伴い，http://epidemiology.md.tsukuba.ac.jp/~mokada/ml/R-jp.html で運営されていたこのメーリ
ングリストは，2017 年現在リンク切れになっている。たしか既に廃止されたはずである）
2
お三方とも，2017 年現在の所属はこれらと異なる。

iv
深く御礼申し上げる。
（注）ピアソン・エデュケーション（ピアソン桐原）の出版方針変更により，本書は絶版となり，第 8 版のファイルが返ってきたので，このバージョンのファイルも pdf 化して公開する。出版社によって作成された図版は含まれていないので，図のクォリティは紙媒体とは異なっていることと，サーバ移転に伴う URL の修正はしたが，それ以外の内容はアップデートしていないので注意されたい。
（注 2）R 本体やパッケージのバージョンアップによって仕様が変わった関数などについて若干の加筆修正を行ったので仮想 9 刷3 とした（2017 年 4 月 21 日）。
平成 30 年 1 月 26 日中澤

3

http://minato.sip21c.org/statlib/stat-all-r9.pdf

港

v

目次

第1章
1.1
1.2
1.3
1.4
1.5

統計学とは何だろうか？
統計学の歴史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
不確実性とランダム（乱雑さ） . . . . . . . . . . . . . . . . . . . . . . . .
統計解析の手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
統計解析の２大方針 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
統計解析の道具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
1
1
2
4
4

第 2 章 統計的な考え方の基礎〜確率と確率分布
2.1 本章のテーマ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 確率的な現象を統計的事象と呼ぶ . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 どういう現象が確率的か？ . . . . . . . . . . . . . . . . . . . . . . .
2.3 準備その１：「標本空間」 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 準備その２：「事象」 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 準備その３：余事象・和事象・積事象・排反事象 . . . . . . . . . . . . . .
2.6 準備その４：相互排反性と加法定理 . . . . . . . . . . . . . . . . . . . . . .
2.7 準備その５：事象の独立性と乗法定理 . . . . . . . . . . . . . . . . . . . . .
2.8 確率を定義するための４種類のアプローチ . . . . . . . . . . . . . . . . . .
2.9 大数の法則（操作的接近の根拠） . . . . . . . . . . . . . . . . . . . . . . .
2.10 確率変数・期待値・分散の感覚的把握 . . . . . . . . . . . . . . . . . . . . .
2.11 確率変数・期待値・分散を数式で書く . . . . . . . . . . . . . . . . . . . . .
2.12 ベルヌーイ試行と２項分布 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.13 ２項分布のシミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . .
2.14 ２項分布の理論分布 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.15 正規分布 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7
7
7
7
8
8
8
9
10
10
11
12
13
14
14
15
16

第3章
3.1
3.2
3.3
3.4
3.5
3.6

19
19
19
21
21
22
22

データの尺度・データの図示
尺度と変数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
名義尺度 (nominal scale) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
順序尺度 (ordinal scale) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
間隔尺度 (interval scale) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
比尺度 (ratio scale) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
データの図示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vi
3.6.1
3.6.2

離散変数の場合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
連続変数の場合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

第 4 章 データを１つの値にまとめる（記述統計量）
4.1 データを記述する２つの方法 . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 中心傾向（Central Tendency） . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 平均（mean） . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 重み付き平均 (weighted mean) . . . . . . . . . . . . . . . . . . . .
4.2.3 度数分布の平均 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4 中央値（median） . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.5 最頻値（Mode） . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 ばらつき（Variability） . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 範囲 (range) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 四分位範囲 (Inter-Quartile Range; IQR) . . . . . . . . . . . . . . .
4.3.3 四分位偏差 (Semi Inter-Quartile Range; SIQR) . . . . . . . . . . .
4.3.4 平均偏差 (mean deviation) . . . . . . . . . . . . . . . . . . . . . . .
4.3.5 分散 (variance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.6 標準偏差 (standard deviation) . . . . . . . . . . . . . . . . . . . . .
4.3.7 標準誤差 (standard error) と変動係数 (coeﬃcient of variation) . . .
4.4 まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27
27
27
27
29
30
31
35
36
36
37
38
38
39
40
40
40

第5章
5.1
5.2
5.3
5.4
5.5

比率に関する推定と検定
母比率を推定する方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
推定値の確からしさ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
信頼区間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
正規近似による信頼区間の推定 . . . . . . . . . . . . . . . . . . . . . . . .
母比率の検定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43
43
43
44
45
46

第6章
6.1
6.2
6.3
6.4
6.5
6.6

カテゴリ変数２つの分析（１）
２つのカテゴリ変数を分析する２つのアプローチ . . . . . . . . . . . . . .
２つのカテゴリ変数の母比率の差の検定と信頼区間 . . . . . . . . . . . . .
２つのカテゴリ変数の関係を調べることと研究のデザイン . . . . . . . . .
クロス集計とは？ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
独立性の検定の原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
フィッシャーの直接確率（正確な確率） . . . . . . . . . . . . . . . . . . .

53
53
53
56
56
56
59

第 7 章 カテゴリ変数２つの分析（２）7.1 研究デザインとリスク，オッズ . . . . . . . . . . . . . . . . . . . . . . . .
7.2 その他の関連性の指標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1 リスク差 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61
61
65
65

vii
7.2.2 相対差 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.3 曝露寄与率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.4 母集団寄与率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.5 Yule の Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.6 ファイ係数 (ρ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
一致度の指標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 κ 統計量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
利用例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65
65
65
65
65
66
66
67

第 8 章 平均に関する推定と検定
8.1 母平均と標本平均の差の検定 . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 独立２標本の平均の差の検定 . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.1 母分散が未知の場合 . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.2 分散に差がない場合 . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.3 分散が差がある場合（Welch の方法） . . . . . . . . . . . . . . . . .
8.3 両側検定と片側検定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4 対応のある２標本の平均の差の検定 . . . . . . . . . . . . . . . . . . . . . .

71
71
73
73
73
73
75
76

第9章
9.1
9.2
9.3
9.4
9.5
9.6
9.7

２群の差に関するノンパラメトリックな検定
ノンパラメトリックな検定とは？ . . . . . . . . . . . . . . . . . . . . . . .
Wilcoxon の順位和検定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
正規スコア検定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
メディアン検定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
符号付き順位和検定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
符号検定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
並べかえ検定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79
79
80
85
85
86
87
87

第 10 章 多群間の差を調べる〜一元配置分散分析と多重比較
10.1 多群間の比較を考える . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.2 一元配置分散分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.3 クラスカル＝ウォリス (Kruskal-Wallis) の検定 . . . . . . . . . . . . . . . .
10.4 多重比較 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.4.1 ボンフェローニの方法とホルムの方法 . . . . . . . . . . . . . . . .
10.4.2 テューキーの HSD . . . . . . . . . . . . . . . . . . . . . . . . . . .

89
89
90
93
94
96
98

7.3
7.4

第 11 章 相関と回帰
101
11.1 量的変数の関連を調べる . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
11.2 相関関係の具体的な捉え方 . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
11.3 回帰の考え方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
11.3.1 検量線 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

viii
第 12 章 時系列データと間隔データの扱い方
113
12.1 時間を扱うとはどういうことか？ . . . . . . . . . . . . . . . . . . . . . . . 113
12.2 時系列解析の基礎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
12.2.1 非線形回帰 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
12.2.2 自己回帰モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
12.2.3 フーリエ解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
12.3 生存時間解析の基礎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
第 13 章 一般化線型モデル入門
129
13.1 一般化線型モデルとは？ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
13.2 変数の種類と数の違いによる線型モデルの分類 . . . . . . . . . . . . . . . . 129
13.3 重回帰分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
13.4 共分散分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
13.5 補足：一般線型混合モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
第 14 章 高度な解析法についての概説
139
14.1 主成分分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
14.2 因子分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
14.3 クラスター分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
第 15 章 参考文献

145

付 録 A R について
149
A.1 なぜ R を使うべきなのか？ . . . . . . . . . . . . . . . . . . . . . . . . . . 149
A.2 R を使うための最初の１歩 . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
A.2.1 インストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
A.2.2 もっとも基本的な操作 . . . . . . . . . . . . . . . . . . . . . . . . . 151
A.2.3 R Commander を使ってみる . . . . . . . . . . . . . . . . . . . . . . 152
A.3 R の参考書・web サイトなど . . . . . . . . . . . . . . . . . . . . . . . . . . 153
A.3.1 web サイト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
A.3.2 参考書 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
索引

157

1

第 1 章 統計学とは何だろうか？

1.1

統計学の歴史

統計学の歴史については，さまざまなことが言われている。ラオ（1993）によれば，統計学の歴史をずっと過去に遡っていくと，本来は，「家畜や他の財産の帳簿をつけるために原始人が木につけた刻み目」だという1 。その後，国家を経営するための基礎資料的な意味あいが強くなった。ラオ（1993）には，「ある国およびそこに生きている生命の状態
や発展についての，もっとも完全で，もっとも根拠のある知識」という，マルシャスの言
葉が引用されている。
英語の statistics は，ラテン語で国家を意味する status を語源として，18 世紀半ばにドイツの哲学者アッヘンウォールが作った言葉が元になっている（ラオ，1993 年）。国家としての人口規模が大きくなるとともに，雑然とした大量の生データを，解釈をやさしくしたり種々の方策決定に用いるためにまとめ上げる手法が必要になり，グラントの生命表やケトレーの度数分布図など質的にも量的にも統計手法が開発されてきた。産業革命が進行する中，1834 年，英国王立統計協会設立により，学問としての「統計学」が成立し，「人間に関係することがらで，数量で表現することが可能で，一般的な法則を導き出すのに十分なだけ積み重ねられたもの」と定義された。
20 世紀末，コンピュータの進歩とともに統計学の理論や技術も大きく進展し，同時にパッケージソフトウェアの開発によって，統計学の専門家でなくても統計解析を行うことが可能になった。そのため，統計学は，いまやすべての自然科学や社会科学で適用される科学的分析の技術となっている。もっとも広い意味で定義するならば，「不確実性を考慮した論理的推論」ということになるだろう。

1.2

不確実性とランダム（乱雑さ）

世の中のほぼすべての事象は不確実性を含んでいる。素粒子レベルでは物理法則も不確実性を含むし（ある原子核に含まれる電子が存在する確率がゼロでない場所という意味で電子雲は決まるけれども，電子がある瞬間にどこに存在するかということは確率的にしかいえない），遺伝子の発現や社会における個人の行動なども，決して決定されてはいない。

1「原始人」という呼び方には問題があるが，大事なことは，文字が無かった時代であっても統計的な概念は必要だったし，ありえたということである。

第 1 章 統計学とは何だろうか？

2

不確実性を数学的に扱うには，確率的に起こるできごと（確率事象）を扱わねばならない。確率事象は，一般に，何回中何回くらい起こりそうかはわかっているが，いつ起こるかがわからない。そのために，ふつうは既知の分布関数が使われる。ただし，コンピュータ上で扱うときは，ランダムな数字の列，すなわち乱数列2 を利用することができる。たとえば区間 (0,1) の実数値をとる一様乱数列3 を確率事象に割り当てれば，その値が確率 pより小さいときに事象が起こり，確率 p より大きいときに事象が起こらないと解釈することによって，確率を事象が起こるか起こらないかに置き換えることができる。このやり方
で確率分布をシミュレートすることは，コンピュータ集約型統計学と呼ばれる分野で近年盛んに行われている。
乱数列については，線型合同法など，数式を使って生成される擬似乱数列というものがあり，数式がわかれば次の数字は予想できるのだが，見かけ上はでたらめな数の並びに見え，実用上十分なでたらめさをもっているので，コンピュータ上で乱数列が必要な場合は良く使われている。現在ではコンピュータ上でも熱拡散の状態を測って真の乱数を得る拡張ボードが市販されていて（たとえば東芝のランダムマスターなど）利用可能だが，メル
センヌツイスター4 のような優れたアルゴリズムで生成された擬似乱数を使う方が普通で
ある。

1.3

統計解析の手順

データの分析技術としての統計解析は，一定の手順を踏んで行われる。箇条書きすると，
以下のような手順が典型的と思われる。

• 目的を明確にする• 生データをとる• データ化（エディティング，コーディング，データ入力）• データの図示（幹葉表示やヒストグラムなど）• 代表値（分布の位置やばらつきを示す値）の計算• 作業仮説の明確化（ここで因果関係についての仮説を立てることが多い）52
次の数字が予想できない，意味のないでたらめな数の集まり。たとえば，20 桁の対数表の 15〜19 桁目を並べたものとか，袋に入れた 500 個ずつの白ビーズと黒ビーズから，よく混ぜて１個ビーズを取り出して色を記録し，元の袋の中に戻して，取り出す前と同じ状態に戻してからまたビーズを取り出して色を記録し，と繰り返した（復元抽出した）ときの色の列など。
3
乱数列のうち，各数字の出現頻度が等しいと期待されるものを一様乱数列と呼ぶ。
4
松本眞，西村拓士両氏によって，1996 年から 1997 年にわたって開発された擬似乱数生成アルゴリズムで，生成速度が速く，きわめて周期が長く，C で書かれたプログラムソースコードが自由に利用できるという利点をもつ。詳細は http://www.math.keio.ac.jp/home2/matumoto/public_html/mt.html を参照されたい。
5
因果関係については，佐藤・松山 (2002) の議論がすばらしく良くまとまっているし，Rothman (2002)の第２章の議論も参考になる。後者はhttp://www.oup-usa.org/sc/0195135547/media/0195135547_ch2.pdf
として web で全文が公開されている。

1.3. 統計解析の手順

3• 仮説検定や区間推定を行う（攪乱要因に配慮し，その影響を制御する必要がある）• 因果関係についての推論を行う（先行研究の知見なども総合する必要がある）
データ化以前の段階についての細かい説明は調査法についての本やデザインの本を参照
されたいが，大事なことは，データを取る前の段階で，統計解析をどうするか考えておくべきだということである。実際にはなかなかそうはできず，データを取った後で解析法が考えられる場合が多いのだが，後付けの分析はバイアスの元になるし，言いたいことを検討するための解析に必要なデータが取れていないことが解析段階で判明しても，後の祭りなのである。だから，統計解析は，データを取ったあとで始まるものではなく，データを取る前の段階で始まっていることを肝に銘じておくべきである。フィールドワーカーや実験科学者や政策担当者は，データを取ってから解析法に困って統計学者に相談するのではなく，デザインの段階から相談すべきである6 。

高血圧

年齢

未知因子

体脂肪
割合

食塩
摂取量

図 1.1: 因果関係と攪乱要因の例
因果関係については，数値間に常に関連があるというだけではなく，時間的前後関係など，いくつかの条件を満たさないと因果関係があるとはいえないし，その条件についてもいろいろ議論がある（Rothman, 2002）。一般には，図 1.1 に示すように，その分析で着目している結果（英語では outcome と呼ばれる。この図の場合なら高血圧）を評価軸とした
とき，「Ａ：この分析で結果との関係を評価したい因子（この図では体脂肪割合や食塩摂取量）」，「Ｂ：この分析で結果との関係をみたいわけではないが結果やＡやそれらの関係に影響することがわかっている因子（この図では年齢）」，「Ｃ：この分析では調べていないが，結果に影響する因子（この図では未知因子）」に分けて捉えることができる。Ｂは攪
6または，フィールドワーカーや実験科学者といえども，きちんと統計学を学ぶべきである。

第 1 章 統計学とは何だろうか？

4

乱要因とか交絡要因と呼ばれ，Ｂの影響を調整した上で，Ａと結果の関係を調べないと，
真の関係はわからない。結果のうち，Ａによって説明できない部分が偶然変動及びＣとして残るので，Ｃの影響は小さいほどよい。その意味で，統計解析では結果のどれくらいがＡによって説明できるかを調べたり，Ｃの影響がどれくらいあるかを調べる手法があり，因果関係の確からしさを判断する上で重要である。

1.4

統計解析の２大方針

上に述べた意味での手順は同じだが，推論の根拠について考えたとき，統計解析には，大きく分けて２つの異なる方針がある7 。
１つは，デザインに基づく解析である。仮説検定の例としては，並べかえ検定やログラ
ンク検定がこれに当たる。デザインに基づく解析では，データが，ランダムにデータを取った場合に得られるパタンの１つであると考え，その確率を直接計算する。攪乱要因はデー
タを層別することで制御する8 。一般に計算量は多くなるが，分布を仮定する必要がないのが利点である。
もう１つは，モデルに基づいた解析である。t 検定や重回帰分析や比例ハザードモデルな
ど，有名な多くの統計解析は，この考え方に基づいている。デザインに基づく解析に比べると，一般に計算量は少なくて済む。結果の分布を記述するために確率分布を仮定し，その未知パラメータをデータから推定する。データがモデルにもっとも良く当てはまるようなパラメータを最小二乗法や最尤法などで推定し，当てはまりの悪さを AIC などの指標を使って評価する。攪乱要因の影響は，説明変数としてモデルに入れることで調整するこ
とになる。

1.5

統計解析の道具

実際の統計解析は，コンピュータのソフトを使って行われるのが普通である。SAS とSPSS がもっとも有名でよく使われているソフトだし高機能だが高価である。会社などで十分な予算があれば，SAS を使ってもよいであろう。しかし個人が使うには非現実的な値段である。SAS インスティテュートが販売している JMP はそれほど高価ではなく，マウスでデータを見ながら操作できるので取っ付きやすいが，複雑な操作を一度に実行させた
り，大量の計算をさせるにはあまり向いていないように思われる（ただし，バージョン４以降はスクリプト言語をサポートしたので，R ほど柔軟ではないと思うけれども，複雑な操作を予めスクリプトファイルに書いておくという使い方も可能になった）。
また，世間では，Microsoft Excel を使って初歩的な統計解析をすることも多いようである。覚えておくといろいろ便利かもしれないが，解析の中身がブラックボックスだし，
7

この考え方について詳しくは，松山裕「統計解析の２つの原理」，帝京大学研究用コンピュータ室ニュース No.25，pp.54-64，1992 年 7 月 31 日を参照されたい。
8
攪乱要因の値が異なる対象ごとに別々に分析することを層別解析するという。

1.5. 統計解析の道具

5

それがないと何も出来ないという状況では困る。そもそも統計ソフトではないので，不正確な結果がでることもある9 。少量のデータ入力や変換には便利（大量のデータ入力にはデータベースソフトを使うか，html のフォームと cgi を組み合わせて入力環境を作ると良い）だが，Microsoft Excel のマクロ言語などで統計解析をすると，後で何をしたのかわからなくなりやすいし（その点はログを取れないメニュー式のソフトはすべて同じ危険を孕んでいる），ちょっとだけ修正するといったことがやりにくいので，本格的に統計データ解析をするには薦められない。
本書では R を利用した解析方法を説明する。R の最大の利点は，オープンソースであり，かつ拡張性が高い点だと思うが，慣れれば使いやすさもかなり高い水準にある。少な
くとも表計算ソフトや汎用言語を使うよりは，ずっと簡単に統計処理ができる。R についての詳細は，付録を参照されたい。

9

詳細は http://aoki2.si.gunma-u.ac.jp/Hanasi/excel/index.html を参照されたい。

7

第 2 章 統計的な考え方の基礎〜確率と確率
分布
2.1

本章のテーマ

前章で，統計学とは「不確実性を考慮した論理的推論である」と述べた。不確実性とは，絶対にないとも絶対にあるとも決まっていない，ファジーな確率をもっているということである。
しかし，ここで簡単に「確率」と言ってしまったが，さて，改めて確率とは何かと訊かれたら，答えに詰まってしまうのではないだろうか。
そこで，本章では，あらゆる統計的な考え方の基礎となる「確率」というものを徹底的に考えてみることにする。高校数学の復習になってしまうかもしれないが，頭を整理しておくという意味で，役に立つのではないだろうか。このテーマについて，もっと詳しく知りたい方は，伏見 (1987) など，確率論の本を参照されたい。

2.2

確率的な現象を統計的事象と呼ぶ

2.2.1

どういう現象が確率的か？

• サイコロを振ったときの目：振ってみるまでは１から６のどれが出るかはわからない。どの目がでる可能性も等しいから。
• 天気予報：「明日の天気予報は晴れ」といっても「必ず晴れる」とは限らない。「曇ったり雨が降ったりする可能性も少しはあるが，晴れる可能性が高い」ことを意味する。
• 喫煙と肺がんの関係：「タバコを吸うと肺がんになる」という命題は，「タバコを吸った人と吸わなかった人を比べて，肺がんになった人の割合が吸った人の方で高い」という関係を示す。タバコを吸っても肺がんにならない人もいるし，吸わなくても肺がんになる人もいる。
こういう「不確かさ」に潜む法則性（長期間繰り返し観察したり，大集団で観察すると見られる）を考える学問を確率論と呼ぶ。大雑把に言えば，この種の法則性をもつ現象を，「統計的事象」と呼び，統計的事象の確かさの度合いを示すのに便利なモノサシが「確率」である。そこで，「確率」をきちんと定義してみることにする。その前に，いくつかの準備が必要である。

第2章

8

2.3

統計的な考え方の基礎〜確率と確率分布

準備その１：「標本空間」

統計的事象を捉えるには，「どんなことが起こりうるか」という範囲を定めることが必要である。
現象は一般に多面的で，様々な観察方法がある。以下３点によって統計的現象を捉えた，記号化された結果の集合のことを「標本空間」と呼ぶ。

• 観察を行う側面を特定する• 起こりうる結果の範囲を規定する• その範囲内の各結果に記号を対応させる
個々の結果の起こりうる可能性を示す数値（これを「確率」と呼ぶ）を考える。もっとも単純には「どの結果も同程度に起こる」と考える。各結果に対応付けられた確率は０から１までの数値であり，各確率の値の総和は１にならねばならない。たとえば，サイコロの目では，標本空間は｛１，２，３，４，５，６｝である。

2.4

準備その２：「事象」

問題は，個々の結果の可能性よりも，いくつかの結果が複合された集合（これを「事象」と呼ぶ）の起こる可能性がどのくらいか，ということである。つまり，「事象」＝「標本空間の部分集合」である。
サイコロの例では，「目が偶数（丁半博打でいえば丁）」とか「目が５以上」とか「目が１」とかいうことが事象といえる。
ある事象の確率は，その事象に含まれる各結果の生起確率の和である。したがって，各結果の生起確率が等しい場合は，その事象に含まれる結果の場合の数をすべての場合の数で割ると，その事象の確率になる。サイコロの例では，「目が５以上」という事象の確率は，2/6=0.333... である。

2.5

準備その３：余事象・和事象・積事象・排反事象起こりうるすべての結果の集合を「全事象」という。つまり，全事象は標本空間に等しい。
決して起こらない事象を「空事象」といい，空集合 ϕ で表す。
事象 E に対して，E が起こらないという事象を E の「余事象」という。E の余事象を Ē と書く。サイコロの例では，「目が偶数」という事象の余事象は「目が奇数」である。事象 E が起こる確率を P r(E)、余事象の起こる確率を P r(Ē) という記号で書くと P r(E) + P r(Ē) = 1が常に成立する。

2.6. 準備その４：相互排反性と加法定理

１回目が偶数

１回目が偶数(2,1) (2,3) (2,5)(4,1) (4,3) (4,5)(6,1) (6,3) (6,5)

9

２回目が偶数

２回目が偶数(2,2) (2,4) (2,6)(4,2) (4,4) (4,6)(6,2) (6,4) (6,6)(1,1) (1,3) (1,5)(3,1) (3,3) (3,5)(5,1) (5,3) (5,5)(1,2) (3,2) (5,2)(1,4) (3,4) (5,4)(1,6) (3,6) (5,6)＝ １回目も２回目も奇数

図 2.1: サイコロを２回振って「少なくとも１回は偶数の目」の確率を考えるためのベン図
事象 E と F の少なくとも一方が起こるという事象を，E と F の「和事象」といい，E ∪ F
で表す。
事象 E と F の両方が起こるという事象を，E と F の「積事象」といい，E ∩ F で表す。
事象 E が起これば F は決して起こらないとき，E と F は「排反事象」であるという。
E と F が排反事象なら， E ∩ F = ϕ である。

2.6

準備その４：相互排反性と加法定理

サイコロで考えると，１回振ったとき「偶数の目が出る」という事象 E が起こる確率は，
2,4,6 の場合の数３を，1,2,3,4,5,6 の場合の数６で割った値なので P r(E) = 0.5 である。
では，２回振って「少なくとも１回は偶数の目」の確率はどうなるだろうか？ まず，
0.5+0.5=1.0 ではないのは自明である（1.0 ということは，必ずそうなるということだから）。ここで大切なのは，『１回目に「偶数の目が出る」事象 E1 と２回目に「偶数の目が出る」事象 E2 とは排反ではない』ことに注意することである。集合のベン図（図 2.1）から考えると， P r(E1 ∪ E2 ) = P r(E1 ) ＋ P r(E2 ) − P r(E1 ∩ E2 ) であることが直感的にわかる。この式を「加法法則」と呼ぶ。ベン図をよく見ると，「２回とも奇数」の余事象なので，1 − P r(Ē1 ∩ Ē2 ) = 1 − 9/36 = 0.75 と考えてよいこともわかるだろう。因みに，事
象 E と事象 F が排反なら，P r(E1 ∩ E2 ) = 0 なので，P r(E ∪ F ) = P r(E) + P r(F ) という「加法定理」が成立する。

第2章

10

2.7

統計的な考え方の基礎〜確率と確率分布

準備その５：事象の独立性と乗法定理

事象 E が起こったときに事象 F が起こる確率を，「E が起こったときの F の条件付き確率」といい，P r(F |E) と書く。
「E が起こった」うちの「E も F も起こった」場合なので，P r(F |E) = P r(F ∩E)/P r(E)である。
E と F が互いに無関係（＝独立）なら， P r(F |E) = P r(F )。逆にいえば，P r(F ) =P r(F |E) のときに事象 E と事象 F は互いに独立であるという。独立でないとき「従属である」という。
上記２つの式から，E と F が独立なら， P r(F ∩ E) = P r(F ) × P r(E) という「乗法定理」が成立する。

2.8

確率を定義するための４種類のアプローチ

確率を定義するには，以下の４種類のアプローチがある。

• 操作的アプローチ（統計的定義）：数多く試したときの相対度数の極限。たとえば，
事象 E が起こる確率 P r(E) は，N 回試したときに N1 回事象 E が起こるとして，
N1 /N という相対度数が，N を無限大にしたときに漸近する値である。
• 対称的確率：サイコロの場合，６通りの目の出る確率はどれも等しくなければならず，その和は１でなくてはならないので，たとえば１の目が出る確率は 1/6 となる。
限定的かつ循環論法。
• 公理的客観確率：標本空間の各要素を ei として，P r(ei ) ≥ 0 かつ P r(e1 ) + Pr(e2 ) +∑... + P r(eN ) = 1 かつ事象 E が起こる確率 P r(E) = Pr(ei ) を公理とする1 。
• 主観確率：観念的にも二度と繰り返すことのできない事象についての「見込み」を扱う。決定理論において重要。

1

要素は互いに排反であるということ。当然である。

2.9. 大数の法則（操作的接近の根拠）11


公理的客観確率

より厳密に定義するならば，次のようになる（伏見，1987 より）。
確率の議論をする際に考える事象群 A は，次の条件を満たしていなければならない。
【B1】標本空間 Ω が A に含まれている。
【B2】事象 A が A に含まれているならば，A の余事象 Ā も A に含まれている。
( ∞ )∪【B3】A1 , A2 , ... が A に含まれているならば，それらの和事象 A1 ∪ A2 ∪ ... =
Ai も
i=1

A に含まれている。
これら３つの条件をすべて満たす A のことをボレル集合体という。このとき，以下の条件も自然に成立する。
【B4】空集合 ϕ が A に含まれている。
（ϕ は標本空間の余事象なので，【B1】と【B2】より自明である）( ∞ )∩【B5】A1 , A2 , ... が A に含まれているならば，それらの積事象 A1 ∩ A2 ∩ ... =Ai も A
i=1に含まれている。（集合論におけるド・モルガンの法則〔＝積事象の余事象は余事象の和事象に等しい〕と【B2】と【B3】より自明である）
こうしてボレル集合体 A を定めた上で，A に含まれる個々の事象が起こる確率（確率測度ということもある）を定義することができる。
事象 A の起こる確率を P r(A) という記号で書くと，確率 P r(·) は，次の性質をもつものとして定義できる（これが公理的客観確率の厳密な定義である）。
【P1】任意の事象 A の確率は 0 と 1 の間の実数である。
【P2】標本空間全体 Ω の確率は 1 である。
【P3】A1 , A2 , ... が互いに排反な事象であるならば，それらの和事象の確率は，それらの確率の和に等しい（「完全加法性」と呼ばれる）。
まず標本空間を考え，その部分集合の集まりの一種としてボレル集合体を考え，最後にボレル集合体の要素に実数値を対応させる関数で性質【P1】〜【P3】を満たすものとして確率を定めたので，これら３つを組にして (Ω, A, P ) と書き，これを確率空間と呼ぶ。



2.9

大数の法則（操作的接近の根拠）

操作的アプローチが成り立つ様子を，コンピュータを使って調べてみよう。R のプログ
ラムでは次のようになる。

12

第2章

統計的な考え方の基礎〜確率と確率分布



a <- c(100,1000,10000,100000)
op <- par(mfrow=c(2,2))
for (i in 1:4) {y <- as.integer(runif(a[i],1,7))
for (j in c(1:length(y))) { if (y[j]>6) y[j]<-6 }s <- paste("n=",as.integer(a[i]))barplot(table(y),main=s) }par(op)runif(N, min, max) は区間 [min, max] の N 個の一様乱数を発生させる関数である。
min と max が省略されたときは [0,1] と仮定される。[1,7] を as.integer で切り捨てると，
ちょうど 7 の場合はサイコロにない目が出ることになってしまうので，ちょうど 7 の場合のみ強制的に 6 にしている。また，テキストファイルとしてプログラム全体を予め用意し，
source() で読み込んで実行させる場合は問題ないが，R のコンソールで１行ずつ入力していると，２行目の par() を入力した後で，フォーカスがグラフィックウィンドウに移ってしまうので，コンソールウィンドウをクリックして入力可能な状態に戻す必要がある。
付録（152 ページ）に Windows で実行した様子を示した。
このプログラムで試行回数を増やすと，図 2.2 のように，サイコロの特定の目が出る割合
が，ある一定値に近づくことがわかる。「１の目が出る」事象 E1 が起こる確率 P r(E1 ) = pとおけば，N 回サイコロを振って N1 回 1 の目が出たとして，任意の正の小さな数 ε に対して，limN →∞ P r(|N1 /N − p| < ε) = 1 ということで，これをベルヌーイ (Bernoulli) の大数の法則という。

2.10

確率変数・期待値・分散の感覚的把握

確率変数と期待値について，まず感覚的に把握することは重要である。そこで，鈴木(1995) に掲載されている，スロットマシンの例を紹介しよう。
スロットマシンでは，ごくたまに，投入金額の何十倍ものコインが出てくることがある。マシン利用者全員に返ってくる賞金の合計を利用回数で割った値が，１回に期待される賞金額で，これを賭け金で割った値を「賞金還元率」と呼ぶ。言い換えると，１から賞金還元率を引いた値が，賭け事の胴元が儲けると期待される値である。一般に，賞金額がx1 , x2 , x3 , . . . で，その賞金が得られる確率が p1 , p2 , p3 , ... のように設定されたスロットマ
シンの期待賞金額 M は，M = x1 p1 + x2 p2 + x3 p3 + ... で与えられる。このスロットマシンのようなものを確率変数といい，期待賞金を期待値と呼ぶ（厳密には後述）。
期待賞金が同じでも，値動きの幅が小さいと一喜一憂の程度が小さく，逆に幅が大きいと滅多に当たらないが当たったときの喜びは大きくなる。つまり，ギャンブル性は，値動きの幅と，チャンスの大きさに依存している。
各賞金がどれくらい期待賞金から隔たりがあり，それを獲得できる可能性がどれくらいあるのかを見積もれば，ギャンブル性が表せる。

2.11. 確率変数・期待値・分散を数式で書く

13n= 1000

0

0

5

50

10

100

15

150

n= 100

1

2

3

4

5

6

1

2

4

5

6

5

6

n= 100000

0

0

500

5000

1000

10000

1500

15000

n= 10000

3

1

2

3

4

5

6

1

2

3

4

図 2.2: 大数の法則のシミュレーション∑

マシンのギャンブル性を V とおけば，V = （期待値からの隔たり）×（可能性）という値が定義できる。この V を「分散」と呼ぶ。このとき，各賞金額 x と期待値 M の隔たりは，差を二乗した値 D = (x − M )2 で表す。

2.11

確率変数・期待値・分散を数式で書く

一般に，とりうる値の集合 x = (x1 , x2 , x3 , . . .) と，それぞれの値が実現する確率 p =(p1 , p2 , p3 , . . .) が与えられていて，事象として x のうちどれか１つの値のみ実現するとき，(x, p) という１セットを，「確率変数」と呼んで，X で表す。このとき，期待値は∑∑E(X) = µ = xi pi であり，分散は V (X) = σ 2 = (xi − µ)2 pi となる。また，分散の平方根 σ を標準偏差と呼ぶ。
このとき，横軸に x の各々の値を示す位置をとり，その各々に p の各々の可能性を示す
高さの棒を立ててみれば，これが確率変数の「確率分布」ということになる。

14

2.12

第2章

統計的な考え方の基礎〜確率と確率分布

ベルヌーイ試行と２項分布

１回の実験で事象 S か事象 F のどちらかが起こり，しかもそれらが起こる可能性が，P r(S) = p, P r(F ) = 1 − p = q で何回実験しても変わらないとき，これを「ベルヌーイ試行」という。ベルヌーイ試行では，事象 F は事象 S の余事象になっている。
たとえば，不透明な袋に黒い玉と白い玉が 500 個ずつ入っていて，そこから中を見ないで１つの玉を取り出して色を記録して（事象 S は「玉の色が黒」，事象 F は「玉の色が白」）
袋に戻す実験はベルヌーイ試行である（注：袋に戻さないと１回実験するごとに事象の生起確率が変わっていくのでベルヌーイ試行にならない）。
ベルヌーイ試行を n 回行って，S がちょうど k 回起こる確率は，P r(X = k) =n Ck pk q n−kである。n Ck は言うまでもなく n 個のものから k 個を取り出す組み合わせの数である。２項係数と呼ばれる。このような確率変数 X は，「２項分布に従う」といい，X ∼ B(n, p)と表す。E(X) = np, V (X) = npq である。

2.13

２項分布のシミュレーション

正二十面体（各面には１から 20 までの数字が割り振られている）サイコロを n 回 (n =4, 10, 20, 50) 投げたときの，１から４までの目が出る回数を１試行と考えれば，これはベルヌーイ試行である。１回投げたときに１から４までの目が出る確率は 0.2 であるとして（＝母比率を 0.2 とする）
，試行 1000 セットの度数分布を図 2.3 に示す。これを描いた R のプログラムは下記の通りである。
runif(n,1,21) では 21 が出る可能性がゼロではないが，R-1.7.0 以降での乱数生成アル
ゴリズムの標準であるメルセンヌツイスター法では 1/(219937 − 1) しかないので無視して差し支えない。


times <- function(n) {hit <- 0; dice <- as.integer(runif(n,1,21))for (j in 1:n) { if (dice[j]<5) { hit <- hit+1 } }return(hit)}a <- c(4,10,20,50)
op <- par(mfrow=c(2,2))
for (i in 1:4) {nx <- a[i]; y <- c(1:1000)for (k in 1:1000) { y[k] <- times(nx) }barplot(table(y),main=paste("n=",nx)) }par(op)

2.14. ２項分布の理論分布

15

n= 10

0

0

100

50 100

200

200

300

400

300

n= 4

0

1

2

3

0

1

2

4

5

6

7

18

21

n= 50

0

0

20

50

60

100

100

150

200

140

n= 20

3

0 1 2 3 4 5 6 7 8 9

3

5

7

9

12

15

図 2.3: ２項分布のシミュレーション

2.14

２項分布の理論分布

この例で，各 n についての理論的な確率分布は，P r(X = k) =n Ck 0.2k 0.8n−k より図
2.4 のようになる。R のプログラムは下記の通り。


a <- c(4,10,20,50); op <- par(mfrow=c(2,2))
for (i in 1:4) {n <- a[i]; chk <- c(1:(n+1))
for (k in 0:n) { chk[k+1] <- choose(n,k)*(0.2^k)*(0.8^(n-k)) }barplot(chk,col=’red’,main=paste("n=",n)) }par(op)

ただし，R には様々な確率分布についての関数があり，choose(n,k)*(0.2^k)*(0.
8^(n-k)) は dbinom(k,n,0.2) と同値である。このように，確率変数が取りうる各値に対して，その値をとる確率を与える関数を確率密度関数という。値が小さいほうからそれを

第2章

16

統計的な考え方の基礎〜確率と確率分布

n= 10

0.0

0.00

0.1

0.10

0.2

0.20

0.3

0.4

0.30

n= 4

n= 50

0.00

0.00

0.05

0.04

0.10

0.08

0.15

0.12

0.20

n= 20

図 2.4: ２項分布の理論分布全部足した値を与える関数（つまり，その確率変数の標本空間の下限から各値までの確率密度関数の定積分）を分布関数（あるいは確率母関数，累積確率密度関数）と呼ぶ。

2.15

正規分布

n が非常に大きい場合は，２項分布 B(n, p) の確率 P r(X = np + d) という値が，
(

1
d2
√
exp −
2πnpq
2npq

)

で近似できる。一般にこの極限（n を無限大に限りなく近づけた場合）である，((x − µ)2
exp −P r(X = x) = √
2σ 2
2πσ 2
1

)

2.15. 正規分布17という形をもつ確率分布を正規分布と呼び，N (µ, σ 2 ) と書く。
z = (x − µ)/σ と置けば，
(

1
−z 2
P r(Z = z) = √ exp
22π)となる。これを標準正規分布と呼び，N (0, 1) と書く。統計学でよく使われる確率分布であるカイ二乗分布とか t 分布とか F 分布は，正規分布から導かれる分布である。

参考
よく使われる確率密度関数，分布関数，分位点関数について R での表現の一覧を下表にまとめておくので，参考にされたい。

(4)確率密度関数(probability density function)

dchisq(カイ二乗値, 自由度)
dbinom(生起回数, 試行回数, 母比率)
dpois(生起回数, 期待値)
dnorm(Ｚスコア，平均，標準偏差)dlnorm(Ｚスコア，
対数平均，対数標準偏差)dunif(値，最小値，最大値)
dt(t 値，自由度)
df(F 値，第１自由度，第２自由度)

分布の種類

カイ二乗分布
２項分布
ポアソン分布
正規分布 (1)
対数正規分布分布 (2)
一様分布 (3)

t 分布
F 分布

pf(F 値，第１自由度，第２自由度)

pt(t 値，自由度)

punif(値，最小値，最大値)

plnorm(Ｚスコア，対数平均，対数標準偏差)pnorm(Ｚスコア，平均，標準偏差)

ppois(生起回数, 期待値)

pbinom(生起回数, 試行回数, 母比率)

pchisq(カイ二乗値, 自由度)

分布関数＝確率母関数＝累積確率密度関数(distribution function =probability generating function
cumulative probability density function)(4)qf(％, 第１自由度，第２自由度)

qt(％, 自由度)

qunif(％, 最小値，最大値)

qlnorm(％, 対数平均
，対数標準偏差)qnorm(％, 平均，標準偏差)

qpois(％, 期待値)

qbinom(％, 試行回数, 母比率)

qchisq(％, 自由度)

分位点関数
(quartile function)

18
第2章
統計的な考え方の基礎〜確率と確率分布

(1)

(2)

平均と標準偏差は省略可能。省略時は標準正規分布 (平均 0, 標準偏差 1) になる。
対数平均と対数標準偏差は省略可能。省略時は対数平均 0, 対数標準偏差 1 になる。なお，対数平均とは自然対数をとった値の平均，対数標準偏差とは自然対数をとった値の標準偏差をいう。dlnorm(1) は dnorm(0)と等しい。対数をとる以上，当然のことながらゼロを含むデータについては計算できない。
(3)
閉区間である（区間に両端を含む）。省略時は 0 と 1 になる。

個生成する関数は runif(1000,0,1) である。試行回数 100 回，母比率 0.2 の２項分布に従う乱数を 1000 個

R には，これらの分布関数に従う乱数を生成する関数もある。たとえば，0 から 1 までの一様乱数を 1000発生させるには，rbinom(1000,100,0.2) とすれば良い。

19

第 3 章 データの尺度・データの図示

3.1

尺度と変数

尺度とは，研究対象として取り上げる操作的概念を数値として扱うときのモノサシの目
盛り（の種類），言い換えると，「データに何らかの値を対応させる基準」である。尺度は，
名義尺度，順序尺度，間隔尺度，比尺度（比例尺度ともいう）の４つに分類される1
研究対象として取り上げる操作的概念は，変数という形で具体化される。変数は，それが表す尺度の水準によって分類されるが，一般には，名義尺度は定性的変数（カテゴリ変数），順序尺度，間隔尺度，比尺度は定量的変数に相当する。定量的変数には，整数値しかとらない離散変数と，実数値をとりうると考えられる連続変数がある。順序尺度は離散
変数，間隔尺度は離散の場合も連続の場合もあるが連続変数であることが多く，比尺度は連続変数である。定性的変数と離散変数の中には，1 か 0 ０，あるいは 1 か 2，のように，２種類の値しかとらない「２分変数 (dichotomous variable)」や，1 か 2 か 3，のように３種類の値しかとらない「３分変数 (trichotomous variable)」がある。変数がとり得る値の範囲を，その変数の定義域と呼ぶ。変数は，被験者や研究対象のちがいによって，複数の異なったカテゴリあるいは数値に分かれるのでなければ意味がない。たとえば，その研究のすべての対象者が男性であれば，性別という変数を作ることは無意味である。
対応する尺度の種類によって，変数は，図示の仕方も違うし，代表値も違うし，適用できる統計解析手法も違ってくる。尺度についてより詳しく知りたい方には，池田 (1980)
をお薦めする。

3.2

名義尺度 (nominal scale)• 値の差も値の順序も意味をもたず，たんに質的なデータの分類基準を与える。
• たとえば，性別とか職業とか居住地といったものは，名義尺度である。
• 性別という名義尺度をあらわす変数は，たとえば，男性なら M，女性なら F という具合に文字列値をとることもできるが，一般には男性なら 1，女性なら 2 というよ
うに，数値を対応させる。これは，第１章で触れたとおり，コーディング（coding）と呼ばれる手続きである。関心のある事象が，たとえば血液中のヘモグロビン濃度のように，性別ばかりでなく，授乳や妊娠によって影響を受ける場合は，調査対象
1

これは Stevens が提唱した分類だが，絶対尺度を加えて５つとする分類もある。囲み解説参照。

第 3 章 データの尺度・データの図示

20

尺度



より厳密には次の通り。非空の集合 A の要素間にいくつかの関係 R1 , R2 , . . . , Rn が成り立っているときに，これを α =< A, R1 , R2 , . . . , Rn > と書くことにし，数量的な要素からなる非空の集合 B の要素間に関係 S1 , S2 , . . . , Sn が成り立っているときに，これを β =< B, S1 , S2 , . . . , Sn > と書くとき，もし B の中の要素が A の中のすべての要素 x, y(x, y ∈ A) の写像 f (x), f (y) からなり (f (x), f (y) ∈ B)，x と y の間に関係 R1 , R2 , . . . , Rn が成り立っているときに B の中の f (x) と f (y) の間に関係
S1 , S2 , . . . , Sn が成り立っている（これを準同型という）ならば，関係系 α は関係系 βによって “表現される”，という。測定とは，経験的世界の関係系 α が数量的な形式関係系 β によって表現されることをいう。尺度とは，このような < A, B, f > の組である。B の各要素に変換 ϕ を施して得られる集合の要素を考えるとき，それがやはりもとの経験的関係系 α を表現しているなら，変換 ϕ はもとの表現 f に対して許容的であるといい，尺度は，許容的な変換の型が，それ自身のみであるか（絶対尺度），正の実定数との積であるか（比例尺度），正の実定数との積に定数を加えた一次変換であるか（間隔尺度），単調関数なら何でも良いのか（順序尺度），１ 対１対応の写像なら何でも良いのか（名義尺度），によって５種類に分けられる。


者を，男性なら 1，授乳も妊娠もしていない女性は 2，授乳中の女性は 3，妊娠中の女性は 4，という具合に，生殖状態（性別及び授乳，妊娠）という名義尺度をあらわ
す変数にコード化する場合もある2 。

• 名義尺度を表す値にはそれを他の値と識別する意味しかない。統計解析では，クロス
集計表を作って解析する他には，グループ分けや層別に用いられるのが普通である。

ダミー変数



より複雑な統計解析に使う場合は，ダミー変数として値ごとの２分変数に変えることもある。たとえば，居住地という変数の定義域が｛東京，長野，山口｝であれば，この変数の尺度は名義尺度である。東京を 1，長野を 2，山口を 3 と数値を割り振っても，名義尺度であるには違いない。しかし，居住地という変数を無くして，代わりに，東京に住んでいるか（1）いないか（0），長野に住んでいるか（1）いないか（0），という２つのダミー変数を導入することによって，同じ情報を表現することができる。
ダミー変数を平均すると，1 に当てはまるケースの割合になる性質をもつために，ダミー変数は多くの統計手法の対象になりうる。


2
このようにコーディングのやり方は一通りに限ったものではなく，分析の目的によって多様である。場
合によっては再コーディングが必要となることもある。ここで注意すべきは，性別という名義尺度と，生殖状態という名義尺度は，別の尺度だということである。しかし，男性を M，女性を F と表しても，男性を 1，
女性を 2 と表しても，１対１変換である限り，それは同じ性別という名義尺度である。

3.3. 順序尺度 (ordinal scale)

3.3

21

順序尺度 (ordinal scale)• 値の差には意味がないが，値の順序には意味があるような尺度。
• たとえば，鉱物の強度，地震の震度，尿検査でのタンパクの検出の程度について+++，++，+，±，− で表される尺度3 ，
「好き」
「普通」
「嫌い」に 3, 2, 1 点の得点を割り付けた尺度などは，順序尺度である。
• 順序尺度を表す値は，順序の情報だけに意味があるので，変数の定義域が 3, 2, 1 であろうと，15, 3.14159265358979, 1 であろうと同じ意味をもつ。しかし，順序の情報としては，1 から連続した整数値を割り当てるのが通例であり（同順位がある場合の扱いも何通りか提案されている），その場合に使えるノンパラメトリックな統計手
4法が数多く開発されている 。順序尺度を表す変数の平均5 を求めることには意味がないが，中央値6 には意味がある。
• ただし，もっともらしい仮定を導入して間隔尺度であるとみなし，平均や相関を計算することも多い。たとえば，
「好き」
「普通」
「嫌い」の 3, 2, 1 とか，「まったくその通り」「まあそう思う」「どちらともいえない」「たぶん違うと思う」「絶対に違う」の 5, 4, 3, 2, 1 などは本来は順序尺度なのだが，等間隔であるという仮定をおいて間隔尺度として分析される場合が多い。質問紙調査などで，いくつかの質問から得られるこのような得点の合計によって何らかの傾向を表す合成得点を得ることが頻繁に行われるが，得点を合計する，という操作は各質問への回答がすべて等間隔であるという仮定を置いているわけである。合成得点が示す尺度の信頼性を調べるためにクロンバックのα係数という統計量がよく使われるが，α係数の計算には平均や分散が使われていることからも，それが間隔尺度扱いされていることがわかる。

3.4

間隔尺度 (interval scale)• 値の差に意味があるが，ゼロに意味がない尺度。7• たとえば，摂氏温度や西暦年は，間隔尺度である。気温が摂氏 30 度であることは，
摂氏 10 度より摂氏 20 度分，温度が高いことを意味するが，３倍高いことは意味しない。しかし，平年なら最高気温が摂氏 20 度であるようなときに摂氏 30 度であれ
ば，摂氏 25 度であるのに比べて，平年との差が２倍あるとは言って良い。
3+の数を数値として，たとえば 3, 2, 1, 0.5, 0 とコーディングしても，3 と 2 の差と 2 と 1 の差が等しい
わけではなく，3 は 2 よりも尿タンパクが高濃度に検出され，2 は 1 よりも高濃度だという順序にしか意味がないから，順序尺度である
4
ノンパラメトリックとは分析の際に母数を仮定しないという意味であり，順位相関や順位和検定などがその例である。詳しくは第 9 章を参照されたい。
5
次章で説明するが，ここでは，全部の値を足し合わせて値の数で割ったもの，と普通に考えておけば良い。
6
これも次章で説明するが，ここでは，小さいほうから順番に値を並べて，ちょうど中央にくるものと考えれば良い
7
より正確に言えば，値の比に意味がない尺度ということになる。ただし，値の差の比には意味がある。

第 3 章 データの尺度・データの図示

22• 間隔尺度をもつ変数に対しては，平均や相関係数など，かなり多くの統計量が計算できるが，意味をもたない統計量もある。

間隔尺度と変動係数

たとえば，標準偏差を平均で割った値を％表示したものを変動係数というが，身長という変数でも，普通に cm 単位や m 単位やフィート単位で表した比尺度なら変動係数に意味があるが，100cm を基準とした cm 単位や，170cm を基準とした 2cm 単位のように間隔尺度にしてしまった場合の変動係数には意味がない。変動係数は，分布の位置に対する分布のばらつきの相対的な大きさを意味するので，分布の位置がゼロに対して固定されていないと意味がなくなってしまうのである。


3.5



比尺度 (ratio scale)• 値の差に意味があり，かつゼロに意味がある尺度。8• たとえば，cm 単位で表した身長とか，kg 単位で表した体重といったものは，比尺度である。予算額といったものも，0 円に意味がある以上，比尺度である9 。

3.6

データの図示データの大局的性質を把握するには，図示するのが便利である。人間の視覚的認識能力
は，パターン認識に関してはコンピュータより遥かに優れていると言われているから，それを生かさない手はない。
変数が表す尺度の種類によって，さまざまな図示の方法があるので，それをざっと示すことにする。

3.6.1

離散変数の場合• 度数分布図：値ごとの頻度を縦棒として，異なる値ごとに，この縦棒を横に並べた図である。離散変数の名前を X とすれば，R では barplot(table(X)) で描画される。
• 積み上げ棒グラフ：値ごとの頻度の縦棒を積み上げた図である。R では

8より正確に言えば，値の比にも意味がある尺度ということになる。
予算額には 0 円やマイナスが普通にありえるし，何%成長とか何%削減という扱いより絶対値の増減が問題にされる場合が多いので間隔尺度とすべきという見方もありうる。
9

3.6. データの図示

23





fx <- table(X)barplot(matrix(fx,NROW(fx)),beside=F)

で描画される。

• 帯グラフ：横棒を全体を 100 ％として各値の割合に従って区切って塗り分けた図である。R ではpx <- table(X)/NROW(X)barplot(matrix(px,NROW(px)),horiz=T,beside=F)

で描画される。

• 円グラフ（ドーナツグラフ・パイチャート）：円全体を 100 ％として，各値の割合に従って中心から区切り線を引き，塗り分けた図である。ドーナツグラフでは２つの同心円にして，内側の円内を空白にする。R では pie() 関数を用いる。R-1.5 以前
は piechart() 関数だったが，置き換えられた。また，マスメディアの人が好んで使う立体円グラフも plotrix パッケージの pie3D() 関数を使うと簡単に描けるが，錯覚を誘うだけなのでデータ解析をする際に使ってはいけない。

離散変数の図示の例

20 組の夫婦について，その子ども数が，2, 3, 1, 0, 3, 2, 2, 1, 1, 1, 2, 2, 1, 3, 2, 1, 0, 2,
1, 1 だった場合，R で次のようにプログラムすれば

child <- c(2, 3, 1, 0, 3, 2, 2, 1, 1, 1, 2, 2, 1, 3, 2, 1, 0, 2, 1, 1)
fc <- table(child); pc <- fc/sum(fc); op <- par(mfrow=c(2,2))
barplot(fc, main="frequency bar plot")barplot(matrix(fc,NROW(fc)), beside=F,
main="cumulative bar plot", col=rainbow(NROW(fc)))
barplot(matrix(pc,NROW(pc)), horiz=T, beside=F,
main="OBI-graph", col=rainbow(NROW(pc)))
pie(pc, main="Pie chart", col=rainbow(NROW(pc)))par(op)

図 3.1 のように表示ができる。

3.6.2

連続変数の場合• ヒストグラム：変数値を適当に区切って度数分布を求め，分布の様子を見るものである。R では hist() 関数を用いる。

第 3 章 データの尺度・データの図示

24

cumulative bar plot

5
0

0

2

4

10

6

15

8

20

frequency bar plot

0

1

2

3

OBI−graph

Pie chart

1

0

3
2

0.0

0.2

0.4

0.6

0.8

1.0

図 3.1: 離散変数の図示の例

3.6. データの図示

25• 正規確率プロット：連続変数が正規分布しているかどうかを見るものである（正規分布に当てはまっていれば点が直線上に並ぶ）。R では qqnorm() 関数を用いる。
• 幹葉表示 (stem and leaf plot)：大体の概数（整数区切りとか 5 の倍数とか 10 の倍数にすることが多い）を縦に並べて幹とし，それぞれの概数に相当する値の細かい部分を葉として横に並べて作成する図。R では stem() 関数を用いる。
• 箱ヒゲ図 (box and whisker plot)：データを小さい方から順番に並べて，ちょうど真中にくる値を中央値 (median) といい，小さい方から 1/4 の位置の値を第１四分位(first quartile)，大きいほうから 1/4 の位置の値を第３四分位 (third quartile) という。縦軸に変数値をとって，第１四分位を下に，第３四分位を上にした箱を書き，中央値の位置にも線を引いて，さらに第１四分位と第３四分位の差（四分位範囲）を1.5 倍した線分をヒゲとして第１四分位の下と第３四分位の上に伸ばし，ヒゲの先より外れた値を外れ値として○をプロットした図である。カテゴリによって層別した
箱ヒゲ図を横に並べて描くと，大体の分布の様子と外れ値の様子が同時に比較できるので便利である。R では boxplot() 関数を用いる。
• レーダーチャート：複数の連続変数を中心点から放射状に数直線としてとり，デー
タ点をつないで表される図である。それら複数の変数によって特徴付けられる性質のバランスをみるのに役立つ。１つのケースについて１つのレーダーチャートができるので，他のケースと比較するには，並べて描画するか，重ね描きする。R ではstars() 関数を用いる10 。
• 散布図 (scatter plot)：２つの連続変数の関係を二次元の平面上の点として示した図である。R では plot() 関数を用いる。異なる群ごとに別々のプロットをしたい場合はplot() の pch オプションで塗り分けたり，points() 関数を使って重ね打ちしたりできる。点ごとに異なる情報を示したい場合は symbols() 関数を用いることができる
し，複数の連続変数間の関係を調べるために，重ね描きしたい場合は matplot() 関数と matpoints() 関数を，別々のグラフとして並べて同時に示したい場合は pairs()関数を用いることができる。データ点に文字列を付記したい場合は text() 関数が使えるし，マウスで選んだデータ点にだけ文字列を付記したい場合は identify()関数が使える。

連続変数の図示の例
平成元年３月９日から４月２日の東京地区の最低気温（℃）が次のようであったとする。
3.2, 3.1, 5.1, 4.8, 8.3, 9.8, 8.3, 6.6, 5.1, 3.8, 5.2, 5.6, 6.5, 5.7, 5.7, 7.4, 6.2, 7.0, 6.7, 5.7,
6.2, 6.0, 8.8, 10.7, 8.5
このとき，次の R のプログラム10

ただし，plotrix ライブラリの radial.plot() 関数，または著者の web サイトで公開している fmsb ライブ
ラリに含まれている radarchart() 関数の方がきれいなレーダーチャートを描くことができる。

第 3 章 データの尺度・データの図示

26




prec <- c(3.2, 3.1, 5.1, 4.8, 8.3, 9.8, 8.3, 6.6, 5.1, 3.8,
5.2, 5.6, 6.5, 5.7, 5.7, 7.4, 6.2, 7.0, 6.7, 5.7, 6.2,
6.0, 8.8, 10.7, 8.5)
op <- par(mfrow=c(2,2))
hist(prec, main="Histogram")
qqnorm(prec, main="Normal QQplot")
boxplot(prec,main="Box and whisker plot")stem(prec,2)par(op)を使えば，図 3.2 のような図示ができる11 。

0

4

2

6

8

Sample Quantiles

64Frequency

10

Normal QQplot

8

Histgram

4

6

8

10

prec

-2

-1

0

1

2

Theoretical Quantiles

Box and whisker plot

4

6

8

10

Stem and leaf plot
3 | 128
4 | 8
5 | 1126777
6 | 022567
7 | 04
8 | 3358
9 | 8
10 | 7

図 3.2: 連続変数の図示の例

11

ただし，右下の幹葉表示はテキスト表示しかされないので，それをコピーして OpenOﬃce.org の draw
上でグラフィック画面に貼り付けた。

27

第 4 章 データを１つの値にまとめる（記述統
計量）
4.1

データを記述する２つの方法

データを１つの値にまとめるとは，分布の特徴を１つの値で代表させる，ということである。このような値を，代表値と呼ぶことにしよう1 。代表値は，記述統計量 (descriptive
statistics) の１つである。
分布の特徴を代表させる値としては，誰でも思いつくだろうが，２つが考えられる。分布の位置と，分布の広がりである。たとえば，正規分布だったら，N (µ, σ 2 ) という形で表されるように，平均 µ（ミューと発音する），分散 σ 2 という２つの値によって分布が決まるわけだが，この場合，µ が分布の位置を決める情報で，σ 2 が分布の広がりを決める情報である。
2 と考えられ，データか
一般に，調査データは，仮想的な母集団からの標本（サンプル）
ら計算される代表値は，母集団での分布の位置や広がりを推定するために使われる。その意味で，これらの代表値は母数（parameter）と呼ばれる。分布の位置を決める母数を位
置母数 (location parameter)，分布の広がりを決める母数を尺度母数 (scale parameter) と呼ぶ。
分布の位置を示す代表値は central tendency（中心傾向）と呼ばれ，分布の広がりを示
す代表値は variability（ばらつき）と呼ばれる。
本章で用いる例題は，Grimm (1993) の第３章と第４章から引用してアレンジしたものが多い。代表値のような基礎的なことについてきちんと説明された教科書は意外に少ない
中で，Grimm の本は丁寧に書かれていて，名著といってよい。英文も平易なのでお薦め
する。

4.2

中心傾向（Central Tendency）

4.2.1

平均（mean）

平均は，分布の位置を示す指標として，もっとも頻繁に用いられる。実験的仮説検証のためにデザインされた式の中でも，頻繁に用いられる。記述的な指標の１つとして，平1

たんに代表値と言った場合は分布の位置を指すことが多いが，ここではもう少し広い意味で用いる。
サンプリング理論については，統計学というよりは調査法や実験計画法の範疇になるので，それらの成書を参照されたい。
2

第 4 章 データを１つの値にまとめる（記述統計量）

28

均は，いくつかの利点と欠点をもっている。日常生活の中でも平均をとるという操作は普通に行われるから説明不要かもしれないが，数式で書くと以下の通りである。
母集団の平均 µ）は，
∑
X
µ=
N
∑

である。X はその分布における個々の値であり，N は値の総数である。 （シグマと発音∑する）は，一群の値の和を求める記号である。すなわち， X = X1 + X2 + X3 + ... + XNである。
標本についての平均を求める式も，母集団についての式と同一である。ただし，数式で使う記号が若干異なっている3 。標本平均 X̄ （エックスバーと発音する）は，
∑

X̄ =

X
n

である。n は，もちろん標本サイズである4 。

例題１



値が｛5, 8, 10, 11, 12｝である母集団の平均はいくらか？


値が５つしかない母集団というものは想像しにくいかもしれないが，µ = (5 + 8 + 10 +11 + 12)/5 = 9.2 であることは，小学生でもわかるだろう。R で平均を計算するには，
mean() という関数を使う。たとえば，例題１の解を得るには，mean(c(5,8,10,11,12))とすればよい。
さて，本章で取り上げる中心傾向には，平均の他に，あと２つ，中央値 (median) と最頻値 (mode) がある。どれも分布の中心の位置がどの辺りかを説明するものだが，中心性(centrality) へのアプローチが異なっている。
平均は，中心性を示すために，どんなやり方をとっているのだろうか？ たまたまその値が平均と同じであったという希な値を除けば，各々の値は，平均からある距離をもって存在する。言い換えると，各々の値は，平均からある程度の量，ばらついている。ある値が平均から離れている程度は，単純に X − X̄ である。この，平均からの距離を，偏差（あるいは誤差）といい，x という記号で書く。つまり，x = X − X̄ である。次の例を見ればわかるように，偏差は正の値も負の値もとるが，その合計は 0 になるという特徴をもつ。
どんな形をしたどんな平均のどんなに標本サイズが大きいデータだろうと，偏差の和は常∑∑に 0 である。式で書くと， x = (X − X̄) = 0 ということである。言い方を変えると，偏差の和が 0 になるように，平均によって調整が行われたと見ることもできる。平均は，
この意味で，分布の中心であるといえる。

3

一般に母集団についての統計量を示す記号にはギリシャ文字を使うことになっている。
記号について注記しておくと，集合論では X̄ は集合 X の補集合の意味で使われるが，代数では確率変数 X の標本平均が X̄ で表されるということである。同じような記号が別の意味で使われるので混乱しない
ように注意されたい。補集合は X C という表記がなされる場合も多いようである。標本平均は X̄ と表すのが普通である。
4

4.2. 中心傾向（Central Tendency）

29


例題２



標本 A が｛2, 4, 6, 8, 10｝という５つのデータからなり，標本 B が｛2, 4, 6, 8, 30｝という５つのデータからなるとき，A の標本平均は 6 であるから，それぞれの値の偏差は｛−4, −2, 0, 2, 4｝となり，その合計は 0 である。B についても確かめよ。



標本平均は (2+4+6+8+30)/5=10 で，それぞれの値の偏差は｛−8, −6, −4, −2, 20｝となるので，確かにその合計は 0 となる。分布 B は分布 A よりも平均が大きい。

4.2.2

重み付き平均 (weighted mean)

重み付き平均は，各々の値にある重みをかけて合計したものを，重みの合計で割った値である。式で書くと，X̄ =n1 (X̄1 ) + n2 (X̄2 ) + ... + nn (X̄n )n1 + n2 + ... + nn

ここでは標本サイズが異なる複数の平均の総平均 (grand mean) を計算する場合について説明する。
Ｙ大学の３つの学部の学生が TOEIC（Test of English for International Communication：
国際コミュニケーションのための英語テスト）を受験したところ，学部ごとの得点の平均がＡ学部 440 点, Ｂ学部 470 点, Ｃ学部 410 点だったとしよう。これらの値からＹ大学全体の TOEIC の平均点を求めたいときは，どうしたらよいだろうか？ 単純にこれらを足して３で割った 440 点としていいのだろうか？
大学全体としての TOEIC の平均は，３つの学部のどこに所属する学生であるかにかか
わりなく，全員の得点を足して，その人数で割って得るべきものである。そうだとすれば，
単純に３つの値を足して３で割るのでは具合が悪い。各学部の人数は異なるので，人数の多い学部の得点の方が，総平均には余計に影響するだろうからだ。こういう場合は，各学部の人数をそれぞれの平均点に掛けて（つまり各学部の得点総和に戻して）足し合わせ，
それを人数の和（つまり大学全体の人数）で割れば良いことが直感的にわかるだろう。これはまた，各学部の人数の大学全体の人数に占める割合を重みとして各学部の得点に掛け，それを足し合わせることと同値でもある。

例題３



TOEIC の平均点が｛440, 470, 410｝であった３つの学部それぞれの人数が｛200 人，
100 人，300 人｝であったなら，この大学の TOEIC の総平均は何点か？


200
100
300
× 440 +
× 470 +
× 410 = 430(200 + 100 + 300)
(200 + 100 + 300)
(200 + 100 + 300)
より，430 点となる。R で実行するときは，

第 4 章 データを１つの値にまとめる（記述統計量）

30




p <- c(440,470,410)n <- c(200,100,300)
sum(p*n)/sum(n)とするとよい。なお，最後の行は sum(p*n/sum(n)) でもよい。

練習問題



３つの年齢群ごとの平均血圧が下の表のように記録されているとき，すべての年齢群をプールした，血圧の総平均を求めよa 。

収縮期血圧 (mmHg)
拡張期血圧 (mmHg)
人数

20-39
118
70
13

年齢
40-59

128
78
12

60+
145
82
16

a

ただし，血圧の意味合いは年齢によって変わってくるからこそ，ふつう敢えて年齢群別に平均を出すわけだから，年齢群をプールした血圧の平均を出すことには，あまり意味はない。ここは単なる計算練習だと思って欲しい。また，ここで述べたような意味での重み付き平均を計算する必要があるのは，集計済みの二次資料から指標値を再計算するような場合なので，生データがあれば生データから計算すれば済むことである。



収縮期血圧の総平均は，(118 × 13 + 128 × 12 + 145 × 16)/(13 + 12 + 16) = 131 より，131
mmHg となり，拡張期血圧の平均は，(70 × 13 + 78 × 12 + 82 × 16)/(13 + 12 + 16) = 77
より，77 mmHg となる。これも R で実行するときは，例題３と同様に，
SBP <- c(118,128,145)
DBP <- c(70,78,82)
n <- c(13,12,16)
gSBP <- sum(SBP*n)/sum(n)gDBP <- sum(DBP*n)/sum(n)cat("SBP 総平均=",gSBP,", DBP 総平均=",gDBP,"\n")とするとわかりやすい。

4.2.3

度数分布の平均度数分布の平均も，重み付き平均に似た概念である。離散変数の平均の場合に，度数分布を出して，各値にその度数を掛けたものの和を度数の総和で割ることで得られる。これは，言い換えると，度数で重み付けした平均である。
∑
Xf
µ= ∑

f

という式になる。

4.2. 中心傾向（Central Tendency）

31

平均は，例題２を見ればわかるように，少数の極端な値の影響を受けやすいという欠点をもつ。１つだけ極端な値があったからといって，あまりに値がそちらに引っ張られてしまっては，分布の位置を代表する値としては具合が良くない5 。

例題４



Ａ大学の学長選挙で，Ｂ氏が，Ａ大学の研究水準を上げるという公約を掲げて当選したとしよう。４年後の次の選挙のときに，Ｂ氏は自分が公約を果たしたと宣伝したい
わけだが，彼の定義によると，大学の研究水準が上がるとは，教員の論文数の平均が増えるということである。ところで，Ｂ氏が当選した当時の教員数は 100 人いて，そのうち発表論文数が 5 本の人が 80 人，10 本の人が 15 人，30 本の人が 5 人いたとしよう。この時点での平均論文数は (5 × 80 + 10 × 15 + 30 × 5)/100 = 7 なので７本である。その後４年間誰も１本も論文を書かなかったとしても，２年目にたまたま 2330
本の論文をもつ教員が１人着任したら，何が起こるかを考えてみよう。


平均論文数は (5 × 80 + 10 × 15 + 30 × 5 + 2330)/101 = 30 から，30 本となってしまう。
そこで，Ｂ氏は，大威張りで，任期中に平均論文数は４倍以上に増えたと報告することができる。元々Ａ大学にいた教員の論文数はまったく変わらず，したがってたいした研究環境を提供できていないと思われるにもかかわらず，である。Ｂ氏が公約を果たしたと宣伝しても嘘ではないことになるが，何か妙である。
例題４は，極端に高い値が，平均を高く押し上げてしまったという例である。分布の位置の指標としては，極端な外れ値に対してこんなに敏感であっては具合が良くない。こういう極端な値が含まれている歪んだ分布の場合には，平均という指標は誤解を生んでしまうので，相応しくないことになる。

4.2.4

中央値（median）

そこで登場するのが中央値である。中央値は，全体の半分がその値より小さく，半分がその値より大きい，という意味で，分布の中央である。言い換えると，中央値は，頻度ある
いは値の数に基づいて分布を２つに等分割する値である。中央値を求めるには式は使わな
い（決まった手続き＝アルゴリズムとして，並べかえ (sorting) は必要）
。極端な外れ値の影響を受けにくい（言い換えると，外れ値に対して頑健である）。歪んだ分布に対するもっとも重要な central tendency の指標が中央値である。

例題５次の分布の中央値は何か？


｛1, 4, 6, 8, 40, 50, 58, 60, 62｝

この場合，小さい方から数えても大きいほうから数えても５番目の値である 40 が中央値であることは自明である。次に小さい値である 50 との距離や次に大きい値である 8 と5その１つが，実は測定ミスであったり，異質な対象だったりして，外れ値である場合もあり，その場合は平均の計算に入れないこともある。あまり機械的にやるのは良くないが，ネイマンの外れ値の検定を使うのも一案である。

32

第 4 章 データを１つの値にまとめる（記述統計量）の距離は中央値を考える際には無関係である。中央値を求めるには，値を小さい順に並べ
かえて6 ，ちょうど真中に位置する値を探せばよい。この意味で，中央値は値の順序だけに感受性をもつ（＝ rank sensitive である）といえる7 。
R で中央値を計算するには，median() という関数を使う。たとえば，例題５の解を得るには，median(c(1, 4, 6, 8, 40, 50, 58, 60, 62)) とすればよい。

例題６



次の標本分布の平均と中央値は何か？

｛2, 4, 7, 9, 12, 15, 17｝





Rで





x <- c(2,4,7,9,12,15,17)mean(x)median(x)とすると，平均は約 9.43，中央値は 9 であるとわかる。

例題７



次の標本分布の平均と中央値は何か？

｛2, 4, 7, 9, 12, 15, 17, 46, 54｝

例題６と同様に計算すると，平均は 18.4，中央値は 12 となる。例題６に比べると，右側に２つの極端な値を加えただけだが，平均はほぼ倍増してしまう。それに対して，中央
値は１つ右側の値に移るだけであり，中央値の方が極端な値が入ることに対して頑健といえる。
ところで，値の数が奇数だったら，このように順番が真中というのは簡単に決められるが，値が偶数個だったらどうするのだろうか？

例題８次の分布の中央値は何か？


｛4, 6, 9, 10, 11, 12｝

中央値が 9 と 10 の間にくることは明らかである。そこで，普通は 9 と 10 を平均した 9.5を中央値として使うことになっている。もっとも，本来整数値しかとらないような値について，中央値や平均として小数値を提示することに意味があるかどうかは問題である。たとえば，例題８の分布が，ある地方の水泳プールで６日間観察したときの，１日当たりの飛び込みの回数を示すものだとしよう。中央値が 9.5 ということになると，9.5 回の飛び込みというのは何を表すのか？ 半分だけ飛び込むということはありえない。つまり実体はない，単なる指標値だということになる。同様に平均についても，世帯当たりの平均子
ども数が 2.4 人とかいうとき，0.4 人の子どもは実体としてはありえない。しかし，分布の位置を示す指標としては有用なので，便宜的に使っているのである。
6
値の数が少ない場合には，手作業で並べかえを行えばよいが，大量のデータを手作業で並べかえるのは大変である。コンピュータのプログラムに値を並べかえさせるアルゴリズムには，単純ソート，バブルソート，
シェルソート，クイックソートなどがある。
7
平均は値の大きさによって変わるので，value sensitive であるといえる。

4.2. 中心傾向（Central Tendency）

33


例題９

次の分布の中央値は何か？



｛7, 7, 7, 8, 8, 8, 9, 9, 10, 10｝



例題 10

次の分布の中央値は何か？



｛7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 10, 10｝

このように同順位の値（tie という）がある場合は，事態はやや複雑である。順番で言えば，例題９でも例題 10 でも中央値は 8 と 8 の間に来るはずだから，8 と思うであろう。
実際，SAS，SPSS などの有名ソフトを初めとして，Microsoft Excel や R に至るまで，ほぼすべての統計ソフトは，8 という答えを出してくるし，一般にはそれで問題ない。

同順位の値の注意

ただし，厳密に考えると，簡単に 8 と言えない。Grimm (1993) が指摘するように，分布の値を示す数値は，間隔の中点と考えるべきだからである。普通はそこまで厳密に考える必要はないが，参考までに説明しておこう。
要点は，『それぞれの値を，表示単位によって規定される区間の中点と考え，同順位の値があるときは，それが区間内に均等に散らばると考える』ということである。これは直感的に考えても合理的であろう。
たとえば，1 1 1 2 2 2 3 3 3 という，表示単位１のデータがあるとき，真の値がそれぞれ等間隔に散らばっているならば，0.67 1.00 1.33 1.67 2.00 2.33 2.67 3.00 3.33 と考えるのが自然である。これなら，それぞれの値が 1/3 間隔になっているし，中点１で示される値 0.67 1.00
1.33 の平均は１となるので，どこにも矛盾がない。
この例から帰納的に考えて，その区間の下限の値を L とし，階級幅を h とし，同順位の個数
を fm 個とし，１つ下の区間までに F 個のサンプルがあるとすれば，F+1 番目, F+2 番目, ...,
F+fm 番目 の値はそれぞれ，L+1/(2fm)*h, L+3/(2fm)*h, ..., L+(2fm-1)/(2fm)*h となる。
つまり，F+x 番目の値は，L+(2x-1)/(2fm)*h となる。
この式から例題９の３つの 8 の真の値がいくつになるか計算すると，
４番 ５番 ６番
7.67 8.00 8.33となって，５番と６番の間は 8.17 となる。
同じく例題 10 で真の値を計算すると，｛6.67 7.00 7.33 7.60 7.80 8.00 8.20 8.40 8.75 9.25 9.75
10.25｝となるので，中央値は 8.00 と 8.20 の間で 8.10 となる。｛1 1 2 2 3 3｝という表示単位１のデータでは，真の値は｛0.75 1.25 1.75 2.25 2.75 3.25｝と推定されるので，中央値は 1.75と 2.25 の平均で 2 となる。


さて，もう１歩進めて，度数分布表から中央値を計算する場合を考えてみよう。ちょっと複雑だが，理解するのは難しくない。下表は，年齢階級ごとの人数の分布であり，これから年齢の中央値を求める方法を考えることにする。

第 4 章 データを１つの値にまとめる（記述統計量）

34

年齢階級

度数

累積度数

45-49
40-44
35-39
30-34
25-29
20-24
15-19
10-14
5-9
0-4

1
2
3
6
8
17
26
11
2
0

76
75
73
70
64
56
39
13
2
0

まず，累積度数の最大の数をみる（つまり総数をみる）。この例では 76 である。中央値の8
順位は (76 + 1)/2 = 38.5 位となる 。38.5 番目の値を含む年齢階級を探すと，15–19 である。そこで，単純に統計ソフトが出してくる中央値は 15-19 歳となる9 。
5 歳の階級幅の中のどこに中央値があるのかというところまで推定しようとなると，もう少し厳密に考えねばならなくなる。つまり，Grimm 流に 15-19 歳の 26 人の値が均等に散らばっていると考えると，｛14.5+5/52, 14.5+15/52, 14.5+25/52, ..., 14.5+245/52, 14.5+255/52｝となるから，38.5 位の値は，最後の２つの平均をとって，14.5 + (245 + 255)/104 ≈ 19.3
から約 19.3 歳となる。
このやり方は，中央値が正確な分布の中央（少なくともその近似）になっているという特性を強めるものである。式で書けば，中央値は，[

N/2 − F
L+
·h
fm

]

となる。ここで，L は中央順位を含む階級の正確な下限，F は中央順位を含む階級より下の値の総度数，fm は中央順位を含む階級の度数，h は階級幅である。
この式は以下のように導かれる。

1. サンプル数 N が奇数のとき，(N + 1)/2 番目が中央値なので，F + x = (N + 1)/2
を x について解いて L + (2x − 1)/(2fm ) ∗ h に代入すれば，L + (N + 1 − 2F − 1)/(2fm ) ∗ h = L + (N/2 − F )/fm ∗ hとなる。

8Grimm (1993) には 76 を 2 で割って 38 番目の値が中央値であると書かれているが，論理的整合性を欠く。もし総数を 2 で割った順位の値が中央値だとすると，例題８の答えが下から 3 番目で 9 ということになってしまう。総数に 1 を加えて 2 で割る方が論理的整合性が高い。
9繰り返すが，普通はこの解で問題ない。

4.2. 中心傾向（Central Tendency）

35

2. N が偶数のとき，中央値は N/2 番目と N/2 + 1 番目の間なので，F + x = N/2 とF + x = N/2 + 1 を x について解いて L + (2x − 1)/(2fm ) ∗ h に代入した
L + (2(N/2 − F ) − 1)h/(2fm )とL + (2(N/2 + 1 − F ) − 1)h/(2fm )の平均となって，やはりL + (N/2 − F )/fm ∗ h
で良いことになる。

4.2.5

最頻値（Mode）

残る最頻値は，きわめて単純である。もっとも度数が多い値を探すだけである。もっとも数が多い値が，もっとも典型的だと考えるわけである。データを見ると，最頻値が２つある場合があり，この場合は分布が二峰性 (bimodal) だという10 。すべての値の出現頻度が等しい場合は，最頻値は存在しない。
分布の形によって，平均，中央値，最頻値の関係は変わってくる。歪んでいない分布な
らば，ばらつきの程度によらず，これら３つの値は一致する。二峰性だと最頻値は２つに分かれるが，平均と中央値はその間に入るのが普通である。左すそを引いた分布では，平均がもっとも小さく，中央値が次で，最頻値がもっとも大きくなる。右すそを引いた分布では逆になる。
平均は，(1) 分布のすべての値を考慮した値である，(2) 同じ母集団からサンプリングを繰り返した場合に一定の値となる，(3) 多くの統計量や検定で使われている，という特長をもつ。標本調査値から母集団の因果関係を推論したい場合に，もっとも普通に使われる。
しかし，(1) 極端な外れ値の影響を受けやすい，(2) 打ち切りのある分布では代表性を失う場合がある11 ，という欠点があり，外れ値があったり打ち切りがあったりする分布では位置の指標として中央値の方が優れている。最頻値は，標本をとったときの偶然性の影響を受けやすいし，もっとも頻度が高い値以外の情報はまったく使われない。しかし，試験の点で何点の人が多かったかを見たい場合は最頻値が役に立つし，名義尺度については最頻値しか使えない。
ここで上げた３つの他に，幾何平均 (geometric mean) や調和平均 (harmonic mean) も，分布の位置の指標として使われることがある。幾何平均はデータの積の累乗根（対数を10しかし隣り合う２つの値がともに最頻値である場合は二峰性だとはいわず，離れた２つの値が最頻値ある
いはそれに近い場合，つまり度数分布やヒストグラムの山が２つある場合に，分布が二峰性だといい，２つの異なる分布が混ざっていると考えるのが普通である。
11
氷水で痛みがとれるまでにかかる時間とか，年収とか。無限に観察を続けるわけにはいかないし，年収は下限がゼロで上限はビル・ゲイツのそれのように極端に高い値があるから右すそを長く引いた分布になる。
平均年収を出している統計表を見るときは注意が必要である。年収の平均的な水準は中央値で表示されるべきである。

第 4 章 データを１つの値にまとめる（記述統計量）

36

とって平均を出して元に戻すことと同値），調和平均はデータの逆数の平均の逆数であり，どちらもゼロを含むデータには使えない。大きな外れ値の影響を受けにくいという利点があり，幾何平均は，とくにデータの分布が対数正規分布に近い場合によく用いられる。

4.3

ばらつき（Variability）

分布を特徴付けるには，分布の位置だけではなく，分布の広がり具合の情報も必要である。たとえば，図 4.1 の２つの分布は，次に示す R で描いた


x <- c(1:1000)/100-5
z1 <- dnorm(x,0,1)
z2 <- dnorm(x,0,4)
plot(x,z1,type=’l’,lty=1,ylab=’probability density’,xlab=’’)points(x,z2,type=’l’,lty=2)

ものだが，どちらも平均 0 の正規分布なので中央値も最頻値も共通だが，実線で書かれた
幅が狭い方が標準偏差 1，破線で書かれた幅が広い方が標準偏差 4 と，標準偏差が大きく異なるために，まったく違った外見になっている。標準偏差は，もっとも良く使われる分布の広がり具合の指標である。
広がり具合を示す指標は，ばらつき (variability) と総称される。ばらつきの指標には，範囲，四分位範囲，四分位偏差，平均偏差，分散（及び不偏分散），標準偏差（及び不偏標準偏差）がある。

4.3.1

範囲 (range)

範囲は，もっとも単純なばらつきの尺度である。値のとる全範囲そのものである。つまり，最大値から最小値を引いた値になる。

例題 11次の分布の範囲はいくらか？

｛17, 23, 42, 44, 50｝

いうまでもなく，50 − 17 = 33 である。ばらつきの尺度として範囲を使うには，若干の問題が生じる場合がある。極端な外れ値の影響をダイレクトに受けてしまうのである。次の例を考えてみよう。

例題 12

次の分布の範囲はいくらか？


｛2, 4, 5, 7, 34｝


答えは 34 − 2 = 32 なのだが，2, 4, 5, 7 というきわめて近い値４つと，かけ離れて大きい 34 という値からなるのに，32 という範囲は，全体のばらつきが大きいかのような誤った印象を与えてしまう。ばらつきの指標としては，分布の端の極端な値の影響を受けにく
い値の方がよい。

4.3. ばらつき（Variability）

0.2
0.0

0.1

probability density

0.3

0.4

37

−4

−2

0

2

4

図 4.1: 平均が同じで標準偏差が異なる正規分布

4.3.2

四分位範囲 (Inter-Quartile Range; IQR)

そこで登場するのが四分位範囲である。その前に，分位数について説明しよう。値を小さい方から順番に並べかえて，４つの等しい数の群に分けたときの 1/4, 2/4, 3/4 にあたる値を，四分位数 (quartile) という。1/4 の点が第１四分位，3/4 の点が第３四分位である（つまり全体の 25 ％の値が第１四分位より小さく，全体の 75 ％の値が第３四分位より小さい）。2/4 の点というのは，ちょうど順番が真中ということだから，第２四分位は中央値に等しい。
ちょっと考えればわかるように，ちょうど４等分などできない場合がもちろんあって，上から数えた場合と下から数えた場合で四分位数がずれる可能性があるが，その場合はそれらを平均するのが普通である。また，最小値，最大値に，第１四分位，第３四分位と中央値を加えた５つの値を五数要約値と呼ぶことがある。第１四分位，第２四分位，第３四分位は，それぞれ Q1, Q2, Q3 と略記することがある。
これを一般化して，値を小さい方から順番に並べかえて，同数の群に区切る点を分位数

第 4 章 データを１つの値にまとめる（記述統計量）

38(quantile) という。百等分した場合を，とくにパーセンタイル (percentile) という。言い換えると，第１四分位は 25 パーセンタイル，第３四分位は 75 パーセンタイルである。
四分位範囲とは，第３四分位と第１四分位の間隔である。パーセンタイルでいえば，75
パーセンタイルと 25 パーセンタイルの間隔である。上と下の極端な値を排除して，全体の中央付近の 50 ％（つまり代表性が高いと考えられる半数）が含まれる範囲を示すこと
ができる。

4.3.3

四分位偏差 (Semi Inter-Quartile Range; SIQR)

四分位範囲を２で割った値を四分位偏差と呼ぶ。もし分布が左右対称型の正規分布であれば，中央値マイナス四分位偏差から中央値プラス四分位偏差までの幅に全データの半分が含まれるという意味で，四分位偏差は重要な指標である。IQR も SIQR も少数の極端な外れ値の影響を受けにくいし，分布が歪んでいても使える指標である。

例題 13



パプアニューギニアのある村で成人男性 28 人の体重を量ったところ，｛50.5, 58.0, 47.5,
53.0, 54.5, 61.0, 56.5, 65.5, 56.0, 53.0, 54.0, 56.0, 51.0, 59.0, 44.0, 53.0, 62.5, 55.0,
64.5, 55.0, 67.0, 70.5, 46.5, 63.0, 51.0, 44.5, 57.5, 64.0｝（単位は kg）という結果が得られた。このデータから，四分位範囲と四分位偏差を求めよ。


R の fivenum() 関数を使うと，Q1=52.00，Q2=55.50，Q3=61.75 とわかる。これより，四分位範囲は Q3−Q1=9.75，四分位偏差はそれを２で割って 4.975 である。

4.3.4

平均偏差 (mean deviation)

偏差の絶対値の平均を平均偏差と呼ぶ。四分位範囲や四分位偏差は，全データのうちの限られた情報しか使わないので，分布のばらつきを正しく反映しない可能性がある。そこ
で，すべてのデータを使ってばらつきを表す方法を考えよう。すべての生の値は，平均からある距離をもって分布している。この距離は既に述べたように偏差あるいは誤差と呼ばれる12 。偏差の大きさは，分布のばらつきを反映している。

例題 14



分布 A が｛11, 12, 13, 14, 15, 16, 17｝，分布 B が｛5, 8, 11, 14, 17, 20, 23｝だとする。
どちらも平均は 14 である。しかし，分布 B は分布 A よりもばらつきが大きい。言い換えると，分布 B の方が分布 A よりも平均からの距離が大きい。しかし，それをどうやって１つの値として表すことができるだろうか？


ただ合計しただけでは，平均のところで述べたように，偏差の総和は必ずゼロになってしまう。これはマイナス側の偏差がプラス側の偏差と打ち消しあってしまうためなので，
12誤差の方が意味が広いので，この意味で使う場合は偏差と呼んだ方がいいと思う。

4.3. ばらつき（Variability）

39

偏差の絶対値の総和を出してやればいいというのがもっとも単純な発想である。それだけだと標本サイズが大きいほど大きくなってしまうので，値１つあたりの偏差の絶対値を出してやるために標本サイズで割ることが考えられる。これが平均偏差の考え方である。
すなわち，平均偏差 M D は，∑

MD =|X − X̄|nで定義される。X̄ は平均，n は標本数である。例題 14 の場合，分布 A の平均偏差は約1.71，分布 B の平均偏差は約 5.14 である。これらの値は，次の R プログラムによって計
算される。




A <- c(11, 12, 13, 14, 15, 16, 17)
B <- c(5, 8, 11, 14, 17, 20, 23)mA <- mean(A)mB <- mean(B)sum(abs(A-mA))/NROW(A)sum(abs(B-mB))/NROW(B)

平均偏差はすべてのデータを使い，かつ少数の外れ値の影響は受けにくいという利点があるが，絶対値を使うために他の統計量との数学的な関係がなく，標本データから母集団統計量を推定するのに使えないという欠点がある。

4.3.5

分散 (variance)

マイナス側の偏差とプラス側の偏差を同等に扱うためには，絶対値にするかわりに二乗しても良い。つまり，偏差の二乗和の平均をとるわけである。これが分散という値になる。
分散 V は，∑(X − X̄)2V =nで定義される13 。標本サイズ n で割る代わりに自由度 n − 1 で割って，不偏分散 (unbiased
variance) という値にすると，標本データから母集団の分散を推定するのに使える。すな
わち，不偏分散 Vub は，∑(X − X̄)2
Vub =
n−1
である。

∑

電卓などで計算するときは，これを式変形して得られる V =X 2 /n − X̄ 2 （２乗の平均から平均の２乗を引く）という形の方が簡単だが，２つの大きい数の引き算を行うことになって計算上の桁落ちの可能性が増えるので，コンピュータプログラム上は定義式通りに計算すべきである。
13

第 4 章 データを１つの値にまとめる（記述統計量）

40

4.3.6

標準偏差 (standard deviation)

分散の平方根をとったものが標準偏差である。平均と次元を揃えるという意味をもつ。
不偏分散の平方根をとったものは，不偏標準偏差となる。もし分布が正規分布ならば，Mean±2SD14 の範囲にデータの 95%が含まれるという意味で，標準偏差は便利な指標で
ある。

練習問題



例題 14 の２つの分布について，不偏分散と不偏標準偏差を計算せよ。


以下の R プログラムにより，A の不偏分散が 4.67，A の不偏標準偏差が 2.16，B の不偏分散が 42，B の不偏標準偏差が 6.48 だとわかる。


A <- c(11, 12, 13, 14, 15, 16, 17)
B <- c(5, 8, 11, 14, 17, 20, 23)
cat("A の不偏分散=",var(A)," / A の不偏標準偏差=",sd(A),"\n")cat("B の不偏分散=",var(B)," / B の不偏標準偏差=",sd(B),"\n")




4.3.7

標準誤差 (standard error) と変動係数 (coeﬃcient of variation)

生データの分布のばらつきの指標ではないが，関連するのでここで示しておく。不偏標√
準偏差を標本サイズの平方根 n で割った値は，平均の推定幅を示す値となり15 ，標準誤差 (standard error; SE) として知られている。SD と SE を混用している論文も散見されるが，意味がまったく違う。また，標準偏差（不偏標準偏差ではない）を平均で割って 100を掛けた値を変動係数という。すなわち，平均に対して，全測定値が何%ばらついているかを示す，相対的なばらつきの指標である。これは測定誤差を示すときなどに使われる値
であり，母集団統計量である。

4.4

まとめ

データの分布は，位置とばらつきを示す２つの値で代表させるのが普通である。分布に外れ値が多い・歪みが大きい・尺度水準が低いなどの理由で，分布を仮定できない場合は，中央値と四分位偏差を用い，そうでない場合は平均と（不偏）標準偏差を用いて，位置±
ばらつき，という形で示すことが多い。

14
普通このように 2SD と書かれるが，正規分布の 97.5 パーセント点は 1.959964... なので，この 2 は，だ
いたい 2 くらいという意味である。
15
平均の分散は生データの分散の 1/n になることと，n が大きいとき，元の分布によらず平均は正規分布に近づく（中心極限定理）ため。

4.4. まとめ41

参考までに，次のページに Microsoft Excel と R による代表値の求め方を一覧形式でまとめておくので，必要に応じて参照されたい。
求める代表
値など
最頻値

中央値

Excel の関数または手順（範囲 A1:Y1 にデータがあるとして）
離 散 デ ー タ な ら=MODE(A1:Y1)
で 良 いが，連続量なら，ツール＞分析
ツール＞ヒストグラムでヒスト
グラムを書いて最大度数のデー
タ区間を探し，その区間の中点を最頻値とする。

=MEDIAN(A1:Y1)

R の関数または手順（x <- c(...) などのやり方で
変数 x にデータを入れたとして）hist(x) でヒストグラムを書いて最大度数のデータ区間を探し，その区間の中点を最頻値とする。
hist(x,c(min(x),5,8,max(x)))などとすれば，x の最小値から 5まで，5 から 8 まで，8 から x の最大値までという３つの区間で度数を計算させることができる。
本来は hist(x,5) とすれば５つの区間という形の指定ができるはずなのだが，区間の数によってうまくいったりいかなかった
りした。
なお，hist(x,plot=F) とすれば，グラフを書く代わりに数値を表示させられる。
median(x)ただし，x の中に NA（欠損値）
を含む場合は，median(x,na.rm=T) またはmedian(x[!is.na(x)])

平均

範囲
四分位範囲

=AVERAGE(A1:Y1)
調和平
均は=HARMEAN(A1:Y1)，幾何平均は=GEOMEAN(A1:Y1)で求められる。
=MAX(A1:Y1)−MIN(A1:Y1)=QUARTILE(A1:Y1,3) −QUARTILE(A1:Y1,1)

四分位偏差=(QUARTILE(A1:Y1,3) −QUARTILE(A1:Y1,1))/2

平均偏差=AVEDEV(A1:Y1)

不偏分散=VAR(A1:Y1)（ 不 偏 で な い 分 散は
=VARP(A1:Y1) で 得 ら れる）とする。以下同様。
mean(x)
調和平均は 1/mean(1/x)，幾何
平 均は exp(mean(log(x))) で求められる。

max(x)-min(x) か range(x)IQR(x)ま た は ，
y<-quantile(x);y[4]-y[2]
ま た は ，fivenum(x)[4]-fivenum(x)[2] でも良い。
IQR(x)/2
ま た は ，
y<-quantile(x);(y[4]-y[2])/2 ま た は ，(fivenum(x)[4]-fivenum(x)[2])/2 でも良い。
組 み 込 み 関 数 に は な いが，sum(abs(x-mean(x)))/NROW(x) で得られる。
var(x) 不 偏 で な い 分 散は組み込み関数にはないが，sum((x-mean(x))^2)/NROW(x)で得られる。

第 4 章 データを１つの値にまとめる（記述統計量）

42
不偏標準偏差

タブ区切り
データファイルの読み込み=STDEV(A1:Y1)（ 不 偏 で な い 標 準 偏 差は=STDEVP(A1:Y1) で 得 ら れる）
そのままドラッグ＆ドロップ

カンマ区切りデータファイルの読み込みそのままドラッグ＆ドロップ

データの編集

表にそのまま打ち込む

データの書き出し

ファイルから保存を選ぶ

sd(x) 不偏でない標準偏差は，sqrt(sum((x-mean(x))^2)/NROW(x)) で得られる。(∗)
１ 行 目 に 変 数名 が 入 っ て い る
な ら ，x<-read.delim("d:/sample.dat",header=T) などとする (∗∗) 。
そ れ ぞ れ の 変 数は ，た と え
ば x$age の よ う に し て 参 照
で き る 。１ 行 目 が 変 数名 でなくすぐにデータである場
合 は ，x<-read.delim("d:/sample.dat",header=F) とす る 。こ の 場 合 ，変 数名 は
x$V1, x$V2, ... として参照できる。いちいち x$とつけるのが面倒なら，attach(x) とすれば
V1 とか V2 だけで参照できる。
１ 行 目 に 変 数名 が 入 っ て い
る な ら ，x<-read.csv("d:/sample.dat",header=T) とす る (∗∗) 。１ 行 目 が 変 数名
でなくすぐにデータである
場 合 は ，x<-read.csv("d:/sample.dat",header=F) とする。
de(x$V1,x$V5) などとすれば表形式で指定した変数の値を編集できる。表の上でマウスを右クリッ
クすると操作メニューがでる。
コンマ区切りでデータフレー
ム x をマイドキュメントのsample.dat に 書 き 出 す に は ，write.table(x,"d:/sample.dat",
sep=",") とする。タブ区切り
なら sep="\t"とすればよい。

(∗)

もちろん，不偏でない分散を出すときに，Vx<-sum((x-mean(x))^2)/NROW(x) などとして値を保存しておいて，sqrt(Vx) とするのがエレガントである。
(∗∗)\を/に置き換えたファイル名をフルパスで書く。ただし，２バイトコードが入ったディレクトリ名やファイル名は，文字化けするので使いにくい（半角英数字のファイル名に書き換えておくべきである）。また，Win-dows2000 の場合，マイドキュメントフォルダのフルパスは，普通，C:/Documents and Settings/nakazawa/My
Documents/のようになるが，長いパスを打つのは面倒なので，D:ドライブのルートディレクトリなどにデータを置くと，指定が容易である。

43

第 5 章 比率に関する推定と検定

5.1

母比率を推定する方法

今回は，名義尺度や順序尺度をもつカテゴリ変数を分析する方法に入る。まずは変数が１つの場合を考える。カテゴリ変数１つについての情報は，データ数と，個々のカテゴリが占める割合（標本比率）である。したがって，このデータから求める統計的な指標は，母比率，すなわち個々のカテゴリが母集団で占めるであろう割合である。通常，標本比率とほぼ一致する。
たとえば，手元の容器の中に，数百個の白い碁石があるとする。この概数を手っ取り早
く当てるために，数十個の黒い碁石を混ぜる。よくかき混ぜてから 20 個程度の石を取り出してみて（標本），その中で黒い石が占めていた割合（標本比率）を求め，それが母比率と等しいと仮定して加えた黒い碁石の数を割って総数を求め，黒い碁石の数を引けば，元々の白い碁石の数が得られる。生態学で，野原のバッタの数を調べたいときに全数を調べるわけにはいかないので，捕まえてペンキでマークして放して暫く経ってからまた捕ま
えてマークされているバッタの割合を求めて，マークした数をそれで割って総数を推定する，というリンカーン法（Capture-Mark-Recapture，略して CMR ともいう）のやり方と同じである。

例題１．



最初に混入した黒い石の数が 40 個，かき混ぜてから 20 個の石を取り出してみたら黒石 2 個，白石 18 個だった場合，元の白石の数はいくつと推定されるか？


元の白石の数を x とすると，40/(40+x)=2/(2+18) となるので，これを x について解けば，x = 360 が得られる。したがって 360 個と推定される。

5.2

推定値の確からしさ

ここで，このようにして求めた推定値がどれほど確からしいか？ を考えよう。たとえば，黒石の割合（母比率）が p である容器から 20 個の石を取り出したときに，黒石がちょ
うど 2 個である確率を考えると，これは二項分布に従う1 。
1

厳密に考えると，この確率が二項分布に従うためには復元抽出でなければならないので，1 個取り出しては戻す必要がある。CMR ではそうしないが，それは標本に比べて母集団が十分に大きく，抽出操作が母比率に影響を与えないと仮定できるからである。

第 5 章 比率に関する推定と検定

44

つまり，確率 p の現象が 20 回中 2 回起こり，残りの 18 回は確率 (1 − p) の現象が起こったわけだから，その確率をすべて掛け合わせ，20 回中どの 2 回で起こるのかという組み合わせの数だけパタンがありうるので 20 C2 回だけそれを足し合わせた確率になる。R では
choose(20,2)*p^2*(1-p)^18 あるいは dbinom(2,20,p) で得られるが，この値が最大となるのは，図 5.1 のように p = 0.1 の時である。この図を描かせる R のプログラムは次の
通り。




p <- c(1:50)/100
prob <- dbinom(2,20,p)plot(p,prob,col="blue",type="l",main="Sample probability distribution by population proportion",ylab="sample probability")

40 個入れて全体の 0.1 を占めるのだから，40/0.1=400 が全体の数で，400-40=360 が元の白石の数だと推定できる。ただし，図を見ればわかるように，p = 0.09 だろうが p = 0.11
だろうが，黒石がちょうど２個である確率には大した差はない。だから，360 個という点推定値は，404 個とか 324 個に比べて，それほど信頼性は高くない。

5.3

信頼区間

では，ある程度の信頼性が見込める範囲を示すことは可能だろうか？ という考え方で示されるのが信頼区間である。例をあげよう。ビデオリサーチ (http://www.videor.co.
jp/index.html) によれば，NHK の朝のテレビ小説「ほんまもん」の 2001 年 10 月 8 日の
関東地区の視聴率は 22.9%であった。関東地区の調査対象世帯は 600 だから，137 世帯が見ていたことになる。このとき，関東地区全体の真の視聴率（母比率）は，どのくらいの範囲をとれば，95%の確率でその中に収まるのか？ というのが問題である。
「ほんまもん」を見る／見ないという事象が各世帯独立に起こるとすれば，二項分布で考えることができる。母比率が 137/600 の時にちょうど 137 世帯が見た（裏返して言えば463 世帯が見なかった）確率は，choose(600,137)*(137/600)^137*(463/600)^463 で，
たかだか 3.9%に過ぎない。
しかし，たとえば，母比率が 10%だったのに 137 世帯が見たという確率は，2.5*10^(-20)
であり，まったくありそうにない。137/600 の前後適当な幅をとれば，かなり高い確率で，ちょうど 137 世帯が見た，という事象が起こることになる。この幅を「信頼区間」という。95%の確率でちょうど 137 世帯が見たという事象が起こるための母比率の推定幅を，「95%信頼区間」という。
95%信頼区間を求めるには，下側 2.5%の点と上側 2.5%の点を求めればよいので，R なら，5.4. 正規近似による信頼区間の推定

45





z<-0; k<-0; while (z<0.025) {k <- k+1; kk <- 600-k
z <- z + choose(600,137) * (k/600)^137 * (kk/600)^463 }print((k-1)/600)
として下側 2.5%の点を求め，


z<-0; k<-600; while (z<0.025) {k <- k-1; kk<- 600-k
z <- z + choose(600,137) * (k/600)^137 * (kk/600)^463 }print((k+1)/600)

として上側 2.5%の点を求めればよい。
結果として，600 世帯の調査で 22.9%の視聴率だったら，無限母集団の視聴率（真の視聴率）の 95%信頼区間は，19.5%から 26.5%の間といえる。この区間は 95%を含む最短であることは保証されないが，少なくとも 95%を含む。R に組み込まれている binom.test()関数を使うと，binom.test(137,600,0.229) の結果，95%信頼区間は下限が 19.5%，上限が 26.4%となる。

5.4

正規近似による信頼区間の推定２項分布は，n が大きいときは正規分布で近似できる。このことを利用すれば，母比率
p，標本サイズ（調査世帯数）n で，その標本の中で注目している属性をもつ要素の数（「ほんまもん」を見た世帯数）を X ，観測比率を p′ = X/n とすれば，X が近似的に正規分
布 N (np, np(1 − p)) に従うことになる。正規分布の 95%のサンプルは，平均 ± 標準偏差×1.96 に含まれるので，√

P r[−1.96 ≤ (X − np)/ np(1 − p) ≤ 1.96] = 0.95√√

これから式変形すると，P r[p′ − 1.96 p′ (1 − p′ )/n ≤ p ≤ p′ + 1.96 p′ (1 − p′ )/n] = 0.95√√となるので，母比率 p は 95%の確率で (p′ − 1.96 p′ (1 − p′ )/n, p′ + 1.96 p′ (1 − p′ )/n) の範囲にあるといえる。すなわちこれが，母比率 p の 95%信頼区間となる。

練習問題



ある大学の正門の前で，ある朝登校して来る学生の男女比を調べてみたところ，300
人中，女子学生が 75 人であった。この大学の女子学生の割合の点推定値と 95%信頼区間を求めよ。


点推定値は言うまでもなく 75/300=0.25，つまり 25%である。95%信頼区間の下限を求める R の式は，75/300-2*sqrt(75/300*225/300/300)，上限は 75/300+2*sqrt(75/300*225/300/300)
であるから，95%信頼区間は [20%, 30%] となる。なお，この推定には，朝登校して来る学第 5 章 比率に関する推定と検定

46

生に男女の偏りがないという仮定があるので，実は真の値を過大評価することになっている。どうすれば正しい推定ができるような標本がとれるか，考えてみるのも一興であろう。

5.5

母比率の検定予め母比率について何らかの期待があるとき（50%であるとか），標本から推定された母比率が，それと違っていないかどうかを調べたい，ということが起こる。こういう場合の基本的な考え方としては，標本データの度数分布が，母集団について期待される分布と一致するという仮説（帰無仮説）が成り立っている確率を調べて，それが普通では考えられないほど小さい場合（通常は 5%未満）に，滅多にないことだから偶然ではない（これを「有意である」という），と考えて帰無仮説を棄却する。
カテゴリ数が全部で n 個あるとき，i 番目のカテゴリの観測度数が Oi ，期待度数が Ei∑であるとき，χ2 = (Oi − Ei )2 /Ei が2 ，自由度 n − 1 のカイ二乗分布に従うことを利用して検定する（ただし，母数を標本から推定するときは，その数も自由度から引く。Ei が1 未満のときはカテゴリ分けをやり直す）。このような χ2 が大きな値になることは，観測された度数分布が期待される分布と一致している可能性が極めて低いことを意味する。一般に，χ2 が自由度 n − 1 のカイ二乗分布の 95%点よりも大きいときは，統計的に有意であるとみなして，帰無仮説を棄却する（適合しないと判断する）。
ちなみに，自由度 1 のカイ二乗分布は，図 5.2 のような形になる。χ2 値が 1 より大きくなる確率は，約 0.32 ということである。 参考までに，自由度 n のカイ二乗分布の確率密度関数は，x > 0 について， fn (x) = 1/(2(n/2) Γ(n/2))x(n/2−1) exp(−x/2) であり，平均n，分散 2n である。なお，自由度 (degree of freedom; d.f.) とは，標本の数から，前もって∑∑推定する母数の数を引いた値である3 。この例なら Ei だけを Oi として推定すれば，E1 から En−1 まで定めて En が決まることになるので，自由度は 1 を引く。
分布関数（確率母関数）は，確率密度関数を積分したものであり，図で見れば面積に当たる。その逆関数，つまり面積に対応する値を与える関数を分位点関数という。自由度１のカイ二乗分布の場合，R では，カイ二乗値 x について，確率密度関数が dchisq(x,1)，分布関数が pchisq(x,1) で与えられ，95%点を与える分位点関数が qchisq(0.95,1) で与えられる。これは，χ2 値が qchisq(0.95,1) 以下である確率が 95%であることを意味する。逆にいえば，χ2 値が qchisq(0.95,1) より大きくなることは，確率 5%もない，滅多にないことである。さらに言い換えると，「観測された分布が期待される分布と一致している可能性は 5%もない」ということである。このようなとき，「観測された分布が期待される分布と違いがない」という仮説は有意水準 5%で棄却されたといい，「観測された分
布は期待される分布と一致するとはいえない」，と解釈する。

2
χ は「カイ」と発音する。英語では chi-square と書かれるので，英文を読むときに間違って「チ」と読んでしまうと大変恥ずかしい。
3
合計を母数と考えなければ，標本サイズから 1 を引いて母数の数を引く，と捉えてよい。前章で不偏分散を求めるときにも標本サイズから 1 を引いて自由度を求めた。

5.5. 母比率の検定

47


例題２．



ある病院で生まれた子ども 900 人中，男児は 480 人であった。このデータから，（１）
男女の生まれる比率は半々であるという仮説，（２）男児 1.06 に対して女児 1 という割合で生まれるという仮説，は支持されるか？（出典：豊川・柳井，1982）
（１）の場合， χ2 は，X<- (480-450)^2/450+(420-450)^2/450 として計算される。
この値が自由度 1 のカイ二乗分布に従うので，R で 1-pchisq(X,1) とすれば，男女の生まれる比率が半々である場合に 900 人中男児 480 人という観察値が得られる確率が計算できる。その確率がきわめて小さければ（通常 5%未満），統計的に意味があるほど有り得な
さそうな（「統計的に有意な」という）現象であると考えて，仮説を棄却する。
実は，この場合は母比率が 0.5 であるとして２項分布で計算してもよい。480 人以上になる確率と 420 人以下になる確率の合計がきわめて小さければ，「男女の生まれる比率は半々である」という仮説はありそうもないと考えてよいことになる。母比率 0.5 で起こる現象が，900 回中ちょうど 480 回起こる確率は，choose(900,480)*0.5^480*0.5^420 で与えられるが，R には２項分布についてもカイ二乗分布と同じように確率密度関数を与える関数があり，この確率は dbinom(480,900,0.5) で与えられる。
480 人以上になる確率は，R では
dbinom(480,900,0.5) + dbinom(481,900,0.5) + ... + dbinom(900,900,0.5)となるが，これは分布関数を使えば，1-pbinom(480,900,0.5) で計算できる。420 人以下になる確率は，
dbinom(0,900,0.5) + dbinom(1,900,0.5) + ... + dbinom(420,900,0.5)であり，分布関数を使って書けば，pbinom(420,900,0.5) である。したがって，求める確率はこれらの和，すなわち，


1-pbinom(480,900,0.5)+pbinom(420,900,0.5)である。計算してみると 0.045... となるので，有意水準 5%で仮説は棄却されることがわ
かる。
（２）の場合，χ2 は，

EM <- 900*1.06/2.06; EF <- 900*1/2.06
X <- (480-EM)^2/EM+(420-EF)^2/EF
1- pchisq(X,1)


を計算すると，約 0.26 となるので，仮説の下で偶然，男児が 900 人中 480 人以上になる確率は約 26%あると解釈され，この仮説は棄却されないことがわかる。

第 5 章 比率に関する推定と検定

48

応用：



１日の交通事故件数を 155 日間について調べたところ，0 件の日が 79 日，1 件の日が61 日，2 件の日が 13 日，3 件の日が１日，4 件以上の日が１日だったとする。このとき，1 日あたりの交通事故件数はポアソン分布に従うといえるか？（出典：豊川・柳a井，1982）a

一般に，稀な事象についてベルヌーイ試行を行うときの事象生起数がポアソン分布に従うことが知られている。交通事故は稀な事象であり，ある日に交通事故が起こる件数と翌日に交通事故が起こる件
数は独立と考えられるので，交通事故件数はポアソン分布に従うための条件を満たしている。



R では，ポアソン分布の確率関数（離散分布の場合は，確率密度関数と言わずに確率関数というのが普通）は，dpois(件数，期待値) で与えられる。
ポアソン分布の期待値（これは母数である）がわからないので，データから推定すれば，(0 × 79 + 1 × 61 + 2 × 13 + 3 × 1 + 4 × 1)/155 で得られる。R で書けば，この値
を Ehh に保存するとして，cc <- c(0:4); hh <- c(79,61,13,1,1); Ehh <- sum(cc*hh)/sum(hh)




となる。
したがって，１日の事故件数が期待値 Ehh のポアソン分布に従うとしたときの，事故件
数 0〜4 の期待日数 epp は，epp <- dpois(cc,Ehh)*sum(hh) で得られる。
こうなれば，X <- sum((hh-epp)^2/epp) としてカイ二乗値を求め，これが自由度 3（件数の種類が 5 種類あって，ポアソン分布の期待値が母数として推定されたので，5−1−1 = 3となる）のカイ二乗分布に従うとして 1-pchisq(X,3) が 0.05 より小さいかどうかで判定すれば良さそうなものだが，そうはいかない。
epp の値を見ればわかるが，epp[cc==4] が 1 より小さいのである。期待度数が 1 より小さいときはカテゴリを併合しなくてはならないので，epp[cc==4] を epp[cc==3] と併合する。すなわち，

ep <- epp[cc<3]ep[cc==3] <- epp[cc==3]+epp[cc==4]
ep <- ep[!is.na(ep)]として期待度数の分布 ep を得，h <- hh[cc<3]h[cc==3] <- hh[cc==3]+hh[cc==4]h<-h[!is.na(h)]として観測度数の分布 h を得る。
後は，XX<-sum((h-ep)^2/ep) としてカイ二乗値を求め，1-pchisq(XX,2) を計算すると（カテゴリが 1 つ減ったので自由度も 1 減って 2 となる）
，約 0.187 となることがわかる。
すなわち，１日の交通事故件数がポアソン分布に従っていると仮定したとき所与のデータ

5.5. 母比率の検定
よりも偏ったデータが得られる確率は約 19%あり，珍しいこととはいえない。

49

第 5 章 比率に関する推定と検定

50

0.15
0.10
0.00

0.05

sample probability

0.20

0.25

Sample probability distribution by population proportion

0.0

0.1

0.2

0.3

0.4

0.5

p

図 5.1: さまざまな p に対して，20 個取り出したときに黒石がちょうど 2 個である確率

5.5. 母比率の検定

5

6

51

3

4

この部分の
面積は約
自由度 1 のカイ二乗
0.68
pchisq(1,1) 分布の確率密度関数

2x<-c(1:1000)/250y<-dchisq(x,1)
plot(x,y,type='s')

0

1

で生成。

0

1

2

c

2

3

図 5.2: 自由度１のカイ二乗分布

4

53

第 6 章 カテゴリ変数２つの分析（１）6.1

２つのカテゴリ変数を分析する２つのアプローチ

前章では，１つのカテゴリ変数のもつ情報から母比率を推定したり，期待される母比率と一致するかどうかを検定する方法を示した。本章では，２つのカテゴリ変数を分析する方法を示す。
２つのカテゴリ変数を分析するには，２つのアプローチがある。１つは，２つの変数についての母比率に差があるかどうかを調べるアプローチであり，もう１つは，２つの変数の関係を調べるアプローチである。後者を調べる際には，クロス集計表を作るのが普通である。その上で，２つの変数の独立性を検定したり，関連の程度を調べたりする。1

6.2

２つのカテゴリ変数の母比率の差の検定と信頼区間

前章で説明したように，個々のカテゴリ変数がもつ情報はデータ数（標本サイズ）と，各カテゴリの割合である。そこから，各カテゴリの母集団における割合（母比率）を推定することができる。
２つのカテゴリ変数の母比率 p1 , p2 が，各々の標本比率 pˆ1 = r1 /n1 , pˆ2 = r2 /n2 として推定されるとき，それらの差を考える。差 (pˆ1 − pˆ2 ) の平均と分散は，E(pˆ1 − pˆ2 ) =p1 − p2 , V (pˆ1 − pˆ2 ) = p1 (1 − p1 )/n1 + p2 (1 − p2 )/n2 となる。２つの母比率に差が無いな
らば，p1 = p2 = p とおけるはずなので，V (pˆ1 − pˆ2 ) = p(1 − p)(1/n1 + 1/n2 ) となる。この p の推定値として，p̂ = (r1 + r2 )/(n1 + n2 ) を使い，q̂ = 1 − p̂ とおけば，n1 p1 と n2 p2がともに 5 より大きければ，標準化して正規近似を使い，Z=pˆ1 − pˆ2 − E(pˆ1 − pˆ2 )pˆ1 − pˆ2√=√
∼ N (0, 1)
V (pˆ1 − pˆ2 )p̂q̂(1/n1 + 1/n2 )によって2 検定できる。

1

ただし母比率の差の検定は，後で述べるように，２×２のクロス集計表とみなして独立性の検定をすることと数学的に等価である。
2
この Z は離散値しかとれないため，連続分布である正規分布による近似の精度を上げるために，連続性の補正と呼ばれる操作を加え，かつ p1 > p2 の場合（つまり Z > 0 の場合）と p1 < p2 の場合 (つまり Z < 0 の場合）と両方考える（両側検定という）のだが，正規分布は原点について対称なので，絶対値をとって Z > 0の場合だけ考え，有意確率を 2 倍すればよい（逆に 5%水準で検定したいなら，97.5%点より Z が大きいかど

第6章

54

カテゴリ変数２つの分析（１）

例をあげよう。2002 年 6 月 1 日に山口県立大学の２つのキャンパスを隔てるバイパス
で，交通の様子を観察したデータを考える3 。１人で観察する場合，観察対象は車，歩行者などが考えられるが，ここでは車とする。車１台から得られるいくつかの特性を１組のデータとして扱う（こういう１組を１つの「オブザーベーション (observation)」と呼ぶ）。
簡単に捉えられる特性としては，進行方向，車の種類（普通乗用車かそれ以外か），車の色，といったものが考えられる。データ解析を考える上では，これらの特性が「変数」となる。つまり，生データを表の形にまとめると，オブザーベーション番号

進行方向

変数
車の種類

1
2
3
..
.

津和野方面
山口市街地
山口市街地

乗用車
乗用車
乗用車

車の色
白
白
銀

これを数値としてコーディングするときは，典型的なカテゴリを 1 にするとわかりやすい。進行方向という変数の変数名を Dest（値は，津和野方面を 1，山口市街地方面を 2）とし，車の種類の変数名を Type（乗用車が 1，トラックなどそれ以外のものを 2），車の色の変数名を Color（1 が白，2 が黒，3 はそれ以外）とすれば，次の表のようにコード化
される。

Obs
1
2
3
..
.

Dest
1
2
2

変数
Type

1
1
1

Color
1
1
3

これを表計算ソフト（Excel や StarSuite/OpenOﬃce.org の scalc など）やテキストエ
ディタで入力し，CSV（コンマ区切り値）形式のファイル L6-1.csv として R の作業ディレクトリに保存すれば，R のコンソールで x <- read.csv("L6-1.csv") として，x というデータフレームに読み込めるし，タブ区切りテキスト形式のファイル L6-1.dat として保存すれば，x <- read.delim("L6-1.dat") として読み込める4 。R では，各変数はデー
うかを見ればよい）。すなわち，

Z=|pˆ1 − pˆ2 | − (1/n1 + 1/n2 )/2√p̂q̂(1/n1 + 1/n2 )として，この Z の値が標準正規分布の 97.5%点（R ならば qnorm(0.975,0,1)）より大きければ帰無仮説を棄却するのが普通である。
3
http://minato.sip21c.org/statlib/tf.mpg として MPEG1 形式のムービーファイルを公開している。
4
これらのファイルは http://minato.sip21c.org/statlib/L6-1.csv などとしてダウンロードできる。

6.2. ２つのカテゴリ変数の母比率の差の検定と信頼区間

55

タフレーム名$変数名として参照できるので，たとえば進行方向別の頻度を出したいとき
は，table(x$Dest) とすれば良い。総観察数 89 台のうち，津和野方面が 60 台，山口市街
地方面が 29 台であったことがわかる。
ここで，進行方向によって乗用車割合が異なるかという仮説を考えてみる。帰無仮説は，「進行方向が反対でも乗用車割合には差が無い」ということになる。
table(x$Type[x$Dest==1]) とすれば，津和野方面の乗用車が 60 台中 57 台であることがわかり，table(x$Type[x$Dest==2]) とすれば，山口市街地方面の乗用車が 29 台中
25 台であったことがわかる。
上で説明した式にあてはめて計算すると，

p̂ = (57 + 25)/(60 + 29) = 0.92 . . .
q̂ = 1 − p̂ = 0.079 . . .
|0.95 − 0.86| − (1/60 + 1/29)/2√= 1.024
Z =0.92 · 0.079 · (1/60 + 1/29)となるので，標準正規分布の 97.5%点である 1.96 よりずっと小さく，5%水準で有意ではない。つまり帰無仮説は棄却されず，差はないと考えてよい（囲み解説『過誤』を見よ）
。

過誤



厳密に言えば，差がないとしたときに偶然この値以上の値が得られる確率が 5%よりずっと多い，ということである。この確率がいくらかといえば，R で，2*(1-pnorm(1.024,0,1)) とすれば，0.305 . . . という値が得られるので，約 31%である。ついでに書いておくと，有意確率は，それに従って帰無仮説を棄却した場合にその判断が誤りであった（＝実は差がなかった）確率なので，第１種の過誤（α-Error）とも呼ばれる。反対に，検定の検出力が足りなくて本当は差があるのに差がないと判断してしまう確率を第２種の過誤（β-Error）と呼ぶ。第２種の過誤は標本サイズに依存する。


差の 95%信頼区間を出すことも簡単である。信頼区間を出すには，標本サイズが大きければ正規分布を仮定できるので，原則どおりに差から分散の平方根の 1.96 倍を引いた値を下限，足した値を上限とすればよい。上の例では，pˆ1 − pˆ2 = 0.0879 . . .，V (pˆ1 − pˆ2 ) =pˆ1 (1− pˆ1 )/n1 + pˆ2 (1− pˆ2 )/n2 = 57/60(1−57/60)/60+(25/29(1−25/29)/29 = 0.00489 . . .
√となるので，信頼区間の下限は 0.0879 − 1.96 ∗ 0.00489 = −0.049，上限は 0.0879 + 1.96 ∗√0.00489 = 0.225 となる。しかし，通常は連続性の補正を行うので，下限からはさらに(1/n1 + 1/n2 )/2 = (1/60 + 1/29)/2 = 0.0255 . . . を引き，上限には同じ値を加えて，95%信
頼区間は (−0.0747, 0.251) となる。実は R では，


type1 <- c(57,25)
total <- c(60,29)
prop.test(type1,total)とすれば各々の母比率の推定と，その差があるかどうかの検定（連続性の補正済み，ただし正規近似そのままではなく，カイ二乗分布で検定したものだが，数学的にはまったく同

第6章

56

カテゴリ変数２つの分析（１）値である），差の 95%信頼区間を一気に出してくれる。p = 0.3057 より有意な差は無く，95%信頼区間は (−0.0747, 0.251) であることがわかる。

6.3

２つのカテゴリ変数の関係を調べることと研究のデザイン

こんどは，２つの変数の関係を調べるアプローチについて説明する。関係を調べるといっても，研究デザインによって，検討すべき関係の種類はさまざまである。たとえば，肺がんと判明した男性患者 100 人と，年齢が同じくらいの健康な男性 100 人を標本としてもってきて，それまで 10 年間にどれくらい喫煙をしたかという聞き取りを行うという「患5 を実施した場合に，喫煙の程度を「一度も吸った者対照研究＝ケースコントロール研究」
ことがない」から「ずっとヘビースモーカーだった」まで何段階かのスコアを振れば，喫煙状況という変数と肺がんの有無という変数の組み合わせが得られる。もちろん，それらが独立であるかどうか（関連がないかどうか）を検討することもできる。
しかし，むしろこのデザインは，肺がん患者は健康な人に比べて，どれくらい喫煙していた割合が高いか，を評価するためのデザインである（既に亡くなっている人が除かれてしまっているので，発生リスクは過小評価されるかもしれない）。逆に，喫煙者と非喫煙者を 100 人ずつ集めて，その後の肺がん発生率を追跡調査する前向き研究（フォローアッ
プ研究）では，非喫煙群に比べて，喫煙者ではどれくらい肺がんの発生率が高いかを評価
でき6 ，断面研究で得られた２つの変数には時間的な前後関係がないので，独立性の検定を行ったり，リスク比やオッズ比以外の関連性の指標を計算することが多い7 。関連性の指標については次章で詳しく説明することにして，本章の後半では，独立性の検定について
説明する。

6.4

クロス集計とは？

２つのカテゴリ変数の間に関係があるかどうかを検討したいとき，それらの組み合わせの度数を調べた表を作成する。これをクロス集計表と呼ぶ。
とくに，２つのカテゴリ変数が，ともに２分変数のとき，そのクロス集計は２×２クロス集計表（２×２分割表）と呼ばれ，その統計的性質が良く調べられている。

6.5

独立性の検定の原理

独立性の検定は，２つのカテゴリ変数の間に関連がないと仮定した場合に推定される期
待度数を求めて，それに観測度数が適合するかを検定するカイ二乗検定である。もちろん，ある種の関連が仮定できれば，その仮定の元に推定される期待度数と観測度数との適合を
5

詳しくは疫学の教科書を参照されたい。
それらの値は次章で説明するリスク比やオッズ比という指標で表され，疫学研究上非常に重要である。
7
ただし，オッズ比は断面研究でも計算できる。
6

6.5. 独立性の検定の原理

57

調べてもいいが，一般に，２つのカテゴリ変数の間にどれくらいの関連がありそうかという仮定はできないことが多い。そこで，関連がない場合の期待度数を推定し，それが観測値に適合しなければ関連がないとはいえない，と推論するのである。

特性 B あり特性 B なし

特性 A あり特性 A なし

a人
c人

b人
d人

標本が，上記の表のような度数をもっているとき，母集団の確率構造が，特性 B あり特性 B なし

特性 A あり特性 A なし

π11
π21

π12
π22

であるとわかっていれば，N = a + b + c + d として，期待される度数は，

特性 B あり特性 B なし

特性 A あり特性 A なし

N π11
N π21

N π12
N π22

であるから，

χ2 =(a − N π11 )2 (b − N π12 )2 (c − N π21 )2 (d − N π22 )2
+
+
+
N π11
N π12
N π21
N π22

として，自由度 3 のカイ二乗検定をすればよいが，普通は π が未知なので，p(A ∩ B) =p(A)p(B) と考えて，各々の変数については特性のある人とない人の人数が決まっている（周辺度数が固定している）と考え，p(A) の推定値 (a + c)/N と p(B) の推定値 (a + b)/Nの積として π11 を，p(Ā) の推定値 (b + d)/N と p(B) の推定値 (a + b)/N の積として π12を，p(A) の推定値 (a + c)/N と p(B̄) の推定値 (c + d)/N の積として π21 を，p(Ā) の推定
値 (b + d)/N と p(B̄) の推定値 (c + d)/N の積として π22 を推定すれば，

χ2 =N (ad − bc)2
(a + c)(b + d)(a + b)(c + d)となる。この場合は，母数を２つ推定したので，自由度 1 のカイ二乗分布に従うと考えて検定できる。
ただし通常は，イェーツの連続性の補正を行う。カイ二乗分布は連続分布なので，各度数に 0.5 を足したり引いたりしてやると，より近似が良くなるという発想である。この場合，

χc 2 =

N (|ad − bc| − N/2)2(a + c)(b + d)(a + b)(c + d)

が自由度１のカイ二乗分布に従うと考えて検定する。ただし，|ad − bc| が N/2 より小さいときは補正の意味がないので，χ2 = 0 とする。

第6章

58

カテゴリ変数２つの分析（１）

実際の検定は R を使えば，a = 12, b = 8, c = 9, d = 10 などとわかっているときは，
x <- matrix(c(12,8,9,10),nc=2) として表を与え，chisq.test(x) とするだけでもできる（連続性の補正を行わないときは chisq.test(x,correct=F) とするが，通常その必要はない）。各度数が未知で，各個人についてのカテゴリ変数 A と B の生の値が与えられているときも，R を使うと，chisq.test(A,B) で計算できる。クロス集計表を作るには，
table(A,B) とする。もちろん，chisq.test(table(A,B)) でもカイ二乗検定ができる。
R では，chisq.test() 関数の中で，simulate.p.value=TRUE というオプションを使え
ば，シミュレーションによってそのカイ二乗値より大きなカイ二乗値が得られる確率を計算させることもできる。この方がたんなるカイ二乗検定よりも正確な p 値が得られるが，遅いコンピュータだと計算時間がかかる欠点がある。

例題１



上の交通量調査データで独立性のカイ二乗検定をせよ。


帰無仮説は，進行方向と車の種類が独立（無関係）ということである。クロス集計表を作ってみると，

津和野方面
山口市街地方面
合計

乗用車

それ以外

合計

57
25
82

3
4
7

60
29
89

となる。進行方向と車の種類が無関係であった場合に期待される度数は，

津和野方面
山口市街地方面
合計

乗用車

それ以外

合計

60*82/89
29*82/89
82

60*7/89
29*7/89
7

60
29
89

となる。これから定義の通りに計算してもいいが，連続性の補正も考えると公式に代入するのが現実的である（もちろん，R で chisq.test(matrix(c(57,25,3,4),nc=2)) とするのがもっと手軽である）。実際に代入してみると，連続性の補正済みのカイ二乗統計量は χ2c = 89 ∗ (|57 ∗ 4 − 3 ∗ 25| − 89/2)2 /(60 ∗ 29 ∗ 82 ∗ 7) = 1.049 となる。自由度 1 のカ
イ二乗分布で分布関数の値を 1 から引くと，p = 0.3057 . . . となり，有意確率が約 31%である（つまり帰無仮説は棄却されず，独立である可能性が十分にある）ことがわかる8 。ただし，R で実行した結果に警告メッセージが出ていることからもわかるが，この例ではサイズの小さなセルがあるので，カイ二乗検定における正規近似は適当でない可能性があり（一般に期待度数が 5 以下のセルが全体の 20%以上あるときはカイ二乗検定は適当でないとされる），次に説明するフィッシャーの直接確率を使った方がよい。

8

この値が母比率の差の検定の有意確率と一致していることに注意されたい。

6.6. フィッシャーの直接確率（正確な確率）

6.6

59

フィッシャーの直接確率（正確な確率）

周辺度数を固定してすべての組み合わせを考え，それらが起こる確率（超幾何分布に従う）を直接計算し，与えられた表が得られる確率よりも低い確率になる場合をすべて足し合わせたものをフィッシャーの直接確率，あるいは，フィッシャーの正確な確率（検定）という。
もう少し丁寧に言うと，サイズ N の有限母集団があって，そのうち変数 A の値が 1 である個体数が m1 ，1 でない個体数が m2 あるときに，変数 B の値が 1 である個体数が n1個（1 でない個体数が n2 = N − n1 個）あるという状況を考え，そのうち変数 A の値が 1である個体数がちょうど a である確率を求めることになる。これは，m1 個から a 個を取り出す組み合わせの数と m2 個から n1 − a 個を取り出す組み合わせの数を掛けて，N 個から n1 個を取り出す組み合わせの数で割った値になる。これと同じ周辺度数をもつ２×２
分割表のうち，確率がこれと同じかこれよりも小さい表の確率をすべて足し合わせたもの
が，「変数 A と変数 B が独立」という帰無仮説が成り立つ確率になる9 。
フィッシャーの正確な確率検定は，R では，fisher.test(table(A,B)) で実行できる。
この方がカイ二乗検定よりも正確である。独立性の検定をするときは，コンピュータが使えるならば，標本サイズがよほど大きくない限り，常に Fisher の正確な確率を求めるべき
である。

例題２



上の交通量調査データでフィッシャーの直接確率を計算せよ。


fisher.test(matrix(c(57,25,3,4),nc=2)) を R で計算させると，0.2089 となる。カ
イ二乗検定の場合よりも小さな有意確率が得られたことに注意されたい（一般に第１種の過誤をしにくい）。
わかりにくいと思うので，サンプル数が少ない場合について，実際に数値を使って説明しておく。Fisher の正確な確率は仮定が少ない分析法で，とくにデータ数が少なくてカイ二乗検定が使えない場合にも使えるので，動物実験などでは重宝する。いま仮に，下のようなクロス集計表が得られたとする。

B あり
B なし
合計

A あり
4
1
5

A なし
3
7
10

合計

7
8
15

15 人のうち，5 人が要因 A をもっていて，7 人が要因 B をもっているときに10 ，この表
有限母集団からの非復元抽出になるので，平均 E(a) と分散 V (a) は，E(a) = n1 m1 /N ，V (a) = {(N −n1 )/(N − 1)}n1 (m1 /N )(m2 /N ) = (m1 m2 n1 n2 )/{N 2 (N − 1)} となる。実際には組み合わせ計算が多いので，手計算で実行することはまずありえず，統計ソフトにやらせることになる。また，個々の２×２分割表の確率は離散値をとるので，同じ確率の表がありうる場合に，それを足し算に含めるのかどうかは難しい点である。これを乱数によって決める「ランダム検定」という手法もあるが，あまり一般的ではない。
10「各変数については母比率が決まっているとき」ということで，このことを「全ての周辺度数が固定され
9

第6章

60

カテゴリ変数２つの分析（１）が得られる確率は，15 人のうち要因 A をもっている 5 人の内訳が，要因 B をもっている 7
人から 4 人と，要因 B をもっていない 8 人から 1 人になる確率となる。つまり，15 から 5を取り出す組み合わせのうち，7 から 4 を取り出し，かつ残りの 8 から 1 を取り出す組み
合わせをすべて合わせたものが占める割合になるので，7 C4 ·8 C1 /15 C5 ≃ 0.0932 である。
つまり，上のクロス集計表が，偶然（２つの変数に何も関係がないとき）得られる確率は0.0932 ということである。これだけでも既に 5%より大きいので，「２つの変数が独立」という帰無仮説は棄却されず，A の有無と B の有無は関係がないと判断していいことになる。
しかし，有意確率，つまり第１種の過誤を起こす確率は，A の有無と B の有無には関係がないと判断した場合にそれが間違っている確率なので，この表だけではなく，この表よりも偶然得られる確率が低い表が得られる確率をすべて足さねばならない。周辺度数が上の表と同じ表は，
(1)
B あり
B なし
合計

A あり
0
5
5

A なし
7
3
10

(2)

A あり
1
4
5

A なし
6
4
10

(3)

A あり
2
3
5

A なし
5
5
10

合計
7
8
15

(4)
B あり
B なし
合計

A あり
3
2
5

A なし
4
6
10

(5)

A あり
4
1
5

A なし
3
7
10

(6)

A あり
5
0
5

A なし
2
8
10

合計
7
8
15

の計６種類しかない。(1) や (6) の表よりもさらに稀な場合を考えると，(1) の先は A も Bもある人の数がマイナスになってしまうし，(6) の先は A があって B がない人の数がマイナスになってしまう。
そこで，すべての表について，それが偶然得られる確率を計算すると（R で組み合わせ計
算を行う関数は choose() である。たとえば 7 C3 は，choose(7,3) で計算できる），(1) はC·
C/
C≃
0.0186
，
(2)
は
C
·
C
/
C
≃
0.1632
，
(3)
は
C
·
C
/
C
≃
0.3916，7 0 8 5 15 5
7 1 8 4 15 5
7 2 8 3 15 5
(4) は 7 C3 ·8 C2 /15 C5 ≃ 0.3263，(5) は上で計算した通り 7 C4 ·8 C1 /15 C5 ≃ 0.0932，(6) は11
7 C5 ·8 C0 /15 C5 ≃ 0.0070 となる 。
以上の計算より，元の表（＝ (5)）より得られる確率が低い（つまりより偶然では得られにくい）表は (1) と (6) なので，それらを足して，元の表の両側検定（どちらに歪んでいるかわからない場合）での有意確率は，0.0932 + 0.0186 + 0.0070 = 0.1188 となる。

ているとき」ともいうのである。
11
これらの確率をすべて足すと 1 になる。上の計算値として書いた値を使うと 0.9999 となるが，これは丸め誤差のせいであり，厳密に計算すれば 1 になる。

61

第 7 章 カテゴリ変数２つの分析（２）7.1

研究デザインとリスク，オッズ

前章でも触れたように，関連性の指標は研究デザインによって異なる。まず，関連性の指標の中でもやや毛色が異なる（統計学よりも疫学でよく使われる）リスクとオッズという考え方を説明する。疫学分野で主に発達した理論なので，病気を例にとって説明するが，因果関係が想定できる変数間であれば，別に病気の話に限らず成立する考え方である。
病気のリスクといえば，全体のうちでその病気を発症する人の割合である。これとは別に，オッズという考え方もある。病気のオッズといえば，その病気を発症した人数の，発症しなかった人数に対する比である。
さてしかし，リスクとかオッズそのものでは，病気の発症と要因の有無の関係はわからない。要因があった場合のリスクやオッズを，要因がなかった場合のリスクやオッズと比べることによって，初めて要因の有無と病気の発症がどれくらい関係していたかがわかる。
すなわち，ある要因をもつ人たち（曝露群）の病気のオッズが，その要因がない人たち（対照群とかコントロール群という1 ）の病気のオッズに対して何倍になっているか，というのがオッズ比（英語では Odds Ratio）である。同じように，曝露群のリスクの，対照群のリスクに対する比がリスク比2 である。
要因の有無と病気の有無がまったく関係がなければ，リスク比もオッズ比も 1 になることが期待される。それぞれ信頼区間を計算して（計算方法は難しいので後述），たとえば95%信頼区間が 1 を含まなければ，5%水準で有意な関連が見られるといえる。
ところで，病気のリスクは，全体のうちで病気を発症する人の割合であったから，まず全体を把握していないと定義できない。つまり，まず観察対象全体で曝露群と対照群を把握しておいて，経時的に追跡調査して，それぞれの群で何人ずつ発症するかを調べるという，「前向き研究」（コホート研究とかフォローアップ研究ということもある）でないと，リスク比は計算できないことになる。
これに対して，患者対照研究（Case Control Study）3 とか断面研究（Cross Sectional1

理想的な対照群は，その要因がない点だけが曝露群と違っていて，それ以外の条件はすべて同じであることが望ましい。
2
英語では Risk Ratio だが，Rate Ratio とか Relative Risk という言い方もある。Relative Risk の訳から相対危険ということもあるが，同じ意味。
3
調査時点で，患者を何人サンプリングすると決め，それと同じ人数の対照（その病気でないことだけが患者と違って，それ以外の条件はすべて患者と同じことが望ましい）を選んで，それぞれが過去に受けた曝露
要因や，現在の生活習慣，態度などを調べることによって，その病気の原因を探る方法論。

第7章

62

カテゴリ変数２つの分析（２）Study）4 では，曝露時点での全体が未知なので，原理的にリスクを計算できないことになる。激しい曝露を受けた人は調査時点よりずっと前に病気を発症して死んでしまった可能性があるので，患者対照研究や断面研究から無理にリスクを見積もろうとするとリスクを過小評価してしまうことになるからである。
一方，オッズ比はどんなデザインの研究でも計算できる。たんに，曝露群の病気の人数の病気でない人数に対する比が，対照群のそれに比べてどれくらい大きいかを示す値だか
らである5 。
ここで，クロス集計表ではどう計算するのかということを示す。以下の表を考えてみる。
疾病あり

疾病なし

合計

a
c
n1

b
d
n2

m1
m2
N

曝露あり
曝露なし
合計

この表でいえば，リスク比は (a/m1 )/(c/m2 ) となり，疾病オッズ比は (a/b)/(c/d) = ad/bcである。曝露オッズ比は (a/c)/(b/d) = ad/bc となるので，疾病オッズ比と一致することがわかる6 。
オッズ比が重要なのは，稀な現象をみるときには，リスク比のよい近似になるからであると言われている。たとえば，送電線からの高周波が白血病の原因になるという仮説を検証するために，送電線からの距離が近い場所に住んでいる人（曝露群）と，遠いところに住んでいる人（対照群）をサンプリングして，５年間の追跡調査をして，５年間の白血病の罹患率を調査することを考えよう。白血病は稀な疾患だし，高周波に曝露しなくても発症することはあるので，このデザインでリスク比を計算するためには，莫大な数のサンプ
ルをフォローアップする必要があり，大規模な予算とマンパワーが投入される必要があるだろう。
仮に7 調査結果が，下表のようであったとすると，送電線近くに居住送電線から離れて居住
合計

白血病発症

発症せず

合計

4
2
6

9996
9998
19994

10000
10000
20000

4
調べてみないと患者かどうかさえわからないような場合や，因果の向きがはっきりしない変数間の関係を見たいときは，全体で何人サンプリングすると決めて一時点で調査する。こういう方法論を断面研究という。
5
この場合のオッズ比は，「曝露なし群での疾病ありのオッズ」に対する「曝露あり群での疾病ありのオッズ」の比なので，疾病オッズ比という。逆に，疾病あり群で曝露した人数の曝露していない人数に対する比が，疾病なし群のそれに比べてどれくらい大きいかを示す値として曝露オッズ比というものも考えられるが，数学的には同じ値になる。
6
ただし，統計パッケージでは，単純なこの値でなく，最尤推定をして得られる条件付きオッズ比が表示されることが多い。
7
これはあくまで架空のデータである。本当の送電線と白血病の関係は，数年前から，WHO のプロジェク
トの一環として，国立環境研究所と国立癌センターの研究チームが調べたらしいが，その結果がどうなったのかは知らない。

7.1. 研究デザインとリスク，オッズ

63

送電線の近くに住むことで白血病を発症するリスクは，送電線から離れて住む場合の２倍になった（(4/10000)/(2/10000) = 2，つまりリスク比が２なので）ということができる。ここでオッズ比をみると，(4 ∗ 9998)/(2 ∗ 9996) ≃ 2.0004 と，ほぼリスク比と一致していることがわかる。上述のように最尤推定された条件付きオッズ比は，R のプログラムを使って fisher.test(matrix(c(4,2,9996,9998), nc=2)) として計算すると，2.000322
である。
こうして得られるリスク比は，確かに原理的に正しくリスクを評価するのだが，稀なリ
スクの評価のためには大規模な調査が必要になるので，効率が良いとはいえない。そこで，
通常は，前向き研究ではなく，患者対照研究を行って，過去の曝露との関係をみることが行われる。この場合だったら，白血病患者 100 人と対照 100 人に対して，過去に送電線の近くに居住していたかどうかを聞くわけである。それで得られた結果が，仮に下表のようになったとしよう8 。

送電線近くに居住した経験あり
送電線から離れて居住
合計

白血病

白血病でない

合計

20
80
100

10
90
100

30
170
200

この場合，リスク比は計算しても意味がない（白血病かつ送電線の近くに居住した経験がある 20 人は，送電線の近くに住んだ経験がある人からのサンプルではなく，白血病患者
からのサンプルだから）が，送電線の近くに居住した経験がある人のうち，白血病の人の，白血病でない人に対するオッズは 2 となり，送電線から離れて居住した人ではそのオッズが 0.888 . . . となるので，これらのオッズの比は 2.25 となる。この値は母集団におけるリスク比のよい近似になることが知られている。このように稀な疾患の場合は，患者対照研
究でオッズ比を求める方が効率が良い。
原理的に前向き調査ができない場合もある。とくに，薬害と呼ばれる現象は，妙な病気が見つかったときに，後付けで原因を探ることになるので，患者対照研究にならざるを得ない。たとえば，スモンとかサリドマイドは，そうやって原因がわかった問題である。腕が短く生まれた子どもの母親と，そうでない子どもの母親に，妊娠中に飲んだ薬の有無を尋ねて，特定の時期にサリドマイドを飲んだという曝露による疾病オッズ比が有意に大きい結果が得られたのだ9 。
また，問題があるかどうかが事前に明らかでない場合は，断面研究をせざるを得ない。
聞き取りや質問紙などで調べる，心理学的，あるいは社会学的な調査項目間の関係を見る
場合は，断面研究をする場合が多い。なお，断面研究の場合は，リスク比やオッズ比の他に，リスク差，相対差，曝露寄与率，母集団寄与率，Yule の Q，ファイ係数といったものがある（後述）10 。
8

くどいようだが，あくまで架空のデータである。
ここで有意と書いたが，統計的に有意かどうかをいうためには検定するか，95%信頼区間を出さねばならない。その方法は後述する。
10２×２でないクロス集計表で，たとえば５×５以上ならば，順位相関係数を使うことも可能。
9

第7章

64

カテゴリ変数２つの分析（２）

なお，同じ質問を２回した場合に同じ変数がどれくらい一致するかについては，普通にクロス集計表を作って独立性の検定ができそうな気がするかもしれないが，してはいけない。この場合は test-retest-reliability を測ることになるので，クロンバックのα係数や κ
統計量などの一致度の指標を計算するべきである（後述）。
では，リスク比とオッズ比の 95%信頼区間を考えよう。まずリスク比の場合から考えると，前向き研究でないとリスク比は計算できないので，曝露あり群となし群をそれぞれ m1
人，m2 人フォローアップして，曝露あり群で X 人，なし群で Y 人が病気を発症したとしよう。得られる表は，

曝露あり
曝露なし
合計

発症

発症なし

合計

X
Y
X +Y

m1 − X
m2 − YN −X −Ym1
m2
Nとなる。このとき，母集団でのリスクの推定値は，曝露があったとき π1 = X/m1 ，曝露がなかったとき π2 = Y /m2 である。リスク比は，RR = π1 /π2 なので，その推定量は，(Xm2 )/(Y m1 ) となる。
リスク比の分布は N が大きくなれば正規分布に近づくので，正規分布を当てはめて信頼区間を求めることができるが，普通は右裾を引いているので対数変換か立方根変換（Baileyの方法）をしなくてはならない。対数変換の場合，95%信頼区間の下限と上限はそれぞれ，√

RR · exp(−qnorm(0.975) 1/X − 1/m1 + 1/Y − 1/m2 ) （下限）

(7.1)

√

RR · exp(qnorm(0.975) 1/X − 1/m1 + 1/Y − 1/m2 ) （上限）(7.2)

となる。RR が大きい場合は立方根変換しなくてはいけないが，煩雑なので省略する。前
述の白血病の例で計算してみると，95%信頼区間は，(0.37, 10.9) となる。
次にオッズ比の信頼区間を考える。前述の表の a, b, c, d という記号を使うと，オッズ比の点推定値 OR は，OR = (ad)/(bc) である。オッズ比の分布も右裾を引いているので，対数変換または Cornfield (1956) の方法によって正規分布に近づけ，正規近似を使って 95%信頼区間を求めることになる。対数変換の場合，95%信頼区間の下限は OR ·√√exp(−qnorm(0.975) 1/a + 1/b + 1/c + 1/d)，上限は OR·exp(qnorm(0.975) 1/a + 1/b + 1/c + 1/d)となる。前述の白血病の例で計算してみると，オッズ比の 95%信頼区間も (0.37, 10.9) となる。R の fisher.test() 関数で計算した結果では，オッズ比の 95%信頼区間は (0.29, 22.1)となり，対数変換を使った単純な計算よりも幅が広くなる。Cornfield の方法はやや複雑であり，高次方程式の解を Newton 法などで数値的に求める必要があるので，本書では扱わない11 。

11とはいえ，実は R には関数の最小化や当てはめや数値積分を実行する関数も含まれているので，ちょっとコードを書けば Cornfield の方法を提供する関数定義もそれほど難しくないはずである。

7.2. その他の関連性の指標

65

7.2

その他の関連性の指標

7.2.1

リスク差

曝露によるリスクの増減を絶対的な変化の大きさで表した値。過剰危険 (Excess Risk)ともいう。
RD = π1 − π2

7.2.2

相対差

要因ももたず発症もしていない者のうち，要因をもった場合にのみ発症する割合。

RelD = (π1 − π2 )/(1 − π2 )

7.2.3

曝露寄与率

真に要因の影響によって発症した者の割合。

AF e = (π1 − π2 )/π1

7.2.4

母集団寄与率母集団において真に要因の影響によって発症した者の割合。π = (X + Y )/(m1 + m2 )として，
AF p = (π − π2 )/π

7.2.5

Yule の Q

オッズ比を −1 から 1 の値を取るようにスケーリングしたもの。

Q = (OR − 1)/(OR + 1)7.2.6

ファイ係数 (ρ)

要因の有無，発症の有無を 1,0 で表した場合の相関係数12 。θ1 , θ2 を発症者中の要因あり
割合，非発症者中の要因あり割合として，√ρ=(π1 − π2 )(θ1 − θ2 )相関係数については，第 11 章で詳しく説明するが，−1 から 1 までの値をとる量で，２つの変数間にまったく関連がない場合に 0 となり，片方が大きくなればもう片方の変数も常に同じ割合で大きくなる関係があ
るとき 1 となる。
12

第7章

66

7.3

一致度の指標

7.3.1

κ 統計量

カテゴリ変数２つの分析（２）２回の繰り返し調査をしたときに，あるカテゴリ変数がどれくらい一致するかを示す指
標である。
２回目○

２回目×

合計

a
c
n1

b
d
n2

m1
m2
N

１回目○
１回目×
合計

という表から，偶然でもこれくらいは一致するだろうと思われる値は，１回目と２回目の間に関連がない場合の各セルの期待値を足して全数で割った値になるので Pe = (n1 · m1 /N +n2 · m2 /N )/N ，実際の一致割合（１回目も２回目も○か，１回目も２回目も×であった割合）は Po = (a + d)/N とわかる。ここで，κ = (Po − Pe )/(1 − Pe ) と定義すると，κ は，完全一致のとき１，偶然と同じとき０，それ以下で負となる統計量となる。
κ 統計量は，有意性の検定ができる。κ の分散 V (κ) = Pe /(N · (1 − Pe )) となるので，√
κ/ V (κ) が標準正規分布に従うことを利用して検定できる。つまり，帰無仮説「κ が偶√然一致する程度と差がない」が正しい確率が 1 − pnorm(κ/ V (κ)) となる。
ここで pnorm() は正規分布の分布関数を表す R の関数である。上の表の記号を使ってR のプログラムを書けば，


Pe<-(n1*m1/N+n2/N*m2)/N
Po<-(a+d)/N
kappa<-(Po-Pe)/(1-Pe)
SEkappazero<-sqrt(Pe/(N*(1-Pe)))pkappa<-1-pnorm(kappa/SEkappazero)cat("Kappa=",kappa," (p=",pkappa,")\n")




となる。
この確率が 5%未満ならば，得られた一致度は有意水準 5%で信頼できる（偶然の一致より大きい）といえる。
κ 統計量の 95%信頼区間は，

κ ± qnorm(0.975) ·√Po · (1 − Po )/(N · (1 − Pe )2 )として計算できる。
有意性の検定の場合と同様に，上の表の記号を使って R のプログラムを書けば，

7.4. 利用例

67





Pe<-(n1*m1/N+n2/N*m2)/N
Po<-(a+d)/N
kappa<-(Po-Pe)/(1-Pe)
SEkappa<-sqrt(Po*(1-Po)/(N*(1-Pe)^2))
kappaL<-kappa-qnorm(0.975)*SEkappa
kappaU<-kappa+qnorm(0.975)*SEkappacat(95%CI=[",kappaL,",",kappaU,"]\n")




となる。
なお κ 統計量は，２×２だけでなく，ｍ×ｍのクロス集計表に適用できる概念である。

7.4

利用例

本章で紹介した全ての指標を計算する関数 crosstab() を定義し，R の組み込みデータであるスイス女性の出生データに適用する例を挙げておくので，参考にされたい。13## Defining a function to combine several calculation for the indices of# relationship.
# developed by Minato Nakazawa on 16th November 2001.
crosstab <- function(X) {if (length(X)>4) stop("Given data cannot constitute 2x2 cross table")cat(rep("=",35),"\n The results may include inappropriate statistics
for given table\n(e.g. Risk Ratio can stand only for cohort study).
Take care.\n",rep("=",35),"\n")a<-X[1,1]; b<-X[1,2]; c<-X[2,1]; d<-X[2,2]m1<-a+b; m2<-c+d; N<-m1+m2; n1<-a+c; n2<-b+d# risk ratio
RR<-(a*m2)/(c*m1)
RRL<-RR*exp(-qnorm(0.975)*sqrt(1/a-1/m1+1/c-1/m2))
RRU<-RR*exp(qnorm(0.975)*sqrt(1/a-1/m1+1/c-1/m2))
cat("Risk Ratio=",RR,"\t 95%CI=[",RRL,",",RRU,"]\n")# odds ratio
OR<-(a*d)/(b*c)
ORL<-OR*exp(-qnorm(0.975)*sqrt(1/a+1/b+1/c+1/d))
ORU<-OR*exp(qnorm(0.975)*sqrt(1/a+1/b+1/c+1/d))cat("Odds Ratio=",OR,"\t 95%CI=[",ORL,",",ORU,"]\n")







68

第7章

カテゴリ変数２つの分析（２）# risk differencecat("Risk Difference=",RD<-a/m1-c/m2,"\n")# relative differencecat("Relative Difference=",RelD<-(a/m1-c/m2)/(1-c/m2),"\n")# "曝露寄与率"
cat("AFe=",AFe<-(a/m1-c/m2)/(a/m1),"\n")# "母集団寄与率"
cat("AFp=",AFp<-(n1/N-c/m2)/(n1/N),"\n")# Yule’s Q
cat("Yule’s Q=",Q<-(OR-1)/(OR+1),"\n")# "ファイ係数"
cat("phi coefficient=",rho<-sqrt((a/m1-c/m2)*(a/n1-b/m2)),"\n")# kappa
Pe<-(n1*m1/N+n2/N*m2)/N
Po<-(a+d)/N
kappa<-(Po-Pe)/(1-Pe)
SEkappa<-sqrt(Po*(1-Po)/(N*(1-Pe)^2))
kappaL<-kappa-qnorm(0.975)*SEkappa
kappaU<-kappa+qnorm(0.975)*SEkappa
SEkappazero<-sqrt(Pe/(N*(1-Pe)))pkappa<-1-pnorm(kappa/SEkappazero)cat("Kappa=",kappa," (p=",pkappa,")\t 95%CI=[",kappaL,",",kappaU,"]\n")}data(infert)
fewchild<-(infert$parity<=2)noabort<-(infert$spontaneous==0)
Y<-table(fewchild,noabort)
print(Y)# output of table(fewchild,noabort)##noabort# fewchild FALSE TRUE
#
FALSE
43
25
#
TRUE
64 116## i.e.
#abort# morechild TRUE FALSE
#
TRUE
43
25
#
FALSE
64
116





7.4. 利用例
69


# Chi-square test
print(chisq.test(Y))# Fisher’s exact test (where odds ratio is conditional MLE)
print(fisher.test(Y))
crosstab(Y)# same as crosstab(matrix(c(43,64,25,116),nc=2))

上記関数定義のうち，リスク比やカッパ統計量に関する部分は，若干改良して拙作 fmsb
パッケージに入れてある。なお vcd パッケージでも，Kappa() 関数により κ 統計量の区間推定や，oddsratio() 関数によりオッズ比の区間推定が可能である。ネットワークに接続された環境ならば，R のプロンプトに対し，install.packages("vcd") で vcd パッケー
ジがインストールされ，library(vcd) でその関数が使えるようになる。

71

第 8 章 平均に関する推定と検定
本章では，量的な変数の代表値である平均についての分析法を説明する。まず，何らかの標本データの平均が母集団の平均に一致するかどうかを探る場合を考えよう。たとえば，山口市のある保健所で 100 人の３歳児の体重を測ったときに，その平均が全国平均として報告されている値と一致するかどうかを検討するような場合がこれに当たる。

8.1

母平均と標本平均の差の検定∑

サイズ n の標本 X について，標本平均 E(X) = X/n と既知の母平均 µX の差の検定√
は，母分散 VX が既知のとき，z0 = |E(X) − µX |/ VX /n が標準正規分布に従うことを使って検定できる。
∑
VX が未知のときは，標本の不偏分散 SX = (Xi − E(X))2 /(n − 1) = var(X) を使っ√て，t0 = |E(X) − µX |/ SX /n が自由度 n − 1 の t 分布に従うことを使って検定できる（暗黙の仮定として，ランダムサンプルで，母集団の分布が正規分布であることが必要）。
未知の母平均の信頼区間の推定はこの裏返しである。 つまり，母平均の 95%信頼区間の下限は，不偏分散を標本サイズ n で割ったものの平方根に自由度 n − 1 の t 分布の 97.5%点を掛けた値を標本平均から引いた値になり，上限は，同じ値を標本平均に足した値になる。
なお，R では，変数 X と既知の母平均 mu について，t.test(X,mu=mu) とすれば，上記の検定と推定を両方やってくれる。

第 8 章 平均に関する推定と検定

72

例題１



2001 年に厚生科学研究で行われた「少子化の見通しに関する専門家調査」の結果の一部を見てみる。この調査は，「人口学，経済学，家族社会学，公衆衛生学を中心とした専門家を対象として少子化研究会のメンバーが対象候補者を抽出し，回答者の偏りや不足等について検討を加えた上で，748 名を対象として調査を実施した」もので，回収率は 44 ％であった。この調査では，2025 年の合計出生率がいくつになるかという推定値が尋ねられていて，生データを見ると，1.38 1.50 1.30 1.40 1.40 1.15 1.31 1.37 1.50 1.55 1.55 1.56
1.50 1.56 1.50 1.38 1.50 1.20 1.20 1.50 1.25 1.25 1.22 1.40
1.80 1.37 1.35 1.70 1.35 1.50 ...（後略）のようになっていた（回答数は 311，平均は 1.385，不偏分散は 0.0252 であった）。調査用紙には，厚生労働省『人口動態統計』から，国立社会保障・人口問題研究所による低位推計 1.38，中位推計 1.61，高位推計 1.85 という情報が掲載されていた。仮にこれらの値を母平均とすると，専門家たちが出した推定値は，それに一致しているといえるだろうか？


仮に中位推計を母平均としたとき，得られたデータがそれに一致するかどうかを見てみ√よう。母分散は不明なので，SX を使って，t0 = |1.385 − 1.61|/ 0.0252/311 = 25.0 より，
自由度 310 の t 分布で 25.0 の上側確率はほぼ 0 なので両側検定のために 2 倍しても1 ほぼ
0 であり，有意に異なるといえる。なお，元のデータを x<-c(1.38,1.50,...) のように xに付値しておけば，t.test(x,mu=1.61,alternative="two.sided") で母平均との差の検定結果が出力される（,alternative="two.sided"は省略しても同じ）。
√
低位推計を母平均としたときは，t0 = |1.385 − 1.38|/ 0.0252/311 = 0.555 となり，自由度 310 の t 分布で上側確率をみると 0.289 となる。つまり，得られたデータの母平均が1.38 と等しいという帰無仮説が成立する確率は 0.289 × 2 = 0.579 となり，棄却されない。
√
95%信頼区間を計算すると，下限が 1.385 − 1.968 · 0.0252/311 = 1.367，上限が 1.385 +√
1.968 · 0.0252/311 = 1.403 となる。

例題２



平成 10 年の国民栄養調査によれば，50–59 歳男性の平均 BMI は 23.6 であった。同じ年にＡ社の職員健診を受診した 50–59 歳男性 248 人の平均 BMI が 24.6 で，その不偏分散が 8.6 であったとき，Ａ社の 50-59 歳男性は全国平均に比べて BMI に差があるといえるかどうか検定せよ。
√

母分散が未知なので，標本の不偏分散で代用すれば，t0 = |24.6 − 23.6|/ 8.6/248 = 5.37
より，自由度 247 の t 分布で 5.37 の上側確率はほぼ 0 なので，両側検定のために２倍しても有意に異なるといえる。
「ほぼ 0」と書いたが，R で 1-pt(5.37,247) をちゃんと計算すると，結果は 9.081154e-08と表示される（これは浮動小数点表示となっていて，9.081154 × 10−8 を意味する）。
1

両側検定と片側検定については第６章脚注 2 でも触れたが，後で詳述する。

8.2. 独立２標本の平均の差の検定

8.2

73

独立２標本の平均の差の検定

標本調査によって得られた独立した２つの量的変数 X と Y（サンプル数が各々 nX と nY と
√
する）
について，
母分散が既知で等しい V である場合は，
z0 = |E(X)−E(Y )|/ V /nX + V /nYが標準正規分布に従うことを使って検定する2 。

8.2.1

母分散が未知の場合

調査データを分析する場合は母分散が既知であることはほとんどなく，これが普通である。手順としては以下の通りである。

1. F 検定（分散が等しいかどうか）：２つの量的変数 X と Y の不偏分散の大きい方を小さい方で割った F0 = SX /SY が第１自由度 nX − 1，第２自由度 nY − 1 の F 分
3
布に従うことを使って検定する。
2. 分散に差があるか差がないかによって，平均が等しいかどうかの検定法は異なる。48.2.2

分散に差がない場合

母分散 S を S = [(nX − 1)SX + (nY − 1)SY ]/(nX + nY − 2) として推定し，t0 =√|E(X) − E(Y )|/ S/nX + S/nY が自由度 nX + nY − 2 の t 分布に従うことを利用して検定する。R では，t.test(X,Y,var.equal=T) とすれば検定してくれる。

8.2.3

分散が差がある場合（Welch の方法）√

t0 = |E(X) − E(Y )|/ SX /nX + SY /nY が自由度 ϕ の t 分布に従うことを使って検定する。ただし(SX /nX + SY /nY )2
ϕ={(SX /nX )2 /(nX − 1) + (SY /nY )2 /(nY − 1)}
R では，t.test(X,Y)（または t.test(X,Y,var.equal=F) だが，var.equal の指定を省略した時は等分散でないと仮定して Welch の検定がなされるので省略していい）とすれ
ば検定してくれる。
2

分布がひどく歪んでいる場合には，Mann-Whitney の U 検定（Wilcoxon の順位和検定ともいう）を行う。詳細は次章で説明するが，その場合は，代表値としても平均と標準偏差でなく，中央値と四分位偏差を表示するのが相応しい。
3
R では 1−pf(F0 ,nX − 1,nY − 1) が有意確率になる。しかし，F0 を手計算しなくても，var.test(X,Y )で等分散かどうかの検定が実行できる。var.test() のデフォルトでは，X と Y の不偏分散の大小を無視して分散比 F を算出した両側検定がなされるので，X の不偏分散が Y の不偏分散より大きくなるように入れ換える必要はない。
4
分散に差があるだけでも，別の母集団からとられた標本であると判断して，平均が等しいかどうかを検定する意味はないとする考え方もありうるが，Welch の方法を使うか，ノンパラメトリックな方法を使って検定するのが普通である。ただし最近ではこの伝統的なやり方が検定の多重性を生むという批判があり，2 群の平均値の差の検定は常に Welch の方法でいいという意見が主流になりつつある。巻末付録 A も参照されたい。

74

第 8 章 平均に関する推定と検定


例題３



先の調査では，少子化に対するイメージを問う質問項目もあった。「明るいイメージ」「どちらかといえば明るいイメージ」「どちらかといえば暗いイメージ」「暗いイメー
ジ」の４つから選ぶのだが，仮に「明るいイメージ」または「どちらかといえば明るいイメージ」と答えた人（楽観主義と呼ぶことにする）と，「どちらかといえば暗いイ
メージ」または「暗いイメージ」と答えた人（悲観主義と呼ぶことにする）に分けると，楽観主義と悲観主義で比べたら，2025 年の合計出生率の推定値に有意な差はあるだろうか？


楽観主義のデータは，



1.40 1.15 1.55 1.56 1.50 1.50 1.20 1.80 1.30 1.54 1.40 1.60 1.50
1.25 1.38 1.50 1.30 1.35 1.50 1.20 1.70 1.60 1.40 1.30 1.05 1.62
1.25 1.40 1.50 1.10 ... （後略）となっていて（サンプル数 nX = 68，平均 E(X) = 1.384，不偏分散 SX = 0.0337），悲観主義のデータは，
1.38 1.50 1.30 1.40 1.31 1.37 1.50 1.55 1.56 1.50 1.38 1.20 1.50
1.25 1.25 1.22 1.40 1.37 1.35 1.70 1.35 1.55 1.60 1.70 1.20 1.31
1.40 1.40 1.60 1.10 ... （後略）となっていて（サンプル数 nY = 235，平均 E(Y ) = 1.383，不偏分散 SY = 0.0234），生のデータを見ただけでは差があるかないかさっぱりわからない。そこでまず思いつくのが，平均を比べてやろうということである。楽観主義でも悲観主義でも同じ母集団に属していて，合計出生率の推定そのものには差がないと仮定すると，これらのデータは平均も分散も一致するはずである。実際はどうなっているだろうか？
母分散は不明なので，まず F 検定を行う。F0 = 0.0337/0.0234 = 1.443 なので，第１自由度 67，第２自由度 234 の F 分布で上側確率を計算すると，0.0246 となり，分散が等しいという帰無仮説は棄却される。そこで，Welch の方法によって検定を行うと，t0 = 0.031，
ϕ = 95.465 となるので，有意確率は 0.9753 であり，２群の平均に差がないという帰無仮説は採択される。よって，楽観主義でも悲観主義でも 2025 年の合計出生率の推測値には差がないといえる。

8.3. 両側検定と片側検定

75


例題４



件の専門家調査には，出生率がそのうち回復するとみるか，低下し続けるとみるかという質問項目もあり，この答えの違いによって，2025 年の予測値には違いがありそうである。
回復するとみる人たちの 2025 年の合計出生率の予測値は，1.40 1.40 1.56 1.50 1.40 1.80 1.37 1.40 1.40 1.60 1.60 1.25 1.50
1.50 1.70 ...（後略）となっており（サンプル数 58，平均 1.487，不偏分散 0.0275），低下し続けるとみる人たちの予測値は，1.38 1.30 1.15 1.31 1.37 1.50 1.55 1.55 1.56 1.50 1.50 1.38
1.20 1.20 1.25 ... （後略）となっている（サンプル数 221，平均 1.356，不偏分散 0.0211）。２群間に違いがあると言っていいか？
R で計算すると，



F0 <- 0.0275/0.0211
1-pf(F0,57,220)とすれば，0.0916 という結果が得られるので分散に有意差はないといえる。したがって，
Welch の方法にしなくていい。続けて R で計算すると，
S <- ((58-1)*0.0275+(221-1)*0.0211)/(58+221-2)
t0 <- abs(1.487-1.356)/sqrt(S/58+S/221)
2*(1-pt(t0,58+221-2))


の結果として 8.97506e-09 が得られ，平均には有意差があるといえる。もっとも，R では，X と Y に各群の生データを付値して，t.test(X,Y,var.equal=T) とすれば，同じ結果が得られる。通常はそれで十分である。

8.3

両側検定と片側検定

これまでも何度か両側検定をしてきたが，ここで両側検定と片側検定の意味をもう一度
きちんと押さえておこう。
２つの量的変数 X と Y の平均の差の検定をする場合，それぞれの母平均を µX ，µY と∑∑書けば，その推定量は µX = mean(X) = X/n と µY = mean(Y ) = Y /n となる。
両側検定では，帰無仮説 H0 : µX = µY に対して対立仮説（帰無仮説が棄却された場合に「µX > µY または µX < µY 」
採択される仮説）H1 : µX ̸= µY である。H1 を書き直すと，ということである。つまり，t0 を「平均の差を標準誤差で割った値」として求めると，t0が負になる場合も正になる場合もあるので，有意水準 5%で検定して有意になる場合とい第 8 章 平均に関する推定と検定

76

うのは，t0 が負で t 分布の下側 2.5%点より小さい場合と，t0 が正で t 分布の上側 2.5%点（つまり 97.5%点）より大きい場合の両方を含む。t 分布は原点について対称なので，結局両側検定の場合は，上述のように差の絶対値を分子にして，t0 の t 分布の上側確率を２倍すれば有意確率が得られることになる。
なお，上側確率とは，t 分布の確率密度関数を t0 から無限大まで積分した値，すなわち，t 分布の分布関数の t0 のところの値を 1 から引いた値である。R では 1-pt(t0, 自由度)として得る。
片側検定は，先験的に X と Y の間に大小関係が仮定できる場合に行い，たとえば，Xの方が Y より小さくなっているかどうかを検定したい場合なら，帰無仮説 H0 : µX ≥ µY
に対して対立仮説 H1 : µX < µY となる。この場合は，t0 が正になる場合だけ考えればよい。有意水準 5%で検定して有意になるのは，t0 が t 分布の上側 5%点（つまり 95%点）より大きい場合である。R で片側検定をしたい場合は，alternative という指定を追加する。たとえば，X > Y が対立仮説なら，t.test(X,Y,alternative="greater") とする。
指定しなければ両側検定である。alternative に指定できる文字列は，greater の他にはless と two.sided がある（指定しない場合は two.sided を指定したのと同じ意味，つまり両側検定になる）。

8.4

対応のある２標本の平均の差の検定

たとえば，先に説明した専門家調査の結果で，2005 年の予測値と 2025 年の予測値に差があるかないかという問題を考えよう。この場合は同じ人について両方の値があるので，全体の平均に差があるかないかだけをみるのではなく，個人ごとの違いを見るほうが情報量が失われない。このような場合は，独立２標本の平均の差の検定をするよりも，対応のある２標本として分析する方が切れ味がよい（差の検出力が高い）。なお，分布が歪んでいる場合や，分布が仮定できない場合の，対応のある２標本の分布の位置の差があるかどうか検定するには，Wilcoxon の符号付き順位和検定を用いる。詳しくは次章で説明するが，対応のある２変数 X と Y について，R では wilcox.test(X,Y,paired=T) で実行できる。
この場合も U 検定のときと同じく，代表値は中央値と四分位偏差で表示するべきである。
対応のある２標本の差の検定は，paired-t 検定（または対応のある t 検定）と呼ばれ，意味合いとしてはペア間の値の差を計算して値の差の母平均が 0 であるかどうかを調べることになる。R で対応のある変数 X と Y の paired-t 検定をするには，t.test(X,Y,paired=T)
で実行できるし，それは t.test(X-Y,mu=0) と等価である。2025 年の予測値は，1.38 1.50 1.30 1.40 1.40 1.15 1.31 1.37 1.50 1.55 1.55 1.56 1.50
1.56 1.50 1.38 1.50 1.20 1.20 1.50 1.25 1.25 1.22 1.40 1.80 1.37
1.35 1.70 1.35 1.50 ...（後略）のようになっていた（回答数は 311，平均は 1.385，不偏分散は 0.0252）。2005 年の予測値は，1.30 1.35 1.34 1.35 1.32 1.25 1.34 1.34 1.40 1.40 1.35 1.30 1.30
1.32 1.35 1.39 1.30 1.30 1.30 1.20 1.33 1.35 1.30 1.37 1.40 1.33
1.39 1.35 1.35 1.30 ...（後略）であった（回答数は 311，平均は 1.334，不偏分散は 0.00259）。これを普通に t 検定するな
ら，明らかに分散が異なるので，Welch の検定によって t0 = 5.37，自由度が 373.1 より両8.4. 対応のある２標本の平均の差の検定

77

側検定の有意確率は 1.37 × 10−7 となるが，paired-t 検定をすると，2025 年と 2005 年の予測値の差が，-0.08 -0.15 0.04 -0.05 -0.08 0.10 0.03 -0.03 -0.10 -0.15 -0.20-0.26 -0.20 -0.24 -0.15 0.01 -0.20 0.10 0.10 -0.30 0.08 0.10
0.08 -0.03 ...（後略）となりサンプル数 311，平均 −0.0508，不偏分散 0.0192 より，t0 = 6.46 となり自由度 310の t 分布で上側確率を求めて２倍すれば，p = 3.942 × 10−10 となり，こちらの方が有意確率は小さくなる。いずれにせよ 5%よりずっと小さいので，2025 年の予測値と 2005 年の予測値は 5%水準で有意に異なるといえる。

79

第 9 章 ２群の差に関するノンパラメトリッ
クな検定
9.1

ノンパラメトリックな検定とは？

第 4 章で説明した通り，パラメータ（parameter）とは母数という意味である。これまで説明してきた検定法の多くは，母数，つまり母集団の分布に関する何らかの仮定をおいていた。その意味で，t 検定も F 検定もパラメトリックな分析法といえる。一方，フィッシャーの正確な確率は母数を仮定しないのでパラメトリックでない。ノンパラメトリッ
クな分析とは，パラメトリックでない分析，つまり母数を仮定しない分析をさす。
問題を定式化すると，次のようになる。

1. 標本データ X1 , X2 ,. . . , Xn が互いに独立に分布 F (x) に従い，別の標本データ Y1 , Y2 ,. . . , Yn
が互いに独立かつ X とも独立で分布 G(y) に従う。
2. F と G には連続分布であるという以外には制約をおかない。
3. このとき，「２つの分布に差はない」という帰無仮説（H : F (x) ≡ G(x)）を検定する。
つまり，ノンパラメトリックな検定では，「母数を仮定しない」とは言っても，連続分
布であることだけは仮定する。もっとも理想的には分布の形が同じで位置だけがずれているという，「ズレのモデル」が仮定できると話は簡単である。
２群の差に関するノンパラメトリックな検定の具体的な方法としては，前章でも軽く触れたように，Wilcoxon の順位和検定（Mann-Whitney の U 検定），符号付順位和検定，符号検定などがある。得られたデータがある種の経験分布関数に一致するかどうかを調べる

検定の区別



ただし，厳密に考えると区分はそれほど明確ではない。たとえば，カイ二乗検定では母集団の分布には特定の仮定は置いていないので，定義からするとノンパラメトリックな分析になる。
ただし，カイ二乗統計量がカイ二乗分布に従うためにはデータ数が十分に多いことが必要である。もっとも，そう言ってしまえば正規近似する場合の順位和検定もデータ数が多いことが必要なので，問題は何を検定の本質と見なすかという話になってくる。一般には，量的な変数を分析するのに，量の情報を使わずに大小関係，すなわち順位の情報だけを使う分析をノンパラメトリックな分析と呼ぶことが多い。



第9章

80

２群の差に関するノンパラメトリックな検定ために良く使われる検定法としてはコルモゴロフ＝スミルノフ検定（KS 検定）がある。説明は省略するが，R では ks.test(変数 1, 変数 2) で実行可能である。
パラメトリックな分析法が使える前提としては，理想的には母集団の分布は正規分布に従っていなくてはならない。しかし，実際には正規分布に従っていない場合もある。この場合の戦略としては，(1) 対数正規分布とかガンマ分布のような別な分布を考える，(2) 正
規分布に近づくような変換を施す，といったことが考えられるが，真の分布がわかっていないためにうまく行くとは限らない。そこで，ヒストグラムを描いてみて，どうも正規分
布ではなさそうだと思ったら，分布によらない方法を試してみるというのも一案である。
２群の分布の位置の差に関する検定の場合，Wilcoxon の順位和検定の検出力は，最良の場合の t 検定の 95%程度だが，分布が歪んでいる場合には t 検定よりも検出力が良くなる場合もある。
本章のテーマについて詳しく知りたい場合は，竹内，大橋 (1981) の第４章や，伊藤ら(1984) の第２章を参照されたい。

9.2

Wilcoxon の順位和検定

Wilcoxon の順位和検定は，Mann-Whitney の U 検定と（見かけはちょっと違うが）同じ内容の検定である（詳しくは囲みを見よ）。
データがもつ情報の中で，単調変換に対して頑健なのは順位なので，これを使って検定しようという発想である。以下，手順を箇条書きする。
1. 変数 X のデータを x1 , x2 ,. . . , xm とし，変数 Y のデータを y1 , y2 , ..., yn とする。
2. まず，これらをまぜこぜにして小さい方から順に番号をつける1 。たとえば，x8 [1], y2 [2], y17 [3],. . . , x4 [Nのようになる（ただし N = m + n）。
3. ここで問題にしたいのは，それぞれの変数の順位の合計がいくつになるかということである。ただし，順位の総合計は (N + 1)N/2 に決まっているので，片方の変数だ
け考えれば残りは引き算でわかる。そこで，変数 X だけ考えることにする。
4. X に属する xi （i = 1, 2,. . . , m）の順位を Ri と書くと，X の順位の合計は
RX =

m
∑

Ri

i=1

となる。RX があまり大きすぎたり小さすぎたりすると，X の分布と Y の分布に差がないという帰無仮説が疑わしいと判断されるわけである。では，帰無仮説が成り立つ場合に，RX はどのくらいの値になるのだろうか？

1

同順位がある場合の扱いは後述する。

9.2. Wilcoxon の順位和検定

81

5. もし X と Y に差がなければ，X は N 個のサンプルから偶然によって m 個取り出したものであり，Y がその残りである，と考えることができる。順位についてみると，1, 2, 3,. . . , N の順位から m 個の数値を取り出すことになる。ありうる組み合わ
せは，N Cm 通りある2 。
6. X > Y の場合には，N Cm 通りのうち，合計順位が RX と等しいかより大きい場合の数を k とする（X < Y の場合は，合計順位が RX と等しいかより小さい場合の数を k とする）。
7. k/N Cm が有意水準 α より小さいときに H0 を疑う。N が小さいときは有意になりにくいが，N が大きすぎると計算が大変面倒である3 。そこで，正規近似を行う（つまり，期待値と分散を求めて，統計量から期待値を引いて分散の平方根で割った値
が標準正規分布に近似的に従うという関係を用いて検定する）。
8. 帰無仮説 H0 のもとでは，期待値はE(R) =m∑

E(Ri ) = m(1 + 2 + · · · + N )/N = m(N + 1)/2i=1

（1 から N までの値を等確率 1/N でとるから）。分散はちょっと面倒で，var(R) = E(R2 ) − (E(R)2 )
から，

m
∑

E(R2 ) = E((i=1

Wilcoxon の順位和検定

Ri )2 ) =m∑
i=1

E(Ri2 ) + 2∑

E(Ri Rj )i<j

以下説明するように，順位和 R をそのまま検定統計量として用いるのが Wilcoxon の順位和検定であり，RX , RY の代わりに，UX = mn + n(n + 1)/2 − RY ，UY = mn + m(m + 1)/2 − RXとして，UX と UY の小さいほうを U として検定統計量として用いるのが，Mann-Whitney のU 検定である。有意確率を求めるために参照する表は違うが，数学的には同じ意味をもつ。R
では，Wilcoxon の順位和統計量の分布関数が提供されているので，たとえばここで得られた順位和を RS と書くことにすると，2*(1-pwilcox(RS,m,n)) で両側検定の正確な有意確率が
得られる。



2

R では choose(N,m)。
もっとも，今ではコンピュータにやらせればよい。たとえば R であれば，wilcox.test(X,Y,exact=T)とすれば，サンプル数の合計が 50 未満で同順位の値がなければ，総当りして正確な確率を計算してくれる。
が，つい 15 年くらい前まではコンピュータは誰もが使える道具ではなかったし，総当りをするには計算時間がかかりすぎた。今のコンピュータでも標本サイズが大きいと，総当りでは計算時間がかかりすぎて実用的
でない。
3

第9章

82

２群の差に関するノンパラメトリックな検定となるので4 ，E(Ri2 ) = (12 + 22 + · · · + N 2 )/N = (N + 1)(2N + 1)/6とE(Ri Rj ) =

N
N
∑
∑
1
{(
k)2 −
k}
N (N − 1) k=1
k=1(

N 2 (N + 1)2 N (N + 1)(2N + 1)
−
4
6

=

1
N (N − 1)=(N + 1)(3N + 2)
12)を代入して整理すると，結局，var(RX ) = m(N + 1)(N − m)/12 = mn(N + 1)/12となる。
√

9. 標準化5 して連続性の補正6 し，z0 = {|RX − E(RX )| − 1/2}/ var(RX ) を求める。
m と n が共に大きければこの値が標準正規分布に従うので，たとえば z0 > 1.96 な
らば，両側検定で有意水準 5%で有意である。R で有意確率を求めるには，z0 を z0と書けば，2*(1-pnorm(z0,0,1) とすればよい。
10. ただし，同順位があった場合は，ステップ 2) の「小さい方から順に番号をつける」
ところで困ってしまう。たとえば，変数 X が {2, 6, 3, 5}，変数 Y が {4, 7, 3, 1} であるような場合には，X にも Y にも 3 という値が含まれる。こういう場合は，下表のように平均順位を両方に与えることで，とりあえず解決できる。
属する変数
値
順位

Y
1
1

X
2
2

X
3
3.5

Y
3
3.5

Y
4
5

X
5
6

X
6
7

Y
7
8

11. ただし，このやり方では，正規近似をする場合に分散が変わる7 。帰無仮説の下で，E(RX ) = m(N + 1)/2 はステップ 8) と同じだが，分散がvar(RX ) = mn(N + 1)/12 − mn/{12N (N − 1)} ·T∑(d3t − dt )t=1
4

第１項が対角成分，第２項がそれ以外に相当する。m = 2 の場合を考えてやればわかるが，

E((

2
∑
i=1

Ri )2 ) = E((R1 + R2 )2 ) = E(R12 + R22 + 2R1 R2 ) =2∑

E(Ri2 ) + 2

i=1

となる。
5
何度も出てくるが，平均（期待値）を引いて分散の平方根で割る操作である。
6
これも何度も出てくるが，連続分布に近づけるために 1/2 を引く操作である。
7
正確な確率を求めるならば問題ない。

∑
i<j

E(Ri Rj )9.2. Wilcoxon の順位和検定

83となる。ここで T は同順位が存在する値の総数であり，dt は t 番目の同順位のところにいくつのデータが重なっているかを示す。上の例では，T = 1，d1 = 2 となる。
なお，あまりに同順位のものが多い場合は，この程度の補正では追いつかないので，値の大小があるクロス集計表として分析するべきである（詳細はより専門的なテキストを参照されたいが，たとえば Cochran-Armitage 検定などが考えられる）。

例題１



前章で紹介した，少子化の見通しに関する専門家調査の結果を再び取り上げることにする。低出生率は今後回復すると見る 58 人と，このまま出生率は低下し続けると見る 221 人の間で，2025 年の合計出生率の予測値には t 検定で差があったわけだが，予測値の分布を調べると，下図のようにかなり右裾を引いた歪んだ形になっていることがわかる。ノンパラメトリックな検定である Wilcoxon の順位和検定で検定をやり直してみよう。

20
100Frequency

Distribution of 2025 TFR prediction by optimists

1.0

1.2

1.4

1.6

1.8

2.0

2.2

value

20 40 600Frequency

Distribution of 2025 TFR prediction by pessimists

1.0

1.2

1.4

1.6

1.8

value





まず，それぞれの順位を計算する。R で２群を合わせた順位を計算するには，データフ
レームに戻すと便利である。今後回復すると見る人の予測値を示す変数を opt，低下し続けると見る人の予測値を示す変数を pes とすると，
d<-data.frame(gr=c(rep(1,NROW(opt)),rep(2,NROW(pes)),val=c(opt,pes))とすれば，d というデータフレームができる。次に，順位を得る関数 rank() を使って，
rnk <- rank(d$val) とし，これを元のデータフレームに結合して，dd<-data.frame(d,rk=rnk) とすれば，opt の順位の合計が sum(dd$rk[dd$gr==1]) によって得られ，pes の順位の合計が sum(dd$rk[dd$gr==2]) で得られる。opt と pes の順位はそれぞれ，(opt) 165.5 165.5 245.5 218.0 165.5 277.0 131.0 ...（後略）(pes) 141.0 83.0 17.5 103.0 131.0 218.0 241.0 ...（後略）

第9章

84

２群の差に関するノンパラメトリックな検定となり，それぞれの合計は，11157，27903 となる（もっとも，d<-cbind(c(rep(1,NROW(opt)),rep(2,NROW(pかつ x<-rank(d[,2]) としてから，x[d[,1]==1] として opt 群の順位を，x[d[,1]==2]として pes 群の順位を得ることもできる）。つまり，Ropt = 11157 である。ここでは，optの方が pes より確率的に大きいと考えられるので，opt≤pes を帰無仮説として片側検定をする。本当は同順位がいくつもあるので分散の計算が面倒なのだが，とりあえず同順位の存在を無視すると，Ropt の期待値 E(Ropt ) は，E(Ropt )=58 ∗ (58 + 221 + 1)/2 = 8120 となり，分散 V (Ropt ) は，V (Ropt )=58 ∗ 221 ∗ (58 + 221 + 1)/12 = 299086.7 となるので，Ropt − E(Ropt ) − 1/2√= 5.552323

V (Ropt )より，1-pnorm(5.552323,0,1)=1.4 × 10−8 である。この値はほとんどゼロなので帰無仮説は棄却され，opt は pes より大きいといえる。なお，R で同順位を考慮して計算するとwilcox.test(opt,pes,alternative="greater",exact=F) で良く，p = 1.248 × 10−8となり，大差ないことがわかる。これくらいデータ数が大きくて同順位が少なければ，同順位を考慮せずに計算しても，有意確率のオーダーは変わらない。

練習問題



ある大学の学生実習で水道水の水質検査をしたところ，遊離残留塩素濃度 (mg/L) が，集合住宅群 (A) では {0.3346, 0.6230, 0.8580, 1.1031, 0.4580, 0.6210, 0.9071, 0.4760,
0.5020, 0.9670, 0.7100, 0.1350, 1.1390, 0.5741, 0.9090, 1.0400, 0.4190, 0.6296, 1.1080,
0.5793, 1.0420, 1.2826, 1.8280, 0.1630} で，一戸建て群 (B) では {0.8583, 0.9320,
0.4220, 0.3570, 0.0641, 0.5338, 0.8280, 1.1400, 0.7229, 0.0000} であったとしよう（下表のように，この２群間には同順位はない）。この２群の間で遊離残留塩素濃度に差があるかどうか，Wilcoxon の順位和検定で調べてみよ。
(A)
値
順位
値
順位
値
順位
(B)
値
順位



0.334650.710018
1.042028

0.6230160.13503
1.282633

0.858021
1.139031
1.828034

1.103129
0.5741130.16304

0.458090.909024

0.621015
1.040027

0.907123
0.41907

0.4760100.6296170.502011
1.108030

0.967026
0.5793140.8583220.932025

0.422080.35706

0.0641
2

0.5338120.828020

1.140032

0.7229190.00001



詳しい計算手順は省くが，実際に試されたい。なお，R の wilcox.test() 関数を使って検定すると，正規近似では p = 0.2986，正確な確率では p = 0.3040 となる。すなわち，(A) と (B) の２群間に 5%水準で有意差はないことがわかる。

9.3. 正規スコア検定

85


有意



「有意」という考え方は重要なので，念のため復習しておく。この例題では，どちらが高いとか低いとかいった事前情報はないので，「集合住宅群と一戸建て群の間で水道水の遊離残留塩
素濃度に差はない」を帰無仮説として両側検定をする。
「有意水準を 5%にする」とは，「帰無仮説が偶然に成り立つ確率が 5%未満であれば，統計的に意味があるほど稀な現象なので帰無仮説は成り立たないとみなす」ということなので，「5%水準で有意でない」といえば，「帰無仮説が偶然に成り立つ確率が５％未満であれば，統計的に意味があるほど稀な現象なので帰無仮説は成り立たないとみなす，としたのに，データから計算するとその確率が 5%より大きくなってしまったので，統計的に意味があるほど稀ではなく，帰無仮説が成り立たないとはみなせない」ということになる。この例でいえば，有意水準を 5%にしたのに，「集合住宅群と一戸建て群の間で水道水の遊離残留塩素濃度に差がない」条件下で，実際に得られているデータが偶然得られる確率は 5%より大きいので，「差がない」という帰無仮説が棄却されなかったということを意味するわけである。



9.3

正規スコア検定

Wilcoxon の順位和検定では Ri として順位そのものを用いたが，これは大小関係が保存されるならば順位の代わりに適当なスコア s(Ri ) を使って構わない。スコアとして正規スコアを用いるのが，正規スコア検定である。
正規スコアとしては，Z(1|N ) ≤ Z(2|N ) ≤ ... ≤ Z(N |N ) を標準正規分布からの大きさ N の
順序統計量としたとき，s(Ri ) = E(Z(i|N ) ) ≃ Φ−1

(

i
N +1

)

を用いる。正規スコア検定は，ズレのモデルと分布の正規性の仮定の下では，t 検定と漸近的に同等である。

9.4

メディアン検定s(Ri ) として i ≥ [(N + 1)/2] のとき 1，i < [(N + 1)/2] のとき 0 を用いるのがメディア
ン検定である。次のように言い換えることもできる。
m 個のデータからなる X と n 個のデータからなる Y を合わせた N = m + n 個のデー
タを，全体のメディアン以上かメディアンより小さいかによって分類すると，以下の２×２クロス集計表が得られる。

メディアン以上
メディアンより小さい
合計

合計

X
H
m−H

Y
(m + n/2) − H
H + (n − m)/2

(m + n)/2(m + n)/2

m

n

m+n

第9章

86

２群の差に関するノンパラメトリックな検定

帰無仮説の下では H は m/2 の周りに分布する（超幾何分布）ので，P r(H = h′ ) =n
Ch′ ·n C(m+n)/2−h′ /m+n C(m+n)/2 より，P r(H ≥ h′ ) をすべて合計して２倍すれば，両側検定での有意確率が得られる。

9.5

符号付き順位和検定

２群間の各サンプルに対応がある場合には，単純な順位和検定よりも切れ味がよい方法がある。符号化順位検定とも呼ばれるこの方法は，paired-t 検定の場合と同じような考え方に基づく。
変数 X の任意の i 番目（i は 1 から n までの整数値）のデータが xi = ei + θi のように，誤差変動 ei と真の効果 θi の和であると捉えれば，もし X と Y が同じ母集団からのサンプルであるならば X − Y により X と Y に共通する真の効果を打ち消すことができて，
Ui = xi − yi = ei − e′i が得られる。このとき帰無仮説は，ei と e′1 の分布が同じということなので，Ui は原点に対して対称になるはずである。そこで，Ui の絶対値が小さい方から順に順位 Ri をつける。さらに，εi = 1(Ui > 0), εi = −1(Ui < 0) とすれば，帰無仮説の下で P r(εi = 1) = P r(εi = −1) = 1/2 となる。いま，

R∗ =

n
∑

εi Ri

i=1

とおけば，R∗ の大きさによって検定ができる。
すべての場合（εi の値が各 i について 2 通りあるので，2n 通り）を計算してやれば正確な確率が計算できるが8 ，n が大きくなると計算が大変なので，n ≥ 15 ならば近似を行ってよいことになっている。R∗ の期待値はE(R∗ ) =n∑

Ri E(εi ) =

i=1

n
∑

Ri (1 × 1/2 + (−1) × 1/2) = 0

i=1

分散は

var(R∗ ) =n∑

Ri 2 var(εi )

i=1

=
=

n
∑
i=1
n
∑

Ri 2 (12 × 1/2 + (−1)2 × 1/2)
Ri 2 = n(n + 1)(2n + 1)/6i=1となるので，標準化と連続性の補正をして，|R∗ | − 1/2√
var(R∗ )8

この正確な確率の計算法は，R. A. Fisher が考案した「並べかえ検定」(permutation test) と呼ばれている。後述する。

9.6. 符号検定

87が標準正規分布に従うことを利用して検定する。なお，R では，対応のある２群の生のデータを X と Y に付値しておき，wilcox.test(X,Y,paired=TRUE) とすればこの検定が
できる。

9.6

符号検定

対応がない場合と同様，対応がある場合でも，Ri という順位そのものを用いる代わりに，
スコア s(Ri ) を使うことが可能である。ただし，すべての 1 ≤ i, j ≤ n について，Ri ≤ Rj
ならば s(Ri ) ≤ s(Rj ) となっている必要がある。
もっとも単純なスコアとして，すべての i について s(Ri ) = 1 とすることを考えると，

R∗ =

n
∑

εi

i=1

となるので，これは Ui = xi − yi が正となるオブザーベーション数 K から負のオブザー
ベーション数を引いた値となり，2K − n に等しくなるので，K をそのまま検定統計量としてもよい。
帰無仮説の下での K の分布を考える。X と Y に差がなければ Ui が正となるか負となるかは確率 1/2 で起こるので，n 個のオブザーベーション中で正のオブザーベーション数がx 個になる確率 p(x) は２項分布で表され，p(x) =n Cx · (1/2)x · (1/2)n−x =n Cx · (1/2)nとなる。
したがって，K よりも稀な値が偶然得られる確率は，K > n/2 の場合には，2 ×

n
∑

p(x)

x=K

であり，この値が両側検定の有意水準と考えられる。なお，対立仮説が X > Y である片側検定の場合は，有意確率は

n∑p(x) となる。

x=K

もちろん，n が大きければ，２項分布は正規近似することができるが，n が小さいときに近似を用いずに確率を簡単に計算できるのが符号検定の利点である。

9.7

並べかえ検定前述の通り R. A. Fisher が考案したが，コンピュータが発達するまでは計算量が多すぎて，データが少ない場合にしか使えなかった。コンピュータ集約型統計学の代表的な手法の１つで，分布に依存しない正確な確率が出せる。
たとえば，符号付き順位和検定で正確な確率を計算するには，すべてのありうる R∗ を計算して，その絶対値が R∗ の実現値の絶対値以上の値になる場合の数 M を数えれば，M/2nが有意確率となる。R∗ が正の場合だけ考えて２倍しても，ほぼ同じ値になる（片側検定の場合は２倍しなくてよい）
。

88

第9章

２群の差に関するノンパラメトリックな検定

R では，CRAN から install.packages("exactRankTests") として追加パッケージをインストールし，library(exactRankTests) とすれば，perm.test() という関数で並べかえ検定が可能になる。

89

第 10 章10.1

多群間の差を調べる〜一元配置分散
分析と多重比較

多群間の比較を考える

t 検定や順位和検定では 2 群間の差を比べた。では，3 群以上の場合はどうしたらいいだろうか？
単純に 2 群間の差の検定を繰り返してはいけない。なぜなら，n 群から 2 群を抽出する
やりかたは n C2 通りあって，1 回あたりの第１種の過誤を 5%未満にしたとしても，3 群以上の比較全体として「少なくとも 1 組の差のある群がある」というと，全体としての第１
種の過誤が 5%よりずっと大きくなってしまうからである。
この問題を解消するには，大別して 2 つのアプローチがある。1 つは，多群間の比較という捉え方をやめて，群分け変数が注目している量の変数に与える効果があるかどうかという捉え方にする，というアプローチである。具体例でいえば，東京と長野と山口で年降水量の平均に差があるかどうかを見たいときに，東京と長野，長野と山口，という具合に比べるのではなくて，年降水量という変数に対して，地域という変数が有意な効果をもっているかどうか？ と立論するのである。このやり方に当たるのが一元配置分散分析やク
ラスカル＝ウォリス (Kruskal-Wallis) の検定（ノンパラメトリックな一元配置分散分析）
である。
もう 1 つのアプローチは，有意水準 5%の 2 群間の検定を繰り返すことによって全体としては大きくなってしまう第１種の過誤を調整することによって，全体としての検定の有意水準を 5%に抑えることである。このやり方は「多重比較法」と呼ばれる。さまざまな方法が提案されているが，中には数学的に不適切なものが歴史的に古くから使われているからというだけの理由で使われ続けている場合もあり，注意が必要である。
これら２つのアプローチは別々に行うというよりも，段階を踏んで行うものと考えるのが一般的である1 。一元配置分散分析やクラスカル＝ウォリスの検定によって群間に何らかの差があると結論されてから，初めてどの群とどの群の差があるのかを調べるために多重比較法を使うというわけである。その意味で，多重比較法は post hoc な解析と呼ばれる
1

ただし，永田，吉田 (1997) が指摘するように，段階を踏んで実行すると，ここにまた検定の多重性の問題が生じるので，両方はやるべきではない，という考え方にも一理ある。つまり，厳密に考えれば，群分け変
数が量的変数に与える効果があるかどうかを調べたいのか，群間で量的変数に差があるかどうかを調べたいのかによって，これら２つのアプローチを使い分けるべきだというのである。この点に関しては，多くの学術雑誌が現在でも「段階を踏め」式の指摘をしてくるので，思想の違いと考えるしかないし，どこかの群間にはっきりした違いがあれば，どちらの考え方をしても結果に違いは出てこないはずだから，当面は「段階を踏む」式の考え方をしておく方が無難であろう。

90

第 10 章 多群間の差を調べる〜一元配置分散分析と多重比較ことがある。仮に多重比較法で有意な結果が出たとしても，一元配置分散分析の結果が有意でなければ，偶然のばらつきの効果が群間の差よりも大きいということなので，特定群間の差に意味があると考えることは解釈のし過ぎである（少なくともそのことに配慮した解釈を加えなくてはいけない）。

10.2

一元配置分散分析

一元配置分散分析は，データのばらつき（変動）を，群間の違いという意味のはっきりしているばらつき（群間変動）と，各データが群ごとの平均からどれくらいばらついているか（誤差）をすべての群について合計したもの（誤差変動）に分解して，前者が後者よりもどれくらい大きいかを検討することによって，群分け変数がデータの変数に与える効果があるかどうかを調べるものである。
たとえば，南太平洋の３つの村 X, Y, Z で健診をやって，成人男性の身長や体重を測ったとしよう。このとき，データはたとえば次のようになる（架空のものである）。

ID 番号 村落 (vg)
1
X
2
X
（中略）
22
Z
（中略）
37
Y

身長 (cm)(height)

身長と体重の関係を図示すると図 10.1 のようになる。

161.5
167.0
166.0
155.5

10.2. 一元配置分散分析

91

165
160
150

155

Height (cm)

170

175

Distribution of heights for 3 villages

X

Y

Z

Village

図 10.1: 南太平洋３村落の男性における身長の分布
村落によって身長に差があるかどうかを検定したいならば，height という量的変数に対して，vg という群分け変数の効果があるかどうかを一元配置分散分析することになる。R でデータを読み込んでから，summary(aov(height ~ vg)) とすれば（実は anova(lm(height ~ vg))
でも同等），たとえば次のような結果が得られる。
Df Sum Sq Mean Sq F value
Pr(>F)
vg
2 422.72 211.36 5.7777 0.006918 **Residuals
34 1243.80
36.58--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

このような結果の表を分散分析表という。右端の*の数は有意性を示す目安だが，確率そのものに注目してみるほうがよい。Sum Sq のカラムは偏差平方和を意味する。vg の Sum Sqの値 422.72 は，村ごとの平均から総平均を引いて二乗した値を村ごとの人数で重み付けした和であり，群間変動または級間変動と呼ばれ，vg 間でのばらつきの程度を意味する。
Residuals の Sum Sq の値 1243.80 は各個人の身長からその個人が属する村の平均身長を引いて二乗したものの総和であり，誤差変動と呼ばれ，村によらない（それ以外の要因がないとすれば偶然の）ばらつきの程度を意味する。Mean Sq は平均平方和と呼ばれ，偏差平方和を自由度 (Df) で割ったものである。平均平方和は分散なので，vg の Mean Sq の
値 211.36 は群間分散または級間分散と呼ばれることがあり，Residuals の Mean Sq の値
36.58 は誤差分散と呼ばれることがある。F value は分散比と呼ばれ，群間分散の誤差分
散に対する比である。この場合の分散比は第１自由度 2，第２自由度 34 の F 分布に従う

第 10 章 多群間の差を調べる〜一元配置分散分析と多重比較

92

ことがわかっているので，それを使った検定の結果，分散比がこの実現値よりも偶然大きくなる確率（Pr(>F) に得られる）が得られる。この例では 0.006918 なので，vg の効果は5%水準で有意であり，帰無仮説は棄却される。つまり，身長は村落によって有意に異なることになる。
きちんと数式で説明すると，次のようになる。X 村の N1 人の身長が X11 , X12 , . . . ,X1N1 ，Y 村の N2 人の身長が X21 , X22 , . . . , X2N2 ，Z 村の N3 人の身長が X31 , X32 , . . . ,X3N3 だとする（総人口 N1 + N2 + N3 = N 人とする）。村毎の平均身長を X̄1 , X̄2 , X̄3 と書き，全体の平均を X̄T と書くことにする。このとき，総変動 ST は，

ST =

Ni
3 ∑
∑

(Xij − X̄T )2

i=1 j=1

級間変動 SA は，

SA =

Ni
3 ∑
∑

(X̄i − X̄T )2

i=1 j=1

誤差変動 SE は，

SE =

Ni
3 ∑
∑

(Xij − X̄i )2

i=1 j=1となる2 。自由度は，群の効果に関して PA = 3 − 1 = 2 で，残差の効果に関して PE =N − 3 = 34 である。よって，級間分散 VA = SA /PA ，誤差分散 VE = SE /PE と推定でき，F 統計量 F0 = VA /VE が，第１自由度 PA ，第２自由度 PE の F 分布に従うことを使って検定できる。R では，F0 が F0，PA が PA，PE が PE に付値されているとして，
p<-1-pf(F0,PA,PE) により有意確率が p に得られる。つまり，繰り返しになるが，分散分析とは，全体のばらつき ST を，群間の違いという意味のはっきりしているばらつき SAと，それでは説明できないばらつき，つまり誤差である SE に分けて比べることを意味するのである。
念のため上の数値例の値が数式のどれに当たるかをまとめておくと，PA が 2，PE が 34
（N が 37），SA が 422.72，SE が 1243.80，VA が 211.36，VE が 36.58，F0 が 5.7777，p が0.006918 である。
なお，この例のように，群分けをするカテゴリ変数が１つの場合を，一元配置分散分析(ONE-WAY ANOVA)，２つの場合を二元配置分散分析 (TWO-WAY ANOVA)，３つなら三元配置分散分析 (THREE-WAY ANOVA) などと呼ぶ。二元配置以上の場合は，カテ
ゴリ変数間での交互作用による影響を調べるための交互作用項がモデルに入ってくるし，その従属変数への効果を見るために母数モデルと変量モデルの違いを区別しなくてはならない。また，量的変数による交絡がある場合は共分散分析 (ANACOVA) をすることになる。32
3

ちなみに簡単な式変形で，このとき ST = SA + SE であることがわかる。確かめられよ。
これらの一部は第 12 章と第 13 章で説明する。

10.3. クラスカル＝ウォリス (Kruskal-Wallis) の検定

10.3

93

クラスカル＝ウォリス (Kruskal-Wallis) の検定

一元配置分散分析は，各群が等しい母分散をもつ正規分布に従うことを仮定して行っているパラメトリックな分析法なので，データの分布がひどく歪んでいる場合は結果がおかしくなる場合がある（枠囲みの解説を見よ）。
そこで，多群間の差を調べるためにもノンパラメトリックな方法がある。クラスカル＝ウォリス (Kruskal-Wallis) の検定と呼ばれる方法である。R では，量的変数を X，群分け
変数を C とすれば，kruskal.test(X~C) で実行できる。以下，仕組みを箇条書きで説明する。

• 「少なくともどれか１組の群間で大小の差がある」という対立仮説に対する「すべての群の間で大小の差がない」という帰無仮説を検定する。
• まず２群の比較の場合の順位和検定と同じく，すべてのデータを込みにして小さい方から順に順位をつける（同順位がある場合は平均順位を与える）。
• 次に，各群ごとに順位を足し合わせて，順位和 Ri (i = 1, 2, . . . , k; k は群の数) を求める。
• 各群のオブザーベーションの数をそれぞれ ni とし，全オブザーベーション数を N としたとき，各群について統計量 Bi を Bi = ni {Ri /ni − (N + 1)/2}2 として計算し，
B=

k
∑

Bi

i=1

として B を求め，H = 12 · B/{N (N + 1)} として H を求める。同順位を含むときは，すべての同順位の値について，その個数に個数の２乗から１を引いた値を掛けたものを計算し，その総和を A として，

H′ =


３つの検定法H
1 − N (NA2 −1)

各群の母分散が等しいかどうかを調べる検定法として，バートレット (Bartlett) の検定と呼ばれる方法がある。R では，量的変数を X，群分け変数を C とすれば，bartlett.test(X~C)
で実行できる。同じ目的のノンパラメトリックな方法として，Fligner-Killeen の検定という方法もある。R では，量的変数を X，群分け変数を C とすれば，fligner.test(X~C) で実行できる。また，母集団が正規分布しているかどうかを調べる方法としては，既に説明した
ヒストグラムや正規確率プロットなどのグラフ表示による方法の他に，シャピロ＝ウィルク(Shapiro-Wilk) の検定と呼ばれる方法もある。詳しくは説明しないが，R では，変数 X に対して，shapiro.test(X) で実行できる。厳密に言えば，これらの検定で等分散性と分布の正規性が確認されない限り，一元配置分散分析の結果を解釈するには注意が必要なのだが，論文や本でもそこまで考慮されずに使われていることが多い。


第 10 章 多群間の差を調べる〜一元配置分散分析と多重比較

94

により H を補正した値 H ′ を求める。

• H または H ′ から表を使って（データ数が少なければ並べかえ検定によって）有意確率を求めるのが普通だが，k ≥ 4 で各群のオブザーベーション数が最低でも 4 以
上か，または k = 3 で各群のオブザーベーション数が最低でも 5 以上なら，H や H ′が自由度 k − 1 のカイ二乗分布に従うものとして検定できる。
なお，対応のある多群間の差をノンパラメトリックな方法で調べるには，フリードマン(Friedman) の検定と呼ばれる手法を用いる。R では，量的変数を X，群分け変数を C とす
れば，friedman.test(X~C) で実行できる。簡単に説明すると，まず同じ個体について群間で順位をつける（群といっても，対応がある場合だから，たとえば 2005 年の予測値と2010 年の予測値と 2025 年の予測値というように，個々の個体について順位をつけることが可能である）。次に，群ごとにこの順位の合計（順位和）を計算する。順位和の二乗和か
ら順位和の平均の二乗を引いた値を統計量 S として，サンプル数が少ない場合は表によって（コンピュータシミュレーションによってもよい）有意確率を計算し，サンプル数が多い場合は自由度が群数より１少ないカイ二乗分布に従う統計量 Q を，S の 12 倍を個体数と群数と「群数＋１」の積で割った値として計算して有意確率を計算する。ただし同順位がある場合は調整が必要であり，煩雑なので，通常はコンピュータソフトウェアに計算さ
せる。

10.4

多重比較

仮に，上述の南太平洋の島の３つの村での健診の例で，一元配置分散分析かクラスカル＝ウォリスの検定で有意差があったときに，具体的にどの村の間に有意差があるのかを調べるには，単純に考えると，t 検定や順位和検定（これらについては，第８章と第９章を参照されたい。R での t 検定実行は，t.test(height[vg=="X"],height[vg=="Y"]) など。
R での順位和検定実行は，wilcox.test(height[vg=="X"],height[vg=="Y"]) など）を繰り返せば良さそうである。この方法が使われている本や論文もないわけではない。しかし，３つの村でこれをやると３つから２つを取り出す全ての組み合わせについて検定する
ので，３回の比較をすることになり，個々の検定について有意水準を 5%にすると，全体としての第１種の過誤は明らかに 5%より大きくなる。もし村が７つあったら，７つから２つを取り出す組み合わせは 21 通りあるので，１つくらいは偶然によって有意差が出てしまう比較があっても全然おかしくない。したがって，先に述べた通り，t 検定の繰り返しは第１種の過誤が大きくなってしまって不都合である。これに似た方法として無制約 LSD（最小有意差）法や Fisher の制約つき LSD 法（一元配置分散分析を行って有意だった場合にのみ LSD 法を行うという方法）があるが，これらも第１種の過誤を適切に調整できない（ただし制約つきの場合は 3 群なら大丈夫）ことがわかっているので，使ってはいけない。現在では，この問題は広く知られているので，t 検定の繰り返しや LSD 法で分析しても論文は accept されない。

10.4. 多重比較

95

多重比較の方法にはいろいろあるが，良く使われているものとして，ボンフェローニ(Bonferroni) の方法，シェフェ (Scheﬀé) の方法，ダンカン (Duncan) の方法，テューキー(Tukey) の HSD，ダネット (Dunnett) の方法，ウィリアムズ (Williams) の方法がある。しかしこの中で，ダンカンの方法は数学的に間違っていることがわかっているので，使ってはいけない。ボンフェローニの方法とシェフェの方法も検出力が悪いので，特別な場合を除いては使わない方が良い。せめてテューキーの HSD を使うべきである。ダネットの方法は対照群が存在する場合に対照群と他の群との比較に使われるので，適用場面が限定されている4 。ウィリアムズの方法は対照群があって他の群にも一定の傾向が仮定される場
合には最高の検出力を発揮するが，ダネットの方法よりもさらに限られた場合にしか使えない。
上記いくつかの方法が良く使われている原因は，用途が限定されているダネットの方法とウィリアムズの方法を除けば，たんにそれらが歴史的に古く考案され，昔の統計学の教科書にも説明されているからに過ぎない。現在では，かなり広い用途をもち，ノンパラメ
トリックな分析にも適応可能なホルム (Holm) の方法（ボンフェローニの方法を改良して開発された方法）が第一に考慮されるべきである。その上で，全ての群間の比較をしたい
場合はペリ (Peritz) の方法，対照群との比較をしたいならダネットの逐次棄却型検定（これはステップダウン法と呼ばれる方法の１つであり，既に触れたダネットの方法とは別）も考慮すればよい。とはいえ，ソフトウェアによってはこれらの方法をサポートしていな
い場合もあると思われ，その場合はテューキーの HSD を使うべきである（もちろん場合
によっては，ダネットの方法やウィリアムズの方法を使い分けねばならない）5 。
多重比較においては，帰無仮説が単純ではない。たとえば，4 群間の差を調べるとしよう。一元配置分散分析での帰無仮説は，µ1 = µ2 = µ3 = µ4 である。これを包括的帰無仮説と呼び，H{1,2,3,4} と書くことにする。さて第 1 群から第 4 群までの母平均 µ1 ∼ µ4 の間で等号関係が成り立つ場合をすべて書き上げてみると，H{1,2,3,4} : µ1 = µ2 = µ3 = µ4 ，H{1,2,3} : µ1 = µ2 = µ3 ，H{1,2,4} : µ1 = µ2 = µ4 ，H{1,3,4} : µ1 = µ3 = µ4 ，H{2,3,4} :µ2 = µ3 = µ4 ，H{1,2},{3,4} : µ1 = µ2 かつ µ3 = µ4 ，H{1,3},{2,4} : µ1 = µ3 かつ µ2 = µ4 ，H{1,4},{2,3} : µ1 = µ4 かつ µ2 = µ3 ，H{1,2} : µ1 = µ2 ，H{1,3} : µ1 = µ3 ，H{1,4} : µ1 = µ4 ，H{2,3} : µ2 = µ3 ，H{2,4} : µ2 = µ4 ，H{3,4} : µ3 = µ4 の 14 通りである。このうち，H{1,2,3,4}以外のものを部分帰無仮説と呼ぶ。すべての２つの群の組み合わせについて差を調べるということは，{H{1,2} , H{1,3} , H{1,4} , H{2,3} , H{2,4} , H{3,4} } が，考慮すべき部分帰無仮説の集合となる。一方，たとえば第 1 群が対照群であって，他の群のそれぞれが第 1 群と差があるかどうかを調べたい場合は，{H{1,2} , H{1,3} , H{1,4} が考慮すべき帰無仮説の集合となる。これらの集合をその多重比較における「帰無仮説族」と呼ぶ。
ここで多重比較の目的を「帰無仮説族」というコトバを使って言い換えてみる。個々の帰無仮説で有意水準を 5%にしてしまうと，帰無仮説族に含まれる帰無仮説のどれか１つ
4

ただし，対照群が他の群との比較のすべての場合において差があるといいたい場合は，多重比較をするのではなくて，t 検定を繰り返して使うのが正しいので，注意が必要である。もちろんそういう場合は多くはないが。
5
もっとも，オープンソースで多くのコンピュータで無料で使える R がホルムの方法をデフォルトとしている現実を考えれば，そういう言い訳はもはや通用しないと思う。

第 10 章 多群間の差を調べる〜一元配置分散分析と多重比較

96が誤って棄却されてしまう確率が 5%より大きくなってしまう。それではまずいので，その確率が 5%以下になるようにするために，何らかの調整を必要とするわけで，この調整をする方法が多重比較なのである。つまり，帰無仮説族の有意水準を定める（たとえば 5%にする）ことが，多重比較の目的である6 。
R では，pairwise.t.test(height,vg,p.adjust.method="bonferroni") とすれば，
ボンフェローニの方法で有意水準を調整した，すべての村落（vg）間での身長（height）の差を t 検定した結果を出してくれる。ただし，t 検定とは言っても，pool.sd=F というオプションをつけない限りは，t0 を計算するときに全体の誤差分散を使うので，ただの t
検定の繰り返しとは違うことに注意されたい。
また，pairwise.wilcox.test(height,vg,p.adjust.method="bonferroni") とすれ
ば，ボンフェローニの方法で有意水準を調整した，すべての村落（vg）間での身長（height）の差を順位和検定した結果を出してくれる。これらの関数で，p.adjust.method を指定しなければホルムの方法になるが，明示したければ，p.adjust.method="holm"とすればよい。R でもボンフェローニの方法が可能な理由は，一番単純な方法であるためと，ホルムの方法に必要な計算がボンフェローニの方法の計算を含むからだと思われる。
なお，R を使って分析するのだけれども，データがきれいな正規分布をしていて，かつ古典的な方法の論文しか accept しない雑誌に対してどうしても投稿したい，という場
合は，TukeyHSD(aov(height~vg)) などとして，テューキーの HSD を行うことも可能である。また，CRAN (http://cran.r-project.org/) から multcomp パッケージをインストールする（インターネットに接続された Windows や Linux や FreeBSD の環境
では R のプロンプトで install.packages(multcomp) と打てばよい）ことによって，simtest(height~vg, type="Dunnett") あるいは simtest(height~vg, type="Williams")
としてダネットの方法やウィリアムズの方法を使うことも可能である。
これらの方法の中身に立ち入って説明しつくすことは不可能なので，ここではボンフェ
ローニの方法とホルムの方法，テューキーの HSD だけを簡単に説明する。より詳しく知りたい場合には，永田，吉田 (1997) を参照されたい。

10.4.1

ボンフェローニの方法とホルムの方法

ボンフェローニの方法とは，ボンフェローニの不等式に基づく多重比較法である。きわめて単純な考え方に基づいているために，適用可能な範囲が広い。しかし，検出力が落ちてしまいがちなので，ベストな方法ではない。
ボンフェローニの不等式とは，k 個の事象 Ei (i = 1, 2, ..., k) に対して成り立つ，

P r(∪ki=1 Ei ) ≤k∑

P r(Ei )i=16

このことからわかるように，差のなさそうな群をわざと入れておいて帰無仮説族を棄却されにくくしたり，事後的に帰無仮説を追加したりすることは，統計を悪用していることになり，やってはいけない。

10.4. 多重比較97をいう。左辺は k 個の事象 Ei のうち少なくとも１つが成り立つ確率を示し，右辺は各事
象 Ei が成り立つ確率を加え合わせたものなので，この式が成り立つことは自明であろう（個々の事象がすべて独立な場合にのみ等号が成立する）。
次に，この不等式を多重比較にどうやって応用するかを示す。まず，帰無仮説族を {H01 , H02 , . . . , H0k }とする。Ei を「正しい帰無仮説 H0i が誤って棄却される事象」と考える。この表現をボンフェローニの不等式にあてはめれば，Pr(正しい帰無仮説のうちの少なくとも１つの H0i が誤って棄却される)≤k∑

Pr(正しい帰無仮説 H0i が誤って棄却される)

i=1

右辺が α 以下になるためには，もっとも単純に考えれば，足しあわされる各項が α/k に等しいかより小さければよい。つまり，ボンフェローニの方法とは，有意水準 α で帰無仮説族を検定するために，個々の帰無仮説の有意水準を α/k にするものである7 。手順としてまとめると，以下の通りである。

1. 帰無仮説族を明示し，そこに含まれる帰無仮説の個数 k を求める。
2. 帰無仮説族についての有意水準 α を定める。α = 0.05 または α = 0.01 と定めることが多い。
3. 帰無仮説族に含まれているそれぞれの帰無仮説に対して検定統計量 Ti (i = 1, 2, . . . , k)を選定する。
4. データを取り，検定統計量 Ti を計算する。
5. 各検定統計量 Ti について有意水準 α/k に対応する棄却限界値（通常は分布関数の(1 − α/k) × 100%点）を ci とするとき，Ti ≥ ci ならば H0i を棄却し，Ti < ci ならH0i を保留する（採択ではない）。
なお，R では，各々の帰無仮説の有意水準を α/k とする代わりに，各々の帰無仮説に対して得られる有意確率が k 倍されて（ただし 1 を超えるときは 1 として）表示されるので，各々の比較に対して表示される有意確率と帰無仮説族について設定したい有意水準との大小によって仮説の棄却／保留を判断してよい。
ボンフェローニの方法では，すべての H0i について有意水準を α/k としたのが良くなかったので，ホルムの方法は，そこを改良したものである。以下，ホルムの方法の手順をまとめる。

1. 帰無仮説族を明示し，そこに含まれる帰無仮説の個数 k を求める。
7
ここで注意しなければいけないことは，検定すべき帰無仮説族に含まれる個々の帰無仮説は，データをとるまえに定められていなければいけないことである。データをとった後で有意になりそうな帰無仮説を k 個
とってきて帰無仮説族を構成するのでは，帰無仮説族に対しての第１種の過誤をコントロールできないのでダメである。

第 10 章 多群間の差を調べる〜一元配置分散分析と多重比較

98

2. 帰無仮説族についての有意水準 α を定める。α = 0.05 または α = 0.01 と定めることが多い。ここまではボンフェローニと同じ。
3. α1 = α/k ，α2 = α/(k − 1)，. . . ，αk = α を計算する。
4. 帰無仮説族に含まれているそれぞれの帰無仮説に対して検定統計量 Ti (i = 1, 2, . . . , k)を選定する。
5. データを取り，検定統計量 Ti を計算する。
6. 各検定統計量 Ti について有意確率 Pi を求め，小さい順に並べかえる。
7. Pi の小さいほうから順に αi と Pi の大小を比べる。
8. Pi > αi ならばそれよりも有意確率が大きい場合の帰無仮説をすべて保留して終了する。Pi ≤ αi なら H0i を棄却して，次に小さい Pi について比較する。i = k となるまで繰り返す。
ホルムの方法についても，R では，手順 7 で Pi と αi の大小を比べる代わりに Pi′ =Pi × (k − i + 1) が表示されるので，値そのものを有意水準と比較すればよい。ただし，上′記手順 8 からすると，Pi′ が有意でなかったら，Pi+1が有意水準より小さくてもその仮説は保留されるべきなのだが，その点がどう表示されるのかは未確認である。
計算例を示すと，南太平洋の３つの村の問題で，ボンフェローニの方法とホルムの方法で検定した有意確率は，次のようになる。
検定と調整の方法
誤差分散を使った t 検定，Bonferroni で調整
t 検定の繰り返し，Bonferroni で調整
誤差分散を使った t 検定，Holm で調整
t 検定の繰り返し，Holm で調整
順位和検定の繰り返し，Bonferroni で調整
順位和検定の繰り返し，Holm で調整

10.4.2

X-Y
0.88411.00000.29470.34751.00000.4865X-Z
0.12830.14220.08550.09480.21620.1441Y-Z
0.00520.00260.00520.00260.00780.0078

テューキーの HSD

テューキーの HSD では，母集団の分布は正規分布とし，すべての群を通して母分散は等しいと仮定する。
データが第 1 群から第 a 群まであって，各々が ni 個（i = 1, 2, . . . , a）のデータからなるものとする。第 i 群の j 番目のデータを xij と書くことにすると，第 i 群の平均 x̄i と分

10.4. 多重比較

99

散 Vi は，

x̄i =
Vi =

ni
∑

xij /nij=1
ni∑(xij − x̄i )2 /(ni − 1)j=1となり，誤差自由度 PE と誤差分散 VE は，

PE = N − a = n 1 + n2 + · · · + na − a
VE =

ni
a ∑
∑

(xij − x̄i )2 /PE =i=1 j=1a∑(ni − 1)Vi /PE

i=1で得られる。
簡単にいえば，テューキーの HSD は，すべての群間の比較について誤差分散を使った
t0 統計量を計算し，t 分布ではなくて，ステューデント化された範囲の分布 (Studentized√range distribution) と呼ばれる分布の (1 − α) × 100%点を 2 で割った値との大小で有意水準 α の検定をする方法である。以下手順としてまとめる。

1. 帰無仮説族を明示する。テューキーの HSD の場合は，通常，{H{1,2} , H{1,3} , . . . , H{1,a} , H{2,3} , . . . , H{a−1,a} }2. 有意水準 α を定める。α = 0.05 または α = 0.01 と定めることが多い。
3. データを取り，すべての群について x̄i , Vi を計算し，PE , VE を計算する。
4. すべての 2 群間の組み合わせについて，検定統計量 tij を√

tij = (x̄i − x̄j )/ VE (1/ni + 1/nj )により計算する（i, j = 1, 2, . . . , a; i < j ）。
√5. |tij | ≥ q(a, PE ; α)/ 2 なら H{i,j} を棄却し，i 群と j 群の平均には差があると判断す√
る（比較の形からわかるように，これは両側検定である）。|tij | < q(a, PE ; α)/ 2 ならH{i,j} を保留する。ここで q(a, PE ; α) は，群数 a，自由度 PE のステューデント化された範囲の分布の (1 − α) × 100%点である。つまり，α = 0.05 ならば，q(a, PE , 0.05)
は，群数 a，自由度 PE のステューデント化された範囲の分布の 95%点である。R では，この値を与える関数は，群数 a，自由度 PE として，qtukey(0.95,a,PE) である。が，すべての群間比較を手計算するよりも，パッケージに計算させるのが普通である。

第 10 章 多群間の差を調べる〜一元配置分散分析と多重比較

100

上述の例題に対する R の TukeyHSD(aov(height~vg)) の出力は以下の通り。95%同時
信頼区間が 0 を含まない Y 村と Z 村の身長だけが，5%水準で有意に異なる（Z−Y が正なので，Z 村の平均身長の方が Y 村の平均身長より有意に高い）と読める。
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = height ~ vg)
$vg
diff
lwr
upr
Y-X -2.538889 -8.3843982 3.306620
Z-X 5.850000 -0.9598123 12.659812
Z-Y 8.388889 2.3382119 14.439566

101

第 11 章

11.1

相関と回帰

量的変数の関連を調べる

相関と回帰は混同されやすいが，思想はまったく違う。相関は，変数間の関連の強さを表すものである。回帰は，ある変数の値のばらつきが，どの程度他の変数の値のばらつきによって説明されるかを示すものである。回帰の際に，説明される変数を従属変数または目
的変数，説明するための変数を独立変数または説明変数と呼ぶ。２つの変数間の関係を予測に使うためには，回帰を用いる。
まず相関について，前章であげた南太平洋の３村落 X, Y, Z の成人男性の例を使って説明しよう。前章では示さなかった体重のデータも加えると，データはたとえば次のようになる（架空のものである）。

ID 番号 村落 (VG)
1
X
2
X
（中略）
22
Z
（中略）
37
Y

身長 (cm)(HEIGHT)

体重 (kg)(WEIGHT)

161.5
167.0

49.2
72.8

166.0

58.0

155.5

53.6

身長と体重の関係を，身長を横軸にとって，体重を縦軸にとって二次元平面にプロット
すると，図 11.1 のようになる。ここでは R を使って，村ごとにプロットするマークを変えてプロットした。プログラムは，

x <- read.delim("l11-1.dat")
attach(x)plot(HEIGHT[VG==’X’], WEIGHT[VG==’X’], main="Relationship between
HEIGHT(cm) and WEIGHT(kg)\n in Adult Males in South Pacific 3 villages",
pch=’X’, col="blue", xlim=c(140,180), ylim=c(40,100), xlab="HEIGHT(cm)",ylab="WEIGHT(kg)")
points(HEIGHT[VG==’Y’], WEIGHT[VG==’Y’], pch=’Y’,col="red")points(HEIGHT[VG==’Z’], WEIGHT[VG==’Z’], pch=’Z’,col="green")
detach(x)




となる。

第 11 章

102

相関と回帰

100

Relationship between HEIGHT(cm) and WEIGHT(kg)in Solomon Adult Males
Z

Z
X Z

70

X

Z

X

Z

Z YY Y
Y
Y
Y ZY
X
X
X
YY
Y Y
XZ X
Y Y
Y
Y

50

60

WEIGHT(kg)

80

90

X

Y

Z

X
Y

40

Y

140

150

160

170

180

HEIGHT(cm)

図 11.1: 南太平洋３村落の成人男性における身長と体重の関係
第３章で触れたが，このような図を散布図 (scatter plot または scattergram）と呼ぶ。
２つの量的変数間の関係をみるときには，基本として絶対に作成しなければならない。
関係とか関連とかいっても，その中身は多様である。たとえば，pV = nRT のような物
理法則は，測定誤差を別にすれば 100%成り立つ関係である。身長と体重の間の関係はそうではないが，無関係ではないことは直感的にも理解できるし，上の図を見ても「身長の高い人は体重も概して重い傾向がある」ことは間違いない。
一般に，２個以上の変量が「かなりの程度の規則正しさをもって，増減をともにする関係」のことを相関関係 (correlation) という。相関には正の相関 (positive correlation) と負の相関 (negative correlation) があり，一方が増えれば他方も増える場合を正の相関，一方が増えると他方は減る場合を負の相関と呼ぶ。たとえば，上の図に示されている身長と体重の関係は正の相関である。
相関関係があることは，因果関係 (causal relationship) が成り立つための重要な要件ではあるが，それだけで因果関係がある，と結論付けるのは勇み足である。では，因果関係があるというための基準はあるのだろうか？ 古来いろいろな説があった中でも有力とされていて，Rothman(2002) にも載っている Hill(1965) の基準によれば，因果関係を因果関
係のない関連と区別するためには，次の９条件が満たされる必要がある1 。
1

もっとも，Hill 自身が，必ずしも９条件すべてが成り立たない場合もあるし，ヒトについては実験的な証
拠が得られない場合が普通であるなど，この条件が決定的とすることは因果推論の現実性を失わせてしまうことも認めているので，あくまでこうした基準は目安程度に考えるべきである。なかでも，相関関係の特異性という考え方は，因果推論の適用範囲を著しく狭めてしまう。現実の因果関係の大部分は，複数の要因と複数の結果が網の目のように絡んでいるし，環境によって同じ遺伝的要因がまったく逆の結果をもたらす場合も

11.1. 量的変数の関連を調べる

103

1. 相関関係が強い。
2. 相関関係が常に成り立つ。
3. 相関関係に特異性がある。
4. 時間的前後関係がはっきりしている。
5. 生物学的なメカニズムが想定できる（これは疫学の教科書での説明だから「生物学的な」なので，社会学的であっても物理化学的であってもよい）。
6. もっともらしい。
7. 首尾一貫している（他の知見と矛盾がない）。
8. 実験的な証拠がある。
9. アナロジーがなりたつ。
相関関係があっても，それが見かけのものである（それらの変量がともに，別の変量と真の相関関係をもっている）場合がある。具体例としては，血圧と所得の間に正の相関があるという命題は，データをとってみれば，多くの場合に成り立つであろう。しかしこれは，おそらくどちらも年齢や摂取エネルギー量との間に真の相関関係が存在するのであって，それらの影響を制御したら（たとえば同年齢で同じような食生活をしている人だけについて見る，という層別化をしたら），血圧と所得の間の正の相関は消えてしまうだろう。
この場合，見かけの相関があることは，たまたまそのデータで成り立っているだけであって，科学的仮説としての意味に乏しい。因果関係に迫ることが大事なのであって，相関関係はその入り口に過ぎないことを再び強調しておく2 。
時系列データや地域相関のデータでは，擬似相関 (spurious correalation) が見られる場
合もある。たとえば，日本の砂糖輸入量と溺死・溺水者数の年次別データをプロットしてみると，負の相関関係があるように見えるのだが，両者の間には真の関係はない。ある年に日本で植えた木の幹の太さと，同じ年にイギリスで生れた少年の身長を 15 年分，毎年１回測ったデータをプロットすると，おそらくは正の相関関係があるように見えるのだが，両者の間には関係がないのは明らかである（どちらも年次と真の相関があるとはいえるだ
ろうが）。
複数の種類の異なるデータをまとめて見ることで見かけの相関が生じてしまう場合もある。上に示した南太平洋の３つの村の身長と体重の関係を良く見ると，相関関係は村にある。だからこそ Rothman(2002) は，簡単な基準は存在しないことを強調し，因果構成要因群 (Component
causes) と充分要因 (Suﬃcient cause) という考え方（第１章を参照）を提起したのである。
2
変数 X と変数 Y の間に因果関係があるとは，変数 X が変数 Y を引き起こすために必要であるような関係があるということである。Hill の条件では，因果関係があるといえるためには，X と Y の間の相関は，常に強くなくてはならない。しかし，見かけの相関でない相関があっても，直接の因果関係がない場合はありえる。つまり，変数 X が変数 Y を引き起こすのに関与することもあるが，それは必要ではない，というような場合がそれに該当する。

第 11 章

104

相関と回帰

よって随分違っていることがわかる。それをまとめたことで身長の分散と体重の分散が広がって，見かけ上強い正の相関がでたと解される。こういう場合は，村で層別して村ごとに相関を検討する必要がある3 。

11.2

相関関係の具体的な捉え方上で定義したように，相関関係は増減をともにする関係であればいいので，その関係が線形（一次式で表され，散布図で直線として表される）であろうと非線形（二次式以上または階段関数などで表される）であろうと問題ない。しかし，一般には，線形の関係があるという限定的な意味で使われる場合が多い。なぜなら，相関を表すための代表的な指標である相関係数4 r が，線形の関係を示すための指標だからである。もっといえば，r が意
味をもつためには，２つの変量が二次元正規分布に従っていなければならない。
非線形の相関関係を捉えるには，２つのアプローチがある。１つは線形になるように対数変換などの変換をほどこすことで，もう１つはノンパラメトリックな相関係数（分布の形によらない，たとえば順位の情報だけを使った相関係数）を使うことである。ノンパラメト
リックな相関係数にはスピアマン (Spearman) の順位相関係数 ρ や，ケンドール (Kendall)の順位相関係数 τ がある。
ピアソンの積率相関係数とは，X と Y の共分散を X の分散と Y の分散の積の平方根で割った値である。式で書けば，相関係数の推定値 r は，X の平均を X̄ ，Y の平均を Ȳ と書けば，∑n(Xi − X̄)(Yi − Ȳ )r = √∑ i=1∑nn22i=1 (Yi − Ȳ )i=1 (Xi − X̄)となる。母相関係数がゼロかどうかという両側検定のためには，それがゼロであるという帰無仮説の下で，検定統計量√
r n−2
t0 = √
1 − r2が，自由度 n − 2 の t 分布に従うことを利用して検定すればよい。
なお R では，r <- cov(X,Y)/sqrt(var(X)*var(Y))
n <- NROW(X)t0 <- r*sqrt(n-2)/sqrt(1-r^2)として，2*(1-pt(t0,n-2)) で有意確率が得られるが，cor.test() 関数（下記）を使う方が簡単である。また，cov(X,Y)/sqrt(var(X)*var(Y)) と同値な関数として cor(X,Y)
がある。cor.test() 関数を使った場合は，信頼区間も計算される。なお，信頼区間は，標
本サイズがある程度大きければ（通常は 20 以上），正規近似を使って計算できる。
3または，目的次第では，ダミー変数を使った重回帰分析をするべきである（第 13 章で触れる）。
普通，ただ相関係数といえば，ピアソンの積率相関係数 (Pearson’s Product Moment Correlation Coeﬃcient) を指し，通常，r という記号で表す。
4

11.3. 回帰の考え方

a=

105

1 1+r
1
ln
−√
Z(α/2),
2 1−r
n−3

b=

1
1 1+r
ln
+√
Z(α/2)2 1−rn−3と書くことにすると，
母相関係数の 100×(1−α)%信頼区間の下限は (exp(2a)−1)/(exp(2a)+1)，上限は (exp(2b) − 1)/(exp(2b) + 1) である5 。
ここで，Z(α/2) は，標準正規分布の 100 × (1 − α/2) パーセント点，つまり R では（αを alpha と書くことにして），qnorm(1-alpha/2,0,1) である。たとえば α = 0.05 なら，
qnorm(0.975,0,1) である。
順位相関係数は，非線形の相関関係を捉えたい場合以外にも，分布が歪んでいたり，外れ値がある場合に使うと有効である。スピアマンの順位相関係数 ρ は6 ，値を順位で置き換えた（同順位には平均順位を与えた）ピアソンの積率相関係数になる。Xi の順位を Ri ，Yi の順位を Qi とかけば，

ρ=1−

n
∑
6
(Ri − Qi )2n(n2 − 1) i=1となる。スピアマンの順位相関係数がゼロかどうかという両側検定は，サンプル数が
10
√
ρ n−2
以上ならばピアソンの場合と同様に，T = √
が自由度
n
−
2
の
t
分布に従うことを利2
1−ρ

用して行うことができる。
ケンドールの順位相関係数 τ は，

τ=

(A − B)n(n − 1)/2

によって得られる。ここで A は順位の大小関係が一致する組の数，B は不一致数である。
いずれにせよ，R では cor.test(X, Y, method="pearson") とすればピアソンの相関係数が，cor.test(X, Y, method="spearman") でスピアマンの順位相関係数が，cor.test(X, Y, method="kendal
でケンドールの順位相関係数が得られる。同時に，alternative を指定しないときは，「相関係数がゼロである」を帰無仮説として両側検定した有意確率と 95%信頼区間が表示される。なお，たとえば cor.test(X, Y, alternative="g") とすれば，ピアソンの相関係数が計算され，対立仮説を「正の相関がある」とした片側検定の結果が得られる。なお，ケ
ンドールに関しては並べかえによる正確な確率も求めることができ，その場合は exact=Tというオプションを指定する。

11.3

回帰の考え方1984 年から 1993 年までのプロ野球の１試合平均入場者数（単位：千人）の推移は下表のようになっている（注：この表の出典は，鈴木 (1995) である）。
5
6

なお，ln は自然対数，exp は指数関数を表す。
ピアソンの相関係数の母相関係数を ρ と書き，スピアマンの順位相関係数を rs と書く流儀もある。

第 11 章

C

30

C

C

C

C

C

C

C

25

C

C

相関と回帰

P

P

P

P

P

20

P
P

15

P
P
P

10

average number of scoreline (x 1,000)

35

106

1984

1986

1988

1990

1992

year

図 11.2: プロ野球１試合平均入場者数の推移
年次
セリーグ
パリーグ

84
28
13

85
29
12

86
29
16

87
31
18

88
31
21

89
31
23

90
31
22

91
32
24

92
35
24

93
34
24

図 11.2 を見ると，両リーグとも途中から伸び悩んでいるが，ある程度直線的に増加しているように見える。このように，ほぼ比例関係にある量的なデータ群をうまく代表する直線を求めるには，「各データの点から直線までのずれの大きさの合計」を最小にすればよい。この場合，「年次」が予め決まっている値であるのに対して，入場者数は測定値であり，誤差を含む可能性があるので，「データ点から直線までのずれ」を評価するには，デー
タ点と直線の最短距離よりも，データ点から直線に垂直に下ろした線分の長さの二乗和を使う方がよい。この，ずれを最小にする直線を，「年次を独立変数，入場者数を従属変数とする回帰直線」と呼ぶ。計算方法は，数学的には次に述べる検量線の求め方と同じである。
R では，




year <- c(1984:1993)
central.league <- c(28,29,29,31,31,31,31,32,35,34)
pacific.league <- c(13,12,16,18,21,23,22,24,24,24)
plot(central.league~year,pch=’C’,xlim=c(1984,1993),ylim=c(10,35),
ylab="average number of scoreline (x 1,000)")
abline(lm(central.league~year),lty=1)
points(pacific.league~year,pch=’P’)
abline(lm(pacific.league~year),lty=2)

11.3. 回帰の考え方

107とすれば図 11.2 が描かれる。

11.3.1

検量線

実験によって，あるサンプルの濃度を求めるやり方の１つに，検量線の利用がある。検量線とは，予め濃度がわかっている標準物質を測ったときの吸光度のばらつきが，その濃度によってほぼ完全に（通常 98%以上）説明されるときに，その回帰を利用して，サンプルを測ったときの吸光度からサンプルの濃度を逆算するための回帰直線である（曲線の場
合もあるが，通常は何らかの変換をほどこし，線形回帰にして利用する）。検量線の計算には，(A) 試薬ブランクでゼロ点調整をした場合の原点を通る回帰直線を用いる場合と，(B)
純水でゼロ点調整をした場合の切片のある回帰直線を用いる場合がある。いずれも，量がわかっているもの（この場合は濃度）を x，誤差を含んでいる可能性がある測定値（この場合は吸光度）を y として y = bx + a という形の回帰式の係数 a と b を最小二乗法で推定し，サンプルを測定した値 y から x = (y − a)/b によってサンプルの濃度 x を求める。回帰直線の適合度の目安としては，学生実習でも相関係数の２乗が 0.98 以上あることが望ましい。また，後で述べるように，データ点の最小，最大より外で直線関係が成立する保証はない。したがって，サンプル測定値が標準物質の測定値の最小より低いか，最大より高いときは，限界を超えていることになって値は使えない7 。
図 11.3 のような測定点 (x1 , y1 ), (x2 , y2 ), ..., (xn , yn ) が得られたときに，検量線 y = bx+aを推定するには，図に示した線分の二乗和が最小になるように a と b を設定すればよい，というのが最小二乗法の考え方である。つまり，

f (a, b) =n∑{yi − (bxi + a)}2

i=1

= b2

n
∑
i=1

x2i − 2bn∑

xi yi + 2ab

i=1

n
∑

xi − 2ai=1n∑yi + na2 +

i=1

n
∑

yi2

i=1

が最小になるような a と b を推定すればよい。通常，a と b で偏微分した値がそれぞれ 0となることを利用して計算すると簡単である。つまり，nn∑∑∂f (a, b)= 2na + 2(bxi −yi ) = 0
∂a
i=1
i=1

i.e. na =n∑i=1yi − b

n
∑

xi

i=1

i.e. a = (y の平均) − (x の平均) ∗ b
n
n
n
∑
∑
∑
∂f (a, b)= 2bx2i + 2(axi −xi yi ) = 0
∂b
i=1
i=1
i=1
7

余談だが，このような場合はサンプルを希釈するか濃縮して測定するのが普通である。

第 11 章108
i.e. b

n
∑

x2i =

i=1

n
∑

x i yi − a

i=1

n
∑

相関と回帰

xi

i=1

を連立方程式として a と b について解けばよい。これを解くと，

b=

n

∑n
∑n
∑n
i=1 xi yi −i=1 xii=1 yi
∑n
∑
n
2
2

n

i=1 xi − (i=1 xi )が得られる8 。b の値を上の式に代入すれば a も得られる。検量線に限らず，一般の回帰直線でも，計算方法は原則として同じである。名称の説明をしておくと，一般に，y = bx + aという回帰直線について，b を回帰係数 (regression coeﬃcient)，a を切片 (intercept) と呼ぶ。
データから得た回帰直線は，pV = nRT のような物理法則と違って，完璧にデータに乗ることはない。そこで，回帰直線の当てはまりのよさを評価する必要が出てくる。a と bが決まったとして，zi = a + bxi とおいたとき，ei = yi − zi を残差 (residual) と呼ぶ。残差は，yi のばらつきのうち，回帰直線では説明できなかった残りに該当する。つまり，残差が大きいほど，回帰直線の当てはまりは悪いと考えられる。残差にはプラスもマイナスもあるので，例によって二乗和をとって，

Q =

n
∑
i=1

=

n
∑
i=1

e2i =

n
∑

(yi − zi )2

i=1
n
∑

yi2 − (

i=1

yi ) /n −
2

(n

∑n
∑n
2
i=1 yi )i=1 xii=1 xi yi −∑∑n/nn i=1 x2i − ( ni=1 xi )2∑nという値が回帰直線の当てはまりの悪さを示す尺度となる。この Q を「残差平方和」と呼び，それを n で割った Q/n を残差分散という。この残差分散 var(e) と Y の分散 var(Y )とピアソンの相関係数 r の間には，var(e) = var(Y )(1 − r2 ) という関係が常に成り立つので，r2 = 1 − var(e)/var(Y ) となる。このことから r2 が 1 に近いほど回帰直線の当てはまりがよいことになる。その意味で，r2 を「決定係数」と呼ぶ。また，決定係数は，Y のばらつきがどの程度 X のばらつきによって説明されるかを意味するので，X の「寄与率」と呼ぶこともある。
回帰直線は最小二乗法でもっとも残差平方和が小さくなるように選ぶわけだが，データの配置によっては，何通りもの回帰直線の残差平方和が大差ないという状況がありうる。
たとえば，独立変数と従属変数（として選んだ変数）が実はまったく無関係であった場合
は，データの重心を通るどのような傾きの線を引いても残差平方和はほとんど同じになってしまう。その意味で，回帰直線のパラメータ（回帰係数 b と切片 a）の推定値の安定性を評価することが大事である。そのためには，t 値というものが使われている。いま，Y とX の関係が Y = a0 + b0 X + e というモデルで表されるとして，誤差項 e が平均 0，分散 σ 2の正規分布に従うものとすれば，回帰係数の推定値 a も，平均 a0 ，分散 (σ 2 /n)(1 + M 2 /V )8分母分子を n2 で割れば，b は xi yi の平均から xi の平均と yi の平均の積を引いて，xi の二乗の平均から xi の平均の二乗を引いた値で割った形になる。

11.3. 回帰の考え方

109（ただし M と V は x の平均と分散）の正規分布に従い，残差平方和 Q を誤差分散 σ 2 で割った Q/σ 2 が自由度 (n − 2) のカイ二乗分布に従うことから，√n(n − 2)(a − a0 )t0 (a0 ) = √(1 + M 2 /V )Q
が自由度 (n − 2) の t 分布に従うことになる。しかしこの値は a0 がわからないと計算できない。a0 が 0 に近ければこの式で a0 = 0 と置いた値（つまり t0 (0)。これを切片に関する
t 値と呼ぶ）を観測データから計算した値が t0 (a0 ) とほぼ一致し，自由度 (n − 2) の t 分
布に従うはずなので，その絶対値は 95%の確率で t 分布の 97.5%点（標本サイズが大きければ約 2 である）よりも小さくなる。つまり，データから計算された t 値がそれより大きければ，切片は 0 でない可能性が高いことになる。t 分布の分布関数を使えば，「切片が 0である」という帰無仮説に対する有意確率が計算できることになる。回帰係数についても同様に，√n(n − 2)V b√
t0 (b) =Qが自由度 (n − 2) の t 分布に従うことを利用して，「回帰係数が 0」であるという帰無仮説に対する有意確率が計算できる。
以上の説明からすると，身長と体重のように，どちらも誤差を含んでいる可能性がある
測定値である場合には，どちらかを独立変数，どちらかを従属変数とみなしてよいのかということが問題になってくる。一般には，身長によって体重が決まってくるというように方向性が仮定できれば，身長を独立変数と見なしてもよいことになっているが，回帰分析をしてしまうと，独立変数に測定誤差がある可能性が排除されてしまうことには注意しておくべきである。つまり，測定誤差が大きい可能性がある変数を独立変数とした回帰分析
は，できれば避けたほうが良い（が，そうもいかないのが実情である）。また，最小二乗推定の説明から自明なように，独立変数と従属変数を入れ替えた回帰直線は一致しないので，どちらを従属変数とみなし，どちらを独立変数とみなすか，ということは，因果関係の方向性に基づいてきちんと決めるべきである。
ところで，回帰 (regression) とは本章第１節で説明した通り，被説明変数（従属変数）のばらつきが，説明変数（独立変数）のばらつきで説明されるという考え方だが，もともとは，生物統計学者フランシス・ゴルトン (Francis Galton) が，父親と息子の身長をペアとして測定し，背の高い父親の息子の平均身長が父親ほど高くなく，背の低い父親の息子の平均身長が父親ほど低くないこと，つまり第二世代の身長が平均の方向に「回帰」するという意味で用いた言葉である。この現象は，父親群でも息子群でも身長の平均と分散が等しいと仮定し，父親の身長と息子の身長の分布が二次元正規分布に従うとすると以下のよ
うにクリアに説明できる。
父親の身長が x の息子の身長 Y の期待値 µY ·x は，父親の身長と息子の身長の母相関係
σ数を R と書くことにすると，µY ·x = µy + R σxy (x − µx ) となるので，これを式変形すれば，µY ·x − x = −(1 − R)(x − µx ) となるので，x > µx ならば µY ·x < x となり，x < µx ならば µY ·x > x となる。この式は，Galton が観察した現象と符合する。

110

第 11 章相関と回帰回帰を使って予測をするとき，外挿には注意が必要である。前述の通り，検量線は，原則として外挿してはいけない。実際に測った濃度より濃かったり薄かったりするサンプルに対して，同じ関係が成り立つという保証はどこにもないからである（吸光度を y とする
場合は，濃度が高くなると分子の重なりが増えるので飽和 (saturate) してしまい，吸光度の相対的な上がり方が小さくなっていき，直線から外れていく）。しかし，外挿による予測
は，実際にはかなり行われている。たとえば世界人口の将来予測とか，河川工学における基本高水計算式とか，感染症の発症数の将来予測は，回帰の外挿による場合が多い。このやり方が妥当性をもつためには，その回帰関係が（１）かなり説明力が大きく，（２）因果関係がある程度認められ，（３）それぞれの変数の分布が端の切れた分布でない（truncateddistribution でない）という条件を満たす必要がある。そうでない場合は，その予測結果が正しい保証はどこにもない9 。
R では，今回説明したような線形回帰を行うための関数は lm() である。たとえば，lm(Y~X) のように用いれば，回帰直線の推定値が得られる。決定係数や回帰係数と切片の検定結果は，summary(lm(Y~X)) とすれば出力される（他の統計ソフトでも簡単に得られるはずである）。なお，普通の量的変数の間の線型回帰を一般化すれば，t 検定，分散分
析，共分散分析，回帰分析，正準相関分析などをすべて共通の数学モデルで扱うことができる。このモデルを一般化線型モデルと呼ぶ。英語では Generalized Linear Model といい，R での関数名も glm() である。一般化線型モデルは，基本的には，Y = β0 + βX + εという形で表される（Y が従属変数群，X が独立変数群，β0 が切片群，β が係数群，ε が誤差項である）。詳しくは第 13 章で説明する。

9

それでも簡便さのために回帰の外挿による予測はかなり行われてしまっているのが現状だが，本来そういう場合は，単純な回帰でなく確率的な因果モデルを立て，シミュレーションを行うべきである

11.3. 回帰の考え方

111(x3,y3)(x4,y4)(x1,y1)(x2,y2)y=bx+a図 11.3: 標準物質の希釈系列濃度に対して測定された吸光度の関係

113

第 12 章12.1

時系列データと間隔データの扱い方

時間を扱うとはどういうことか？

時間の入ったデータとしては，大きく分けて２種類を考えるべきである。１つは，データ間が独立でない場合である。これまで説明してきた，時間が入っていないデータは，個々のオブザーベーションが独立である。たとえば，身長と体重の関係を取り上げるときは，Ａさんの身長とＢさんの身長には関係がないし，Ａさんの体重とＢさんの体重には関係がない。二次元平面にプロットされる点と点が互いに独立だからこそ，二次元正規分布に従うという仮定もできるわけである。しかし，たとえば，ある人が生まれてから，毎年誕生日に身長を測って 18 歳くらいまで記録したとしたとき，年齢と身長の関係をみると，点と点の間は独立ではない。８歳のときの身長は，７歳のときの身長がどこまで伸びていたかということに，ある程度依存する。
横軸に西暦年をとり，縦軸に世界人口をとってプロットした場合も同様で，1950 年の人
口は，1949 年にどこまで人口が増えていたかということと無関係ではありえない。この
種のデータを時系列データと呼び，時系列データを扱う解析法を総称して時系列解析という。時系列データにおける点と点の関係は微分方程式や差分方程式で表されるが，微分方
程式や差分方程式を解いて非線形回帰をするよりも，自己相関をみたり，複数の波の重ね合わせとしてパタンを解析することが多い。
第２のパタンは，期間をデータとして扱う場合に生じる。何かのイベントが発生するまでの時間をデータとして使う場合を考えよう。たとえば，結婚から第１子受胎までの時間
とか，チェルノブイリの事故で流出した放射性物質に曝露した子どもたちが白血病を発症するまでの時間とかいったデータである。この種のデータを間隔データと総称する。時間の情報を間隔データとしてうまく使えると，少ないサンプル数でも，ある瞬間にイベントが発生する確率（ハザード）を効果的に推定することができる。出生力を推定するときに，閉経後の女性にインタビューをすることが行われるが，たんに一生のうちに子どもを何人産んだかを聞くよりも，出産暦としてすべての出産間隔を聞くほうが情報量が多いのは自明であろう。間隔データでは，観察期間中にそのイベントが起こらなかったケースは，打ち切りとなる（多くは右側打ち切り）。打ち切りデータは，イベントが起こるまでの時間
がそれよりも長いケースなので，解析から取り除くと全体の推定値が過小評価されてしまう。それゆえ，「少なくとも打ち切りまでの期間より長い」という情報をうまく生かす分
析法が要求される。生存時間解析とかハザード解析と呼ばれる分野で，この種の研究は多く行われてきた。
本章では，この２つ，すなわち，時系列データと間隔データの扱い方の基礎を説明する。

第 12 章114

12.2

時系列データと間隔データの扱い方

時系列解析の基礎

まず，単純な例として，さきほども取り上げた，世界人口の推移を見てみよう。コーエン (1998) に載っている Kremer (1993) の推定値1 を使うと，世界人口の推移は図 12.1 のよ
うになっている。この図を描くための R のプログラムは以下の通り。
# world population (x 1 million) estimated by Kremer 1993
YEAR <- c(-1000000, -300000, -25000, -10000, -5000, -4000,-3000, -2000, -1000, -500, -200, 1, 200, 400, 600,
800, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1650,
1700, 1750, 1800, 1850, 1900, 1920, 1930, 1940, 1950,
1960, 1970, 1980, 1990, 2000)
POP <- c(0.125, 1, 3.34, 4, 5, 7, 14, 27, 50, 100, 150, 170, 190,
190, 200, 220, 265, 320, 360, 360, 350, 425, 545, 545, 610,
720, 900, 1200, 1625, 1813, 1987, 2213, 2516, 3019, 3693,
4450, 5333, 6000)#
POP <- POP*1000000
BP <- 2001 - YEAR#

1---続く--

米国センサス局のウェブサイト (http://www.census.gov/) からダウンロードすることもできる。

12.2. 時系列解析の基礎

115





op <- par(mfrow=c(2,2))#plot(-BP,POP,type="b",xlab="- \"Years before present (=X)\"",
ylab="World population (=Y)",axes=F)axis(1,at = my.at <- c(-1000000,-800000,-600000,-400000,-200000,0),labels=formatC(my.at,format="fg"))axis(2,at = my.at <- c(0,2*10^9,4*10^9,6*10^9),labels=formatC(my.at,format="fg"))#plot(-log10(BP),POP,type="b",xlab=expression(log[10](X)),ylab="Y",axes=F)axis(1,at = my.at <- c(-7,-6,-5,-4,-3,-2,-1,0),labels=formatC(my.at,format="fg"))axis(2,at = my.at <- c(0,2*10^9,4*10^9,6*10^9),labels=formatC(my.at,format="fg"))#plot(-BP,log10(POP),type="b",xlab="-X",ylab=expression(log[10](Y)),
axes=F)axis(1,at = my.at <- c(-1000000,-800000,-600000,-400000,-200000,0),labels=formatC(my.at,format="fg"))axis(2,at = my.at <- c(2:10), labels=formatC(my.at,format="fg"))#plot(-log10(BP),log10(POP),type="b",xlab=expression(log[10](X)),
ylab=expression(log[10](Y)),axes=F)axis(1,at = my.at <- c(-7,-6,-5,-4,-3,-2,-1,0), labels=formatC(my.at,format="fg"))axis(2,at = my.at <- c(2:10), labels=formatC(my.at,format="fg"))#par(op)

普通の軸（左上）でみると近年の急増が激しすぎて初期の変化がわからないが，両対数でプロットすると（右下）３つの階段状（「Deevey の階段」と呼ばれる）に見える2 。
これらのデータから世界人口の将来予測をするために，変化のパタンを数学的に表そうという試みがいくつもなされてきた。もっとも単純なアプローチが，見かけの変化に数式を当てはめることである。前章でも説明したように，直線的でない関連に対して回帰を行
うには，変換して見かけ上の関連を直線に近づける方法と，非線形の数式を当てはめて最小二乗法でもっとも良く当てはまるパラメータを得る方法（非線形回帰）がある。それらの変化のパタンを使って予測することは，既に説明した回帰の外挿に当たるから，正しい保証はないし，実際，どれも十分な説明にならないことが既知である3 。
210000 年ほど前までは，ヒトも狩猟採集に頼って生活しており，自然の生態系の一員だったと考えられるが，農耕が始まると人口支持力（環境収容力）が上がり（農耕革命），200 年ほど前の産業革命で非生物的資源を大規模に使うようになってさらに環境収容力が上がったという，不連続な人口増加率に対する説明が，一応与えられている。
3
ただし，もし微分方程式がメカニズム（因果関係）を正しく説明しているならば，外挿してもいいことになる（もちろん，メカニズムが変わらなければ，という限定条件の下での話である）。だが，農耕革命や産業革命に匹敵する変化が起こったら，当然メカニズムが変わるだろうから，外挿による予測が現実に合わなく

第 12 章時系列データと間隔データの扱い方●●●−1000000−600000

0

●

●

●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●

Y

●

4000000000

4000000000●

0World population (=Y)

116

−200000

●
●
●
●
●
●
●
●●

●

●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
● ●●

●

−6

−5

−4

−1000000

9
8
7

● ●

−600000−200000

−1

0

●
●●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●

●

●

6
5

●

log10(Y)98log10(Y)

7
5

6

●

−2

log10(X)− "Years before present (=X)"

●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●

−3

●

−6

−5

−4

−3

−2

log10(X)−X

図 12.1: 世界人口の経時変化−10

12.2. 時系列解析の基礎

117

●

7

●

●

●
●
●

●

4000000000

8

●

●

●

●

●

2000000000

World population (=POP)

●

●

●
●
●
●
●
●

●

6
●

−6

0

5

log10(POP)

9

●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●

6000000000

Y= 10.93 + 0.9157 X−4−2− log10(BP)0●−1000000●−400000

●
●
●
●
●
●
●
●
●
●
●
●
●
●
●

0

− "Years before present (=BP)"

図 12.2: 世界人口の経時変化への数式の当てはめ

第 12 章118

時系列データと間隔データの扱い方

見かけの当てはめをしたものを図 12.2 に示す。この図を描くための R のプログラムは次の通りである。ただしデータ定義部分は前の例と同じなので，省略している。

POP <- POP*1000000
BP <- 2001 - YEAR
LPOP <- log10(POP)LBP <- -log10(BP)reg <- lm(LPOP~LBP)
op<-par(mfrow=c(1,2))
plot(LBP,LPOP,type="p",axes=F,xlab=expression(-log[10](BP)),
ylab=expression(log[10](POP)),
main=paste("Y=",formatC(reg$coefficient[[1]],width=5),"+",
formatC(reg$coefficient[[2]],width=5),"X"))axis(1,at = my.at <- c(-7,-6,-5,-4,-3,-2,-1,0),labels=formatC(my.at,format="fg"))axis(2,at = my.at <- c(2:10), labels=formatC(my.at,format="fg"))
abline(reg,col="red")plot(-BP,POP,type="p",xlab="- \"Years before present (=BP)\"",
ylab="World population (=POP)",axes=F)axis(1,at = my.at <- c(-1000000,-800000,-600000,-400000,-200000,0),labels=formatC(my.at,format="fg"))axis(2,at = my.at <- c(0,2*10^9,4*10^9,6*10^9),labels=formatC(my.at,format="fg"))
points(-BP,10^(reg$coefficient[[1]]+reg$coefficient[[2]]*LBP),
col="red",type="l")par(op)

まず説明変数であるそのときから現在までの経過年数と，目的変数である世界人口を，
両方とも対数変換する。上で示した Deevey の階段ができあがるが，これは比較的直線に近いので，とりあえず直線回帰をしてみる（図 12.2 の左図）
。対数変換していたのを元に戻したのが右の図である。かなり良く当てはまっているように見えないこともないが，左の図を見ると明らかに最近の値が過大評価になっているので，予測の信頼性はない。もっといえば，明らかに回帰の外挿だし，そもそも，点と点が独立でないのに回帰を使うのは思想的にもおかしいから，三重の間違いである。

12.2.1非線形回帰

次に，微分方程式や差分方程式で隣り合う点の間の関係を説明するアプローチを説明する。これは，時系列データが互いに独立ではないことは正しく反映している。未知の係数を求めるには，非線形の最小二乗法を用いる。仮に代数的に解けない場合は，関数の最小化を数値的に行う方法がいくつか提案されているので，コンピュータを使って数値解を得る。関数の最小化を行う方法の中でもっとも単純なのは，Nelder-Mead の滑降シンプレッ
なってくるのは当然である。20 世紀後半からの少子化が，そうしたメカニズムの変化なのかどうかは，まだ誰にもわからない。

12.2. 時系列解析の基礎

119

クス法と呼ばれる方法である。もっと効率が良い方法としては，Powell の方法などがある
が，難解である。R でも optim() という関数で Nelder-Mead の他にも BFGS や SANN など計５つの方法が提供されているが，Powell の方法はない。
世界人口の変化についての微分方程式モデルには，時刻を t，人口を N ，増加率を r，初期人口を N0 ，人口収容力を K として，

• 指数的増加モデル: dN/dt = rN ，すなわち N = N0 ert• ロジスティック増加モデル: dN/dt = rN (K − N )，すなわちN=K
1 + (K/N0 − 1)e−rKt• 最後の審判日モデル: 相対増加速度が現在人口に比例する，つまり dN/dt = rN 2 とするモデル。1958 年までのデータに当てはめると，2026 年には無限大に発散してしまうが，1980 年頃までは良く当てはまる（相対増加率が初めは実際より低く，後半では高すぎ）。現実の相対増加速度が減少に転じたので否定された。
• 指数的増加の和のモデル: ２つの部分集団（先進国と途上国）に分けて，それぞれが指数的増加をすると考えたもの。先進国の割合を p として，dN/dt = dN1 /dt +dp(N − N1 )/dt = r1 N1 + pr2 (N − N1 ) とする。現在までのところ，あてはまりは悪くない。
これらのように微分方程式で考え，それを解いた方程式によって非線形回帰する方が，変数変換によって直線に近づけ，線形回帰するよりは本質的である。
なお，R では，非線形回帰は nls というパッケージを使えば実行できる。たとえば，

dat <- data.frame(N=POP,t=YEAR)
library(nls)x <- getInitial(N~SSlogis(t,Asym,xmid,scal),data=dat)
xx <- nls(N~SSlogis(t,Asym,xmid,scal),data=dat,x)
summary(xx)とすれば，N=Asym/(1+exp((xmid−t)/scal)) としたロジスティック増加モデルの係数が得られる筈だが，世界人口データではロジスティック増加モデルの当てはまりが悪いので収束せず，解が得られない（注：2017 年現在では事情が違っていて，既に nls() 関数は標準インストールに含まれているため，nls パッケージは不要だが，収束しないのは変わらない）。
人口の場合は必ず整数なので，微分方程式というよりも本質的には差分方程式であり，その意味ではカオスが生じる可能性もあるので，そもそも予測が安定しない可能性がある
が，局所的には微分で考えても悪くないと仮定されている。しかし，ここに上げたモデル
はどれも実際の世界人口の変化を十分に説明しきれないことがわかっている。考えてみれ第 12 章120

時系列データと間隔データの扱い方

ば，人口を構成する中身の人々は常に出生と死亡によって入れ替わり，文化も自然環境も変わっていくので，微分方程式自体がが途中で変化するかもしれないから，当てはまらないのは当然である。時系列解析の本質的な難しさは，ここにある。システムの定常性を仮定できないのである。そうなると，シナリオを仮定したシミュレーション以外には手口はない。世界人口の予測には，シミュレーション（多くは，地域を分けて出生と死亡に要因分解して各々のトレンドを予測するコウホート要因法と呼ばれる手法である）も行われている。しかし決定的な予測に成功した研究はない。

12.2.2

自己回帰モデル

時系列データの予測に関しては，微分方程式や差分方程式とはまったく違うアプローチもあり，広く使われている。アプリオリに，そのデータの変化のパタンがいくつかの成分によって構成されると決めてしまい，その中身を探るアプローチである。時系列データには，繰り返し起こる（周期性がある）変化を含むように見えるものがある。たとえば，日本のような中緯度に位置する場所では，一日の平均気温は，季節ごとに周期的に変化する。しかし，繰り返しは完全ではなく，地球温暖化が起これば長期的には上昇傾向をもつ
し，天気などによって毎日微妙に変化する。このような時系列データは，季節成分，傾向成分，不規則成分という３つの成分に分解して考えることができる。この考え方の応用としては，株価変動のような経済データから季節的な変動を除去する方法として，季節調整法と呼ばれる方法が広く用いられている。
周期的な変動を表す考え方の，もっとも基礎的なものは自己回帰 (Auto Regression の略で AR と呼ばれる）である。適当なタイムラグ s を置いて周期的に同じ成分によって決まる値が出現するならば，任意の時点 t における値 x(t) と，時点 t + s における値 x(t + s)が相関をもっていることになり，x(t + s) を目的変数，x(t) を説明変数として回帰式を出したときに十分に良い当てはまりが得られれば，s だけ後の値が予測できることになる4 。
このとき，過去の値を十分多く使えば，予測誤差が過去の値と関係をもたなくなると期待される。式で書けば，現在の時刻を n として，時刻 n における値を示す確率変数を x(n)とするとき，x(n) = a1 x(n − 1) + a2 x(n − 2) + · · · + aM x(n − M ) + w(n) と書くと，誤差項 w(n) が x(n) の過去の値と独立になるということである。適切な次数 M を選ぶ方法
は，期待される予測誤差の二乗が最小になるようにするのが実用的な方法の１つである。
一般には，AIC などの情報量基準を用いて，モデルのあてはまりの悪さが最小になるようにする。x(t) が２次定常であれば，x(t) と x(t + s) の共分散 Rxx (s) は，s だけの関数となり，Rxx (s) = E((x(t) − µ)(x(t + s) − µ)) を自己共分散関数と呼ぶ。明らかに，Rxx (0) はx(t) の分散に等しく，Rxx (−s) = Rxx (s)，つまり自己共分散関数は原点について対称である。共分散の代わりに x(t) と x(t + s) の相関係数を考えると，ρxx (s) = Rxx (s)/Rxx (0)4

このためには，x(t) が２次定常であると都合がよい。すなわち，平均と分散が時間に関して不変であり，任意の t，s に関して E(x(t)x(s)) が t − s だけの関数となっていると都合がよい。そうでない場合は，差分を取ったり傾向成分を除去したりして，２次定常なデータに変換することもある。

12.2. 時系列解析の基礎

121となり，やはり s だけの関数となる。明らかに，ρxx (0) = 1 である。隣同士の相関が小さい確率過程の場合は，s を大きくすると急速に ρxx (s) は 0 に近づく。
過去の時系列データから予測をすることを定式化してみよう。確率過程 x(t) の s − 1までの観測値に基づいて，次の時刻 s における値を予測することを考えるということである。簡単のため，x(t) の期待値は t によらず常に 0 とする。何らかの手段で係数の列{a(m); m = 1, 2, . . . , M } を構成し，

x̂(s) =

M∑a(m)x(s − m)m=1

によって x(s) の予測値とすることが考えられる。このやり方で得られる予測を M 次線形予測と呼ぶ。このとき，予測誤差 ε(s) = x(s) − x̂(s) の２乗平均
N∑lim
ε2 (s)/N
N → ∞ s=1が最小になるように係数列 {a(m)} を選んだときの M 次線形予測を M 次最良線形予測という。このとき，ε(s) と x(s − 1), . . . , x(s − M ) は無相関となる。M を大きくしていくと，それ以上予測誤差の最小二乗平均が小さくならなくなる点が存在し，そのときの係数列を最良線形予測子と呼ぶ。このときの予測誤差の系列は，互いに相関をもたない，平均0，分散一定の確率変数の列（すなわちホワイトノイズ）になっている。
R で，非線形回帰以外の時系列解析をするには，まずデータを時系列データであると認識させる必要がある。たとえば，ソロモン諸島ガダルカナル島で 1995 年 11 月 23 日から
12 月 29 日まで毎日朝 6 時と昼 2 時の 2 回ずつ気温を測定したデータがある。これを順番に temp という変数に代入するならば，



temp <- c(23.5, 28.7, 24.4, 28.5, 24.5, 30.5, 25.0, 30.9, 25.0,
26.7, 24.1, 30.3, 25.4, 28.3, 24.5, 32.9, 26.0, 29.4, 25.7,
31.2, 24.9, 29.3, 24.6, 29.9, 24.8, 32.0, 26.3, 31.8, 24.2,
31.2, 24.7, 29.6, 24.8, 30.7, 25.8, 31.7, 25.4, 30.1, 24.8,
29.1, 25.4, 30.9, 23.6, 31.2, 26.1, 30.8, 24.9, 32.2, 26.2,
31.2, 25.1, 31.9, 25.8, 32.5, 24.8, 32.4, 25.3, 31.7, 25.8,
33.6, 25.5, 31.6, 26.0, 30.5, 25.0, 33.0, 25.5, 30.0, 23.5,
31.6, 25.9, 33.0, 24.8, 33.3)
となる（本当のデータはいくつか欠損を含んでいるのだが，それだと解析が面倒なので適当に補った）。これを ttemp という時系列データとして認識させるには，library(ts) として時系列解析パッケージが使えるようにしてから，
ttemp<-ts(temp, freq=2, start=c(23, 1))とすれば，毎日 2 回の測定値があるデータを 23 日の 1 回目から，temp という配列から読んで，ttemp という時系列データに代入する操作をしたことになる。その後の時系列解析は，
この ttemp に対して行う。このデータに対して AR モデルを当てはめるには，ar(ttemp)とすればよい。この例では，４次の自己回帰係数が計算される。

第 12 章122

時系列データと間隔データの扱い方

AR 過程 x(n) で表される確率システムの時刻 n における状態を z(n) で表すことにすると，z(n) = (x(n), x(n − 1), ..., x(n − M + 1)) で与えられることがわかる。これと将来の入力 w(n + 1), w(n + 2), . . . がわかれば，将来の動き x(n + 1), x(n + 2), . . . が確定される。
この場合，w(n) は誤差項ではなく，システムを動かす入力と考えられる。すべての周波数成分を一様に含むホワイトノイズ w(n) から当面の観測値の系列を生み出す確率過程の形で，多くの時系列モデルが与えられる。たとえば，x(n) を１変量または多変量の確率過程として，状態を表すベクトル z(n) を使って，z(n) = F z(n − 1) + Gw(n)，x(n) = Hz(n)（ここで F ，G，H は，すべて適当な行列である）のように与えられる。ここで w(n) をw(n) + b1 w(n − 1) + ... + bL w(n − L) で置き換えると，自己回帰移動平均過程 (ARMA モデル）が得られるが，詳細はここでは触れない。関心がある方は放送大学のテキスト（尾崎, 1988）などを参照されたい。

12.2.3フーリエ解析

次に周期的な変動をする関数としては正弦関数 (sin) と余弦関数 (cos) があるので，観察された周期性がいくつかの正弦関数と余弦関数の定数倍の和として表されると決めてしまい，この定数のセットを求めるアプローチがある（実は，すべての周期的な関数は，正弦関
数と余弦関数の有限個または無限個の和で表現できることがわかっている）。物理学など
で，ある光がどのような周波数の波がそれぞれどのくらいの強さで足しあわされたものかを調べる方法は，スペクトル解析 (spectral analysis) と呼ばれているが，実は周期的な波だ
けでなく，非周期的な波の表現方法としても有効なことがわかっており，一般にフーリエ解
析 (Fourier analysis) と呼ばれる。フーリエ解析の計算方法としてよく行われるのが，高速フーリエ変換 (Fast Fourier Transformation; FFT) である。フーリエ解析を定式化すると，
以下のようになる。いま，区間 −T /2 から T /2 までの間に，等間隔にとられた 2n 個の時系列
データが与えられているとする。x(t) は，t = 0, ±T /2n, ±2T /2n, . . . ± (n − 1)T /2n, −T /2で与えられている5 。このとき，

x(t) = a0 + 2

n−1∑(am cos

m=1

2πmt
2πmt
2πnt
+ bm sin) + an cos
TTTと書ける。周波数 1/T の整数倍の波の重ね合わせと考えるので，1/T は基本周波数と呼ばれる。R では，たとえば fft(ttemp) とすれば時系列データ ttemp に対して FFT が行われる。フーリエ解析については，ヒッポファミリークラブによって作られた「フーリエの冒険」という素晴らしい入門書があり，お薦めである。
フーリエ解析では，正弦関数や余弦関数は時間と独立である。しかし，世の中には，時間とともにばらつきが大きくなるような繰り返しもある。その場合は，観察された関数を，
時刻を説明変数に含む周期的な関数であるウェーブレット (Wavelet) 関数の足し合わせに分解する方法がある。このやり方はウェーブレット解析と呼ばれ，非常に強力だが，まだ5

データの個数が 2n 個なので，区間が −T /2 以上 T /2 未満であると考えて，T /2 は入れない。

12.3. 生存時間解析の基礎

123

実際に使われた事例が少ない（2001 年 12 月第１週の Nature に，麻疹の流行パタンの分析に適用した論文が掲載されていた）。

12.3

生存時間解析の基礎

間隔データを扱う方法としては，一般に生存時間解析 (Survival Analysis または Event
History Analysis) と呼ばれるものがある。なかでもよく知られているものが Kaplan-Meierの積・極限推定量である（現在では，普通，カプラン・マイヤ推定量と呼ばれている）。カ
プラン・マイヤ推定量は，イベントが起こった各時点での，イベントが起こる可能性がある人口（リスク集合）あたりのイベント発生数を１から引いたものを掛け合わせて得られる，ノンパラメトリックな最尤推定量である。複数の期間データ列の差の比較には，ログランク検定や一般化 Wilcoxon 検定が使われる。が，ログランク検定でも Mantel-Haenzel
流のログランク検定と Peto and Peto 流のログランク検定があったり，一般化 Wilcoxon
検定でも Gehan-Breslow 流と Peto-Prentice 流があったりして，非常に面倒な話になってくるので，本書では説明しない。それらのノンパラメトリックな方法とは別に，イベントが起こるまでの時間が何らかのパラメトリックな分布に当てはまるかどうかを調べる方法もある。当てはめる分布としては指数分布やワイブル分布がある。イベントが起こるまでの期間に何らかの別の要因が与える効果を調べたいときはコックス回帰（それらが基準と∑なる個人のハザードに対して exp( βi zi ) という比例定数の形で掛かるとする比例ハザード性を仮定する方法）と，パラメトリックなモデルに対数線形モデルの独立変数項として入れてしまう加速モデルがある。
R では生存時間解析をするための関数は survival パッケージで提供されており，library(survival)とすれば使えるようになる。カプラン・マイヤ法は survfit() 関数，コックス回帰は
coxph() 関数，加速モデルは survreg() 関数で実行できる。生存時間解析も，時系列解
析と同じく，それだけで一冊の本ができるほど奥が深いので，今回はカプラン・マイヤ推定量の求め方だけ説明する。より詳しくは，大橋，浜田 (1995) などを参照されたい。
なお，データ数が多い場合は，個々の間隔データを集計して，生命表解析を行うこともある。生命表解析の代表的なものは，ヒトの平均寿命を計算するときに行われている（官庁統計としても，まさしく生命表という形で発表されている）。平均寿命とは 0 歳平均余命のことだが，これは，0 歳児 10 万人が，ある時点での年齢別死亡率に従って死んでいったとすると，生まれてから平均してどれくらいの期間生存するのかという値である6 。一般に x 歳平均余命は，x 歳以降の延べ生存期間の総和 (Tx ) を x 歳時点の個体数 (lx ) で割れば得られる。延べ生存期間の総和は，年齢別死亡率 qx が変化しないとして，lx (1 − qx /2) によって x 歳から x + 1 歳まで生きた人口 Lx（開始時点の人口が決まっていて死亡率も変化しないので x 歳の静止人口と呼ばれる）を求め，それを x 歳以降の全年齢について計算して和をとることで得られる。ヒトの人口学では年齢別死亡率から qx を求めて生命表を計算するのが普通だが，生物一般について考えるときは，同時に生まれた複数個体（コホー6

誤解されることが多いが，死亡年齢の平均ではないので注意されたい。

124

第 12 章時系列データと間隔データの扱い方

図 12.3: ソロモン諸島のある村の女性全員の再生産史
ト）を追跡して年齢別生存数として lx を直接求めてしまう方法（コホート生命表）とか，
たんに年齢別個体数を lx と見なしてしまう方法（静態生命表，偶然変動で高齢の個体数の方が多い場合があるので平滑化するのが普通）がよく行われる。
では，簡単な例を使って，カプラン・マイヤ推定量を説明しよう。図 12.3 は，ソロモン諸島のある村で，既婚女性全員に，自分の誕生日，第１子誕生日，第２子誕生日，……，末子誕生日（まだ出産を完了していない年齢の女性も含めて，ともかくそれまでに産んだ子どもの誕生日を全部）聞き取った結果である。間隔データを使わなければ，このデータ
から出生力について何かいうためには，出産を完了した女性についての平均出産数（平均
完結パリティという）くらいしか指標がないが，間隔データを使えば，時間当たりの出生力を考えることができるので，出産を完了していない女性のデータも使うことができる。
この種のデータには，以下の利点と欠点がある。

• 母親に対して，全ての子どもの出生年月日を聞き取ることは，統計がしっかりしていない社会でも比較的信頼性の高い方法である。
• 人口規模が小さくても使える上，過去の推計もできるという利点がある。

12.3. 生存時間解析の基礎

125• 古くなるほど誤差が大きくなるバイアスや，他に影響を受ける要因が多いのは欠点。
• 結婚から第１子誕生までの期間や，第１子と第２子の出生間隔がよく使われるが，上にあげたソロモン諸島の社会では，結婚記念日はあまり正確に記憶されていなかったために，第１子と第２子の出産間隔を使うことにした。第１子と第２子の出産間隔には，第２子の在胎期間が含まれるために，その期間のハザードは原理的にゼロであることに注意する必要がある7 。
まず，カプラン・マイヤ推定量についての一般論を示す。イベントが起こる可能性がある状態になってから，イベントが起こった時点を t1 , t2 , . . . とし，t1 時点でのイベント発生
数を d1 ，t2 時点でのイベント発生数を d2 ，以下同様であるとする。また，時点 t1 , t2 , . . .
の直前でのリスク集合の大きさを n1 , n2 , . . . で示す。リスク集合の大きさとは，その直前でまだイベントが起きていない（この例では第１子出産後で第２子出産前の）個体数である。観察途中で死亡や転居などによって打ち切りが生じるために，リスク集合の大きさはイベント発生によってだけではなく，打ち切りによっても減少する。したがって ni は，時点 ti より前にイベント発生または打ち切りを起こした個体数を n1 から除いた残りの数となる。なお，イベント発生と打ち切りが同時点で起きている場合は，打ち切りをイベント
発生直後に起きたと見なして処理するのが慣例である。このとき，カプラン・マイヤ推定
量 Ŝ(t) は，∏Ŝ(t) = (1 − d1 /n1 )(1 − d2 /n2 ) . . . = (1 − di /ni )i<tとして得られる。その標準誤差はグリーンウッドの公式により，ここでの説明は省略す
るが，∑
divar(Ŝ) = Ŝ 2 ×n(n− di )
i<t i iで得られる。なお，カプラン・マイヤ推定量を計算するときは，階段状のプロットを同時に行うのが普通である。
R では，library(survival) としてパッケージを呼び出し，dat <- Surv(生存時間，打ち切りフラグ) 関数で生存時間データを作り（打ち切りフラグは 1 でイベント発生，0が打ち切り。ただし区間打ち切りの場合は 2 とか 3 も使う）
，res <- survfit(dat) でカ
プラン・マイヤ法によるメディアン生存時間が得られ，plot(res) とすれば階段関数が描かれる（注：2003 年当時はこれで良かったが，その後 survival パッケージの仕様変更があり，群分けをせずにカプラン・マイヤ推定をする際も群分けする場合と同じ記法が必要になったため，res <- survfit(dat ~ 1) とする必要がある）。イベント発生時点ごとの値を見るには，summary(res) とすればよい。
参考までに書いておくと，生データがイベント発生の日付を示している場合，間隔を計算するには difftime() 関数や ISOdate() 関数を使うと便利である。たとえば，
7

たとえば，在胎期間の推定値として 9 ヶ月を引いた値をデータにしたり，または在胎期間を切片として含んだハザード関数を推定することも考慮するべきである。

第 12 章時系列データと間隔データの扱い方

0.0

0.2

0.4

0.6

0.8

1.0

126

0

5

10

15

20

25

30

35

図 12.4: ソロモン諸島女性の第１出産間隔についてのカプラン・マイヤプロット

dob
1964-8-21という形のテキストファイル L12-1.dat で，日付が与えられているとしよう。これを
x <- read.delim("L12-1.dat") として読み込み，2003 年 6 月 11 日までの間隔を計算したければ，difftime(ISOdate(2003,6,11),x$dob) とすれば，その間の経過日数がDateTimeClasses のオブジェクトとして得られる。日数から年に変換したければ，たと
えば as.integer(difftime(ISOdate(2003,6,11),x$dob))/365.24 とすればいいし，さらに 12 を掛ければ月単位になる。
たとえば，区間打ち切り（イベント発生までの時間がある幅をもってしかわからないデー
タ）を無視して，上で示したソロモン諸島のデータのうち，第１子出生が 1986 年以降のものの出産間隔データを R で分析すると，右側打ち切りを考慮した出産間隔のメディアンが 22 ヶ月であることがわかる（プロットを図 12.4 に示す）。
この図の作成に用いたプログラムは

12.3. 生存時間解析の基礎

127





library(survival)time <- c(17,14,22,37,12,15,19,26,29,23,20,18,9,9,3,2)
event <- c(1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0)
dat <- Surv(time, event)res <- survfit(dat ~ 1)
print(res)summary(res)plot(res)




である。

129

第 13 章13.1

一般化線型モデル入門

一般化線型モデルとは？

第 11 章で説明したように，普通の量的変数の間の線型回帰を一般化すれば，t 検定，分散分析，共分散分析，回帰分析，重回帰分析，ロジスティック回帰分析，正準相関分析など多くの分析方法を共通の数学モデルで扱うことができる。このモデルは一般化線型モデ
ルと呼ばれる。英語では Generalized Linear Model といい，R での関数名も glm() である。なお，線型は linear の訳で，一次結合という意味なのだが，漢字としては線形と書かれることもある。厳密な区分はないように思われるが，glm() の場合は「型」の字を使う方が普通のようである。なお，一般化線型モデルのうち，ある条件を満たすものを一般線型モデル (General Linear Models) と呼び，SAS の PROC GLM はこれに当たる。
一般化線型モデルは，基本的には，Y = β0 + βX + ε という形で表される（Y が従属変数群，X が独立変数群（及びそれらの交互作用項），β0 が切片群，β が係数群，ε が誤差項である）。係数は最小二乗法または最尤法で数値的に求める。以下，先にあげたいくつかの分析が，どのように一般化線型モデルを特殊化したものなのかを説明し，その中で重回
帰分析と共分散分析について若干の補足説明を加える。

13.2

変数の種類と数の違いによる線型モデルの分類

以下のように整理すると，t 検定，分散分析，回帰分析といった分析法が，すべて一般
化線型モデルの枠組みで扱えることがわかる。
分析名

従属変数 (Y )独立変数 (X)t 検定（注１）
一元配置分散分析
多元配置分散分析
回帰分析
重回帰分析
共分散分析
ロジスティック回帰分析
正準相関分析

量的変数１つ
量的変数１つ
量的変数１つ
量的変数１つ
量的変数１つ
量的変数１つ２分変数１つ
量的変数複数２分変数１つカテゴリ変数１つ
カテゴリ変数複数
量的変数１つ
量的変数複数（注２）（注３）２分変数，カテゴリ変数，量的変数複数
量的変数複数（注１）Welch の方法でない場合。
（注２）カテゴリ変数はダミー変数化。

第 13 章 一般化線型モデル入門

130（注３）２分変数１つと量的変数１つの場合が多いが，「２分変数またはカテゴリ変数１つまたは複数」と「量的変数１つまたは複数」を両方含めば使える。
たとえば，建物の型の変数 (BD) を集合住宅１，一戸建て２とした場合の，東京のとある大学の学生実習で測定した水道水質の総硬度 (HARD) の平均に，建物の型によって差があるかどうかを検定したいとする。
等分散性を仮定すれば，R では，

BD <- c(1,1,1,1,1,1,2,2,1,1,2,1,1,2,1,1,2,2,1,1,1,1,1,2,1,1,2,1,1,2,1,2,1,1)
HARD <- c(88.280, 103.500, 119.600, 96.210, 109.340, 100.500, 81.390, 75.715,
112.880, 101.150, 84.400, 102.900, 65.000, 97.445, 101.850, 79.100, 103.620,
69.270, 97.090, 101.150, 89.820, 108.560, 98.810, 103.620, 85.940, 89.230,
69.300, 101.150, 101.150, 73.070, 62.695, 148.590, 93.080, 103.500)



としてデータを定義した後，t.test(HARD ~ BD, var.equal=T) とすることによって，以下の結果が得られる。
Two Sample t-test
data: HARD by BD
t = 0.8843, df = 32, p-value = 0.3831
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:-7.444719 18.867802
sample estimates:
mean in group 1 mean in group 2
96.35354
90.64200

一般化線型モデルを使って，建物の型を独立変数として総硬度を従属変数としたモデルの当てはめをしてみるには，R では，データ定義後に，summary(glm(HARD ~ BD)) とすればよい。以下の結果が得られる。
Call:glm(formula = HARD ~ BD)
Deviance Residuals:
Min
1Q
Median-33.659-8.957
3.301

3Q
7.061

Max
57.948

Coefficients:
Estimate Std. Error t value Pr(>|t|)(Intercept) 102.065
8.861 11.518 6.41e-13 ***BD-5.712
6.459 -0.884
0.383--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1(Dispersion parameter for gaussian family taken to be 294.4717)
Null deviance: 9653.4

on 33

degrees of freedom

13.3. 重回帰分析
Residual deviance: 9423.1
AIC: 293.72

131
on 32

degrees of freedom

Number of Fisher Scoring iterations: 2

Coefficients:の BD のところを見ると，t value が −0.884，その有意確率が 0.383 となっていて，t 検定の結果と一致している（t 値の符号が違うが，t 分布は左右対称なので両側検定では符号が違っても同じ意味）ことがわかる。
この場合は，当然のことながら，普通の線型モデルでも同じ結果が得られるし，分散分
析でも同じ結果となる。つまり，t 検定は分散分析の特殊な場合ということができるし，分散分析は線型モデルの特殊な場合ということができるし，線型モデルは一般化線型モデ
ルの特殊な場合（当然だが）ということができる。

13.3

重回帰分析

複数の独立変数を同時にモデルに投入することにより，従属変数に対する，他の影響を調整した個々の変数の影響をみることができる。
重回帰分析は，何よりもモデル全体で評価することが大切である。たとえば，独立変数が年齢と体重と一日当たりエネルギー摂取量，従属変数が血圧というモデルを立てれば，年齢の偏回帰係数（または偏相関係数または標準化偏回帰係数）は，体重と一日当たりエネ
ルギー摂取量の影響を調整した（取り除いた）後の年齢と血圧の関係を示す値だし，体重の偏回帰係数は年齢と一日当たりエネルギー摂取量の影響を調整した後の体重と血圧の関係を示す値だし，一日当たりエネルギー摂取量の偏回帰係数は，年齢と体重の影響を調整した後の一日当たりエネルギー摂取量と血圧の関係を示す値である。独立変数が年齢と体重で従属変数が血圧である場合の年齢の偏回帰係数は，独立変数に一日当たりエネルギー
摂取量も入っている場合の年齢の偏回帰係数とは異なる。
モデル全体としてのデータへの当てはまりは，重相関係数の２乗（決定係数）や，AICで評価する。
偏回帰係数の有意性検定は，偏相関係数がゼロである確率を t 検定によって求める。１つの重回帰式の中で，相対的にどの独立変数が従属変数（の分散）に対して大きな影響を与えているかは，偏相関係数の二乗の大小によって評価するか，または標準化偏回帰係数によって比較することができる。しかし，原則としては，別の重回帰モデルとの間では比較不可能である。
たくさんの独立変数の候補からステップワイズ法によって比較的少数の独立変数を選択することが良く行われる。しかし，モデル全体で評価するという観点からは，あまり薦められない。数値以外の根拠により投入する変数を決めて，各々の偏回帰係数（または偏相関係数）が有意であるかないかを見る方が筋がよい。十分な理由があれば，有意でない変数も含めた重回帰式を作っても良い。
しかし，数値以外の根拠が薄い場合もあるし，偏回帰係数が有意でない（偏相関係数がゼロであるという帰無仮説が成り立つ確率が 5%より大きい）変数を重回帰モデルに含め

第 13 章 一般化線型モデル入門

132

ることを嫌う立場もある。したがって，数値から最適なモデルを求める必要もありうる。
そのためには，独立変数が１個の場合，２個の場合，３個の場合，……，のそれぞれについてすべての組み合わせの重回帰モデルを試して，もっとも重相関係数の二乗が大きなモデルを求めて，独立変数が n 個の場合が，n − 1 個の場合のすべての変数を含むならば尤
度比検定を行って，尤度が有意に大きくならないところまでの n − 1 個を独立変数として採用するのが良い。SAS では PROC REG の MAXR というオプションで可能である。

13.4

共分散分析

典型的には，Y = β0 + β1 X1 + β2 X2 + β12 X1 X2 + ε というモデルになる。２分変数 X1
によって示される２群間で，量的変数 Y の平均に差があるかどうかを比べるのだが，Y が量的変数 X2 と相関がある場合に（このとき X2 を共変量と呼ぶ），X2 と Y の回帰直線の
傾き (slope) が X1 の示す２群間で差がないときに，X2 による影響を調整した Y の修正平均（adjusted mean; 調整平均ともいう）に，X1 の２群間で差があるかどうかを検定する。
R では，X1 を示す変数名を C（注：C は factor である必要がある），X2 を示す変数名をX とし，Y を示す変数名を Y とすると，summary(glm(Y~C+X)) とすれば，X の影響を調整した上で，C 間で Y の修正平均（調整平均）が等しいという帰無仮説についての検定結果が得られる（C2 と表示される行の右端に出ているのがその有意確率である）。ただし，この検定をする前に，２本の回帰直線がともに有意にデータに適合していて，かつ２本の回帰直線の間で傾き (slope) が等しいかどうかを検定して，傾きが等しいことを確かめておかないと，修正平均の比較には意味がない。そこで，まずたとえば，summary(lm(Y[C==1]~X[C==1]);summary(lm(Y[C==2]~X[C==2]) として２つの回帰直線それぞれの適合を確
かめ，summary(glm(Y~C+X+C*X)) として傾きが等しいかどうかを確かめなければならな
い。傾きが有意に違っていることは，C と X の交互作用項が有意に Y に効いていることと同値なので，Coefficients の C2:X と書かれている行の右端を見れば，「傾きが等しい」を帰無仮説とした場合の有意確率が得られる。そもそも回帰直線の適合が悪ければその独立変数は共変量として考慮する必要がないし，傾きが違っていれば群分け変数と独立変数の交互作用が従属変数に関して有意に影響しているということなので，２群を層別して別々に解釈する方が良い。
参考までに数式でも説明しておく。いま，C で群分けされる２つの母集団における，(X, Y )の間の母回帰直線を，y = α1 + β1 x，y = α2 + β2 x とすれば，次の２つの仮説が考えられる。まず傾きに差があるかどうか？ を考える。つまり，H0 : β1 = β2 ，H1 : β1 ̸= β2 である。次に，もし傾きが等しかったら，y 切片も等しいかどうかを考える。つまり，β1 = β2のもとで，H0′ : α1 = α2 ，H1′ : α1 ̸= α2 を検定する。各群について，X と Y の平均と変動と共変動を出しておけば1 ，仮説 H1 のもとでの残差平方和

d1 = SSY 1 − (SSXY 1 )2 /SSX1 + SSY 2 − (SSXY 2 )2 /SSX2
1

yi /N 1，SSY 1 =(yi − EY 1 ) ，EXY 1 =∑∑xi /N 1
，SSX1 =
(xi − EX1 )2 ，EY 1 =∑xi yi /N 1，SSXY 1 = (xi yi − EXY 1 )2 。第２群も同様。

xi , yi について，
EX1 =∑ 標本サイズ N 1 の第１群に属する∑∑
2

13.4. 共分散分析

133と仮説 H0 のもとでの残差平方和

d2 = SSY 1 + SSY 2 − (SSXY 1 + SSXY 2 )2 /(SSX1 + SSX2 )を計算して F = (d2 − d1 )/(d1 /(N − 4)) が H0 のもとで第１自由度 1，第２自由度 N − 4の F 分布に従うことを使って傾きが等しいかどうかの検定ができる。H0 が棄却されたときは，β1 = SSXY 1 /SSX1 ，β2 = SSXY 2 /SSX2 として別々に傾きを推定し，y 切片 α もそれぞれの式に各群の平均を入れて計算できる。H0 が採択されたときは，共通の傾き β を，
β = (SSXY 1 +SSXY 2 )/(SSX1 +SSX2 ) として推定する。この場合はさらに y 切片が等しいという帰無仮説 H0′ のもとで全部のデータを使った残差平方和 d3 = SSY − (SSXY )2 /SSXを計算して，F = (d3 − d2 )/(d2 /(N − 3)) が第１自由度 1，第２自由度 N − 3 の F 分布に従うことを使って検定できる。H0′ が棄却された場合は各群の平均を共通の傾きに代入す
れば各群の切片が求められるし，採択されたら，要するに２群間に差がないということになるので，２群を一緒にして普通の単回帰分析をしていいことになる。

例題



下表は，都道府県別のデータで，1990 年の 100 世帯あたり乗用車台数（CAR1990) と，
1989 年の人口 10 万人当たり交通事故死者数 (TA1989) と，1985 年の国勢調査による
人口集中地区居住割合 (DIDP1985) である。REGION の 1 は東日本，2 は西日本を意味する。東日本は西日本よりも，人口集中地区居住割合を調整しても乗用車保有台数が多いといえるか？

PREF
Hokkaido
Aomori
Iwate
Miyagi
Akita
Yamagata
Fukushima
IbarakiTochigi
Gunma
Saitama
Chiba
Tokyo
Kanagawa
NiigataToyama

REGION
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

CAR1990
86
78.9
86.6
92.7
90.3
104.7
102.7
120.7
122.2
123.9
88.7
86.4
58.2
75.5
93.2
113

TA1989
11.6
9.5
9.7
7.9
8.1
7.1
12.1
16.4
16.5
11.5
7.3
8.8
4.1
7.2
11.1
11.1

DIDP1985
66.7
42.2
27.5
50.7
31.2
36.7
33.6
29.2
35.1
38.2
71.7
65
97.1
89.1
42.6
37.9


第 13 章 一般化線型モデル入門

134


PREF
Ishikawa
Fukui
Yamanashi
NaganoGifu
Shizuoka
Aichi
Mie
Shiga
Kyoto
Osaka
Hyogo
Nara
Wakayama
Tottori
Shimane
Okayama
Hiroshima
Yamaguchi
Tokushima
KagawaEhime
Kochi
Fukuoka
Saga
Nagasaki
Kumamoto
Oita
MiyazakiKagoshima
Okinawa

REGION
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

CAR1990
99.1
109.4
112.8
110.9
119.7
107.5
107.2
106.7
104.4
75.5
62.8
75.6
86
83
92.1
86.9
95.7
79.6
84.4
90.7
89.8
72.3
74.9
82.3
97.4
69.3
87.3
82.5
85.7
70.5
100.3

TA1989
9.5
14.7
13.8
9.6
12
10.5
8.2
13.7
14.5
8.9
5.9
8.9
9.3
11.6
11.8
9.9
11.3
9.7
11.5
10.9
14.3
10.9
11.3
8
12.8
5.9
8.5
8.7
7.4
7.3
7.6

DIDP1985
46.4
35.9
31.2
31.1
36.8
51.5
67.2
38
29.1
79.5
93.8
71.7
52.7
42.3
26.2
23.4
33.9
58.5
44
27.4
32.3
43.1
38.4
63.3
27.6
41.6
36.6
40.4
39
36.3
56.5





人口集中地区2 人口割合が高い都道府県ほど人がまとまって住んでいるわけだから，先
験的に，そういう都道府県ほどマイカー保有率は低くて済みそうだと思われる。したがって，人口集中地区人口割合によってマイカー保有率を調整しなくては，それ以外の要因（たとえば，公共交通機関の整備の割合や，自動車産業の発達の度合い，ディーラーの営業活
2

1 km2 当たりの人口密度が 4,000 人以上の集合地区で，かつ合計人口が 5,000 人以上の地区をいう。

13.4. 共分散分析

●

●

●
●

110

●

●

●

●
●

●

●

●

100

●
●

90

●

●

●

●

●

80

●●

●
●

60

70

Cars per household in 1990

120

135

●

30

40

50

60

70

80

90

DID percent 1985

図 13.1: 交通事故件数と世帯当たりの自家用車保有台数の関係の東日本と西日本の比較
動の熱心さ，平均世帯規模，郊外型大型店舗の展開の度合い，道路政策，等々）による東
日本と西日本のマイカー保有率への影響を評価できないことになる。
東日本を○で，西日本を△でプロットし，東日本の回帰直線を実線，西日本の回帰直線を点線で追加すると，図 13.1 のようになる。この図を描く R のプログラムは，たとえば
x <- read.table("anacova.dat")
attach(x)としてデータを読み込んでから，







plot(CAR1990[REGION==1]~DIDP1985[REGION==1],pch=1,
xlab=’DID percent 1985’,ylab=’Cars per household in 1990’)
points(CAR1990[REGION==2]~DIDP1985[REGION==2],pch=2)
abline(lm(CAR1990[REGION==2]~DIDP1985[REGION==2]),lty=2)
abline(lm(CAR1990[REGION==1]~DIDP1985[REGION==1]),lty=1)
とすればよい。
R での共分散分析の手順は，まずsummary(lm(CAR1990[REGION==1] ~ DIDP1985[REGION==1]))
summary(lm(CAR1990[REGION==2] ~ DIDP1985[REGION==2]))


第 13 章 一般化線型モデル入門

136とする。得られる結果

Call:lm(formula = CAR1990[REGION == 1] ~ DIDP1985[REGION == 1])
Residuals:
Min
1Q-24.9808 -5.1307

Median0.94933Q
8.2336Max
19.2190

Coefficients:
Estimate Std. Error t value Pr(>|t|)(Intercept)
127.9283
6.7699 18.897 4.35e-15 ***DIDP1985[REGION == 1] -0.5945
0.1333 -4.459 0.000197 ***--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.24 on 22 degrees of freedom
Multiple R-Squared: 0.4747,Adjusted R-squared: 0.4508
F-statistic: 19.88 on 1 and 22 DF, p-value: 0.0001967
Call:lm(formula = CAR1990[REGION == 2] ~ DIDP1985[REGION == 2])
Residuals:
Min
1Q-16.1869 -3.3935

Median0.22973Q
3.4338Max
20.0706

Coefficients:
Estimate Std. Error t value Pr(>|t|)(Intercept)
98.29125.0750 19.368 7.12e-15 ***DIDP1985[REGION == 2] -0.3197
0.1047 -3.053 0.00604 **--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 8.904 on 21 degrees of freedom
Multiple R-Squared: 0.3075,Adjusted R-squared: 0.2745
F-statistic: 9.323 on 1 and 21 DF, p-value: 0.006037

から，これらの回帰式が両方とも有意にデータに適合していることがわかる。次に，

summary(glm(CAR1990 ~ as.factor(REGION)+DIDP1985+as.factor(REGION)*DIDP1985))







とすれば交互作用項の係数の有意性をみることができて，有意確率が 0.118 という結果が得られるので傾きには差がないとわかる。最後にsummary(glm(CAR1990 ~ as.factor(REGION)+DIDP1985))として as.factor(REGION)2 の有意確率をみると 0.05 より遥かに小さいので，修正平均13.5. 補足：一般線型混合モデル

137にも差があるとわかる。つまり，東日本と西日本では，人口集中地区への居住割合の影響を調整しても，世帯当たりの自動車保有台数には有意に差があるといえる。

13.5

補足：一般線型混合モデル

複数の対象についての経時的観察データが複数あるときに，個体間の経時的な変化のパ
タンの違いをモデルに取り込むことによって一般化線型モデルをさらに一般化したのが一
般線型混合モデル (General Linear Mixed Model) である。高度な分析なのでここでは説明しないが，非常に強力である。R では，nlme というライブラリが提供されている。８歳から 14 歳まで２年おきに歯列矯正の指標として，頭蓋の X 線写真により下垂体から翼上顎裂までの距離 (mm) を，男児 16 人，女児 11 人について測定したデータ（Orthodontという組み込みデータ）による実行例は，library(nlme) としてから，example(lme) とすれば見ることができる。年齢によるモデル，性と年齢と個体差によるモデルについて出
力される。

139

第 14 章14.1

高度な解析法についての概説

主成分分析

n 個体のサンプルがあって，それぞれについて，p 個の変数 x1 , x2 , ..., xp の観測値が得られているとする。一般に，p 個の変数の情報を全部一度に考えて n 個体の情報を把握することは難しい。そこで考えられるのが，p 個の変数を，もっと少ない数の，互いに独立な主成分 (principal component) で表せないかということである。
いま，主成分 ξ1 , ξ2 , . . . , ξp を考え，これらを x の一次関数で表すことにする。つまり，
ξi =

p
∑

lij xjj=1

として，p2 個の適当な係数 lij を見つけることを考える。各 xj をそれぞれの平均からの偏差として測れば，どの xj も n 個体についての和はゼロになり，したがって ξi の和もゼロになる。ここで p 個の ξ は互いに無相関であるとする。すなわち

E(ξi ξj ) = E({

p
∑
k=1

lik xkp∑

ljm xm })) = 0(i ̸= j)m=1とする。これだけではまだ p(p + 1)/2 個の自由度が残っているので，この変換を直交変換であると条件付ける，すなわち
p∑lik ljk = 0(i ̸= j), = 1(i = j)k=1とすれば，符号の付け替えの自由度を加味しても有限組の解が得られることになる（数学的な解は行列の固有値と固有ベクトルを求めることによって得られるが，普通はコンピュー
タソフトにやらせるので説明は省略する）。より詳しくは，ケンドール (1981) を参照されたい。
この新しい変数 ξ は主成分と呼ばれる。ξ は，もとの変数 x が正規分布に従うなら互いに独立である。行列の固有値の大きさの順に ξ1 , ξ2 , . . . , ξp と番号をつけると，これらは順に第 1 主成分，第 2 主成分，...，第 p 主成分と呼ばれる。第 1 主成分は，あらゆる一次関数の中で可能な最大の分散をもつ。第 2 主成分は第 1 主成分と無相関な一次関数の中で可能な最大の分散をもつ。このようにして主成分を決めると，それぞれの固有値の，固有値の和に対する割合を使って，それぞれの主成分が全変動の何パーセントを説明するかを表

第 14 章 高度な解析法についての概説

140

−100

−50

0

50

Fukui
Yamanashi
Mie
NaganoIshikawa
Yamagata
Hyogo
Fukuoka Miyagi
Fukushima
Var
2
Nara Niigata Shiga
Hiroshima
Okayama
Yamaguchi Saga
Miyazaki
Wakayama
Kumamoto
KagawaOita Akita
Tottori
Aomori Tokushima
Iwate
Ehime
Kochi Shimane
NagasakiKagoshima

Kyoto Hokkaido
Chiba

0

0.0
−0.4

−100

−0.2

Comp.2

Osaka
Tokyo

50

Gunma
Tochigi Var 1
Shizuoka Gifu
Var 3Kanagawa Saitama Okinawa
IbarakiToyama

−50

0.2

Aichi

−0.4

−0.2

0.0

0.2

Comp.1

図 14.1: 都道府県別の交通事故件数，人口集中地区割合，世帯当たりの自家用車保有台数についての主成分分析の結果すことができる。それを主成分の寄与率と呼ぶ。普通は，たくさんの変数から少数（たとえば２つとか３つ）の主成分だけを使って全変動の 80%が説明できる，のように使う。
本当はこんなに少数のデータに使うような分析法ではないのだが，前章の例題で使ったデー
タについて，R を使って主成分分析をしてみる。まず，library(mva) として多変量解析ライ
ブラリを呼び出しておく必要がある。ついで，mat<-matrix(c(CAR1990,TA1989,DIDP1985),nrow=47)
として res<-princomp(mat); summary(res) とすれば，下表が得られる。

Standard deviation
Proportion of Variance
Cumulative Proportion

Comp.121.1842224
0.7600359
0.7600359

Comp.211.7510982
0.2338654
0.9939013

Comp.3
1.897637799
0.006098678
1.000000000

この結果から，第 1 主成分の寄与率が 76%，第 2 主成分までの累積寄与率が 99%で，取り上げた３つの変数のばらつきは，ほぼ完全に２つの直交する主成分に分解できることが14.2. 因子分析

141わかった。そこで，各都道府県の第 1 主成分 （得点）と第 2 主成分 （得点）を図示するには，biplot(res,xlabs=PREF) とすれば，図 14.1 が得られる。

14.2

因子分析

思想は逆だが，数学的には因子分析は，主成分分析に良く似ている。つまり，p 個の観測された変数 x があるときに，個々の x が m 個（m < p）の潜在因子の線型結合と誤差によって表されると考える。たくさんの変数を，別の少数の変数の線型結合によって表すことによって情報を集約する方法論である。R では factanal という最尤法で因子分析を行う関数があるが，３つの変数を２つの因子で説明することはできず，１つの因子しか想定できない（上の例題のデータで factanal(mat,2) とするとエラーが出る）。factanal(mat,1)とすると，第１因子の因子負荷量は 1.764 であり，寄与率は 0.588 である。このことは，取り上げた３つの変数は，共通の潜在因子によって約 59%説明されるということを意味する。少数の主成分また因子による累積寄与率を最大にするために varimax 回転や promax
回転を行うことがあるが，R ではこれらの関数も用意されている。
因子分析は，観測された変数 (observed variables; 観測変数) 間の関係が，実は測定不可
能な構成概念 (construct)，すなわち因子 (factor) との関係によって説明されると捉えるモデルであるということもできる。しかし因子分析には，観測変数間の関係は，因子との関係においてしか説明できないし，因子間の因果関係を論じることができないし，仮説検証ができないという欠点がある。そこで，測定不可能な因子間の関係もあるだろうけれど，すべてをそれで説明しようとするのではなくて，観測変数間の直接的な関係をまず考えて，それで説明しきれない部分を測定不可能な潜在変数 (latent variables) と変数間の因果関係を不完全にする偶然変動としての誤差変数 (error variables) によって補う，というアプローチが考えられる。これが共分散構造分析 (covariance structure analysis)1 である。その前段階として，因子分析に仮説検証機能を追加した確認的因子分析がある。共分散構造
分析は，潜在変数間の関係を表す構造方程式モデルと，観測変数間の関係を表す測定方程式モデルを，誤差変数を入れて結合したものであるということができる。統計パッケージ
では，SAS では PROC CALIS，SPSS では AMOS という追加パッケージを使う。R でもsem というライブラリで実行できる。

14.3

クラスター分析

変数間のでなく，データ間の関係を表したいときに使うのがクラスター分析である。ク
ラスター分析には，距離行列に基づいて個体を結合しながらクラスターを積み上げていく（出力は樹状図またはネットワーク図になる）階層的手法と，予めいくつくらいの塊（クラスター）に分かれるかを決めて，データを適当に振り分ける非階層的手法がある。

1

共分散構造解析と訳すこともある。

TokyoOsaka
Kanagawa
Kyoto
Hyogo
Gunma
Gifu
IbarakiTochigi
Yamanashi
NaganoToyamaFukui
Mie
Yamagata
Fukushima
Shiga
Hiroshima
Fukuoka
Saitama
Hokkaido
Chiba
Miyagi
Nara
Niigata
Ishikawa
Aichi
Shizuoka
Okinawa
Tottori
Tokushima
Iwate
Shimane
Akita
KagawaOkayama
Saga
Ehime
Kochi
NagasakiKagoshima
Kumamoto
Miyazaki
Wakayama
Yamaguchi
Aomori
Oita

0

20

40

60

80

142
第 14 章 高度な解析法についての概説

Cluster Dendrogram

図 14.2: 都道府県別の交通事故件数，人口集中地区割合，世帯当たりの自家用車保有台数についての階層的クラスター分析結果

14.3. クラスター分析

143

距離行列の計算法にも多々あり，結合法にも多々ある。いくつかの方法でやってみて，樹状図に差がなければ，そのクラスター分析の結果は安定していて，信頼できるといえる。
樹状図が大きく変わるようなら信頼できない。解釈としては，変数が足りないために，個体間の関係が十分にわからないと考える。例としては，R で，先ほどのデータを読んで mva
ライブラリを呼び出した後で，mat <- matrix(c(CAR1990,TA1989,DIDP1985),nrow=47)
dis <- dist(mat,method="euclidean")clus <- hclust(dis)op<-par(ps=8)
plot(clus,PREF,xlab="",ylab="",sub="")par(op)とすれば，樹状図 (dendrogram とか tree とかいう）が図 14.2 のように描ける（次ページ参照）。
R ではデフォルトの距離の計算法はユークリッド距離（要するに差の二乗和），クラス
ター結合法は，完全連結法 (complete linkage) である。クラスター分析の結果は見やすい
が，解釈には主観が入りがちである。ちなみに山口は和歌山ともっとも近いようである。
非階層的手法の k-means 法の R での実行例も示しておく。 5 つのクラスタを仮定すると，データを読んで mva ライブラリ呼び出した後で，次のプログラム

clus5 <- kmeans(mat,5)
op<-par(ps=7)
plot(CAR1990,TA1989,pch=clus5$cluster,xlim=c(50,130),
ylim=c(2,18))
text(CAR1990,TA1989,paste(PREF),pos=1)
par(op)によって図 14.3 が得られる。

第 14 章 高度な解析法についての概説

144

15

Tochigi
IbarakiShiga Fukui

KagawaMieYamanashi

Fukushima●●● Wakayama
HokkaidoTottori●Kochi Yamaguchi Okayama
Niigata
Tokushima

Ehime

10

TA1989

Saga
Gifu
Gunma
ToyamaShizuoka●
ShimaneHiroshima
Iwate
NaganoAomori Nara
Ishikawa●
Hyogo
Kyoto OitaChiba
Kumamoto
Aichi
Akita
FukuokaMiyagi●●
Okinawa
MiyazakiKagoshima
Saitama
Kanagawa
Yamagata●

5

OsakaNagasaki

Tokyo

60

80

100

120

CAR1990

図 14.3: 都道府県別の交通事故件数，人口集中地区割合，世帯当たりの自家用車保有台数についての非階層的クラスター分析（kmeans 法）の結果

145

第 15 章

参考文献

参考文献というよりも，英語で言えば Further Readings の推薦なのだが，本文中でも触れた以下の書籍はいずれも良書だと思う。

• ラオ，C. R.（藤越康祝，柳井晴夫，田栗正章訳）『統計学とは何か — 偶然を生かす』，ちくま学芸文庫，2010 年：統計的な「ものの考え方」について，古典的な例や身近な例から，かなり高度な話題まで幅広く取り上げ，切れ味のよい解説を加えた名著である。
• 鈴木義一郎『情報量規準による統計解析入門』，講談社，1995 年：モデルベースの解析をするために，統計モデルがどういう意味をもつのか，その当てはめはどのように評価すべきか，ということを基礎から丁寧に解説している本であり，初学者にも薦められると思う。
• 浜田知久馬『学会・論文発表のための統計学 統計パッケージを誤用しないために』，
真興交易（株）医書出版部，1999 年：自分でパッケージを使って統計解析をするときに気をつけなくてはいけないポイントを要領よくまとめた本。論文を読むときに，そこで使われている手法のどういう点に注意して結果を読み取らなくてはいけないか，ということもわかる。
• 粕谷英一『生物学を学ぶ人のための統計のはなし―きみにも出せる有意差』，文一総合出版，1998 年：統計解析をやり始めた大学院生などが陥りやすい罠，統計結果を読むときに間違いやすい点などを対話形式の軽妙な調子で書いた本であり，とっつ
きやすいと思う。
• ケンドール，M. G.（奥野忠一，大橋靖雄訳）『多変量解析』，培風館，1981 年：方法の羅列やパッケージの出力の見方に終始する多変量解析の解説書が多い中で，この本は多変量解析の意味を丁寧に，しかも数式は必要最小限しか使わずに解説した良書である。絶版らしいのは残念なことである。
• 竹村彰通『現代数理統計学』，創文社，1991 年：統計学を本気で学びたい人は，この本を理解することから入るとよいと思う。腰を据えてかからないと制覇できない高い山であるが，統計学に対する理解の次元が変わる。
• 佐藤俊哉，松山裕「疫学・臨床研究における因果推論」，甘利俊一，竹内啓，竹村彰通，
伊庭幸人（編）『統計科学のフロンティア５ 多変量解析の展開 隠れた構造と因果146

第 15 章参考文献

を推理する』，岩波書店，pp.131-175，2002 年：因果推論について，すばらしくよくまとまっている。やや内容的には高度だが，事例がウィットに富んでいて面白い。

• Rothman K. J. Epidemiology: An Introduction, Oxford University Press, 2002 年：
疫学の入門書だが，因果推論について書かれた第２章は web 上で公開されており，必読である。
• 伏見正則『理工学者が書いた数学の本 確率と確率過程』，講談社，1987 年：確率の捉え方について明快に書かれている。
• 池田央『調査と測定』，新曜社，1980 年：尺度について厳密な説明が与えられている。
• Grimm L. G. Statistical Applications for the Behavioral Sciences, John Wiley &Sons, New York, 1993 年：行動科学者のための統計学の入門書だが，基礎的な手法についてわかりやすくまとめられているだけでなく，他の本にはあまりつっこんで扱われていないトピック（同順位が多数ある場合の中央値の扱いなど）が取り上げられている。
• 豊川裕之，柳井晴夫（編著）『医学・保健学の例題による統計学』，現代数学社，1982
年：古い本だが，医学・保健学分野の例題が多数収録され，手計算に必要な情報もきちんと載っている良書である。
• 永田靖，吉田道弘『統計的多重比較法の基礎』，サイエンティスト社, 1997 年：多重比較についてきわめて丁寧に論じ尽くした教科書である。ただし，「基礎」と銘打たれてはいるが，経験を積んだ研究者を対象として書かれており，学部学生が読むにはかなり難しい。
• 大橋靖雄，浜田知久馬『生存時間解析 SAS による生物統計』，東京大学出版会，1995
年：難しいが，生存時間解析について，これほど深く広くまとまった本は他にないと思う。SAS で分析する場合の具体的手順や出力の解釈が書かれているが，数学的意味についても丁寧に説明されているので，SAS が使える環境になくても読む価値はある。
• 竹内啓，大橋靖雄『数学セミナー増刊 入門｜現代の数学 [11] 統計的推測−２標本問題』，日本評論社，1981 年：２つの分布を比較することについて網羅的に扱われている。記述は高度かつ深いので，何度も読み返すと良いと思う。
• 伊藤嘉昭監修・粕谷英一，藤田和幸『動物行動学のための統計学』，東海大学出版会，
1984 年：ノンパラメトリックな検定についての説明がわかりやすい。
• ジョエル・Ｅ・コーエン著，重定南奈子・瀬野裕美・高須夫悟訳『新「人口論」：生態学的アプローチ』，農山漁村文化協会，1998 年：世界人口の変化（将来予測を含む）とその要因について，これまでに行われてきたさまざまな研究を概観した本であり，大変面白い。

第 15 章参考文献

147

• 尾崎統『時系列論』，日本放送出版協会，1988 年：放送大学のテキストとして，時系
列解析の基礎からかなり高度なことまで一通りカバーしている。

149

付 録A

A.1

R について

なぜ R を使うべきなのか？

R は R-project (http://www.r-project.org/) という国際共同プロジェクトで開発されている，ソースが公開されていて1 ，誰でも自由に利用できる統計ソフトである。ベル研で開発され市販されている S や S-Plus と８割くらいは共通の言語仕様をもつとされ，Poorman’s S と呼ばれることもある。
R の操作性を市販統計ソフトと比べると，JMP とか SPSS のようなメニューから統計手法を選ぶものとはまったく異なり，関数を打たねばならない2 ので，初めて使うときはとっつきにくいかもしれない。が，市販ソフトの中でも，プログラムをタイプするという意味では，SAS と似ている3 。記述統計から多変量解析まで，およそ必要な統計解析はすべてできるといっていいし，計算に使われている手法も新しい。大手市販ソフトでは新しい方法のフォローが遅いので，時としてベストではない統計手法が使われたりするのだが，R は現時点でベストとされるかあるいは標準的な手法がデフォルトになっている。たとえば擬似乱数列生成のアルゴリズムはバージョン 1.7.0 から
メルセンヌツイスター（第１章参照）がデフォルトになったし，多重比較のデフォルトは Holm の方法になっている（第 10 章参照）。
プログラムをタイプするのが面倒だと思う人もいるかもしれないが，よく考えてみれば，それが誤解に過ぎないことがわかると思う。少なくとも Microsoft Excel でマクロを使うよりもずっと簡単な場合が多い。
たとえば，Microsoft Excel で，伝統的なやり方で独立２標本の平均の差の検定をするには，ツー
ルの分析ツール（アドインなので，フルインストールするか，インストール時に指定しないと入らない）を使うわけだが，まず等分散性の検定を選び，標本の範囲をそれぞれ指定して実行し，その結果等分散という帰無仮説が棄却されなければ，等分散を仮定した２群の平均の差の検定を選んで再び２つの標本の範囲を選んで実行するし，棄却されたときは等分散でないときの２群の平均の差の検定を選んで２つの標本の範囲を選んで実行する，という手順を踏む必要がある。結果は別々のシートに出力され，それは表として提示できるような形にはなっていない。少なくとも 10 ステッ
プくらいのマウスの操作が必要であり，わずらわしい。
R ならば，標本サイズが小さければ，変数 x と y（変数名は何でもよい）に直接２つの標本デー
タを付値（代入）してから，var.test(x,y) をして，p が有意水準未満ならば t.test(x,y) でいいし，そうでなければ t.test(x,y,var.equal=T) とすればよい。ただし，三重大学の奥村先生が指摘されるように，このやり方では検定の多重性の問題が生じるし，群馬大学の青木先生がシミュ
レーションでクリアに示されたように，等分散であろうとなかろうと，常に Welch の検定をするのが最適なので，実は独立２標本の平均の差の検定では，常に t.test(x,y) とすればいい。なお，
等分散かどうかは，２つの変数の分布の（位置でなく）形を比較するという意味で調べるべき事柄
であり，比較しなくてもよいというわけではない。データ範囲を何度も選ぶよりも，x とか y とか1

その気になれば実際にどういう計算が行われているのかを確認できるという意味で，もっとも信頼性を高めることに寄与するポイントである。
2
ただし Rcmdr という追加パッケージをインストールすればメニューから選ぶ操作もできる。
3
もっとも，SAS のプログラムを FORTRAN とすれば，C++や APL くらいに洗練されている言語体系
だと思う。

付 録A

150

R についてタイプする方が一般的にいえばずっと楽だと思う。もちろん，表形式のデータを読み込んで分析する関数だけ指定することもできる。
しかも，R では，結果を変数に代入して保存したり加工したりできる。xtable というライブラ
リ4 をインストールして読み込めば，結果を xtable( ) の括弧内に入れるだけで，HTML 形式や
LATEX 形式に変換できたりする。
美しい図を作るのも実に簡単で，しかもその図を PDF とか postscript とか png とか jpeg とかWindows 拡張メタファイル (emf) の形式で保存でき，他のソフトに容易に取り込める。たとえば
emf 形式で保存すれば，Microsoft PowerPoint や OpenOﬃce.org の Draw などの中で，ベクトル
グラフィックスとして再編集できる。PDF 形式で出力してから，TeXLive に入っている pdftops
プログラムで-eps オプションをつけて変換すれば，Encapsulated Postscript 形式（EPS 形式）のファイルを作るのも容易である。
本書出版時点（2003 年夏）では5 ，おそらく多くの日本人にとって最大の難点は，日本語が使えない（グラフィック表示は面倒な指定をすればできないこともないし，フォントを変更すればコンソール表示もできるし，データに日本語が入っていてもだいたい扱えるが，変数名としては使えないので，たとえば１行目に日本語を使って変数名を打ってある表データは読み込めない）ことだったろう。しかしこの欠点は中間栄治さんのコードが R Core Team に採用されることによって，R-2.0.0 以降解消された。
また，本書出版時点では，日本語による解説があまり出回っていない（英語が読めれば無料でもたくさん出回っている）のも，多くの日本人にとっては難点と思われた。しかしその後，本書を皮切りにして 6 年間で 50 冊を超える R 関連書籍が既に出版されており，他のソフトに引けを取らなくなった。2017 年現在では，統計解析分野に限らず，ディープラーニングなどの機械学習分野，
シミュレーションなどを含めて，多種多様なデータ処理に使えるフリーな処理系として，Pythonと並んでデファクトスタンダードと言って良い地位を確立しており，関連書籍も 150 冊を優に超え，何冊あるかわからないほどである。

A.2

R を使うための最初の１歩

A.2.1

インストール• R は，2017 年 4 月現在，Windows 2000/XP/Vista/7/8/8.1/10，MacOS X，Linux などのOS の上で利用可能である。PDA やスマートフォンで動作させたという報告もある6 。
• Windows 版バージョン 3.4.0 のインストールは，CRAN（日本では統計数理研究所のサーバに存在するミラーサイトを推奨）から R-3.4.0.exe をダウンロードして実行し7 ，問い合わせダイアログに答えていくだけなので簡単である。途中，スタートアップオプションをカス
タマイズするか (Do you want to customize the startup options?) と尋ねるウィンドウが表示されるので，ここだけはデフォルトの No (accept defaults) でなく，Yes (customized
startup) の方をマークして [Next] をクリックすることをお薦めする8 。次に表示されるウィ
4
R は拡張が楽なので世界中の研究者が追加のライブラリを作って，R 本体と同じような配布条件で公開しているものが山ほどある。
5
以下，2010 年夏の増刷に際して，古い情報は全面的に書き換えた。2017 年に仮想 9 刷を作成するにあたって，さらに加筆修正した。
62017 年 4 月 21 日現在，最新版である R-3.4.0 を使うには，Linux か Windows（古いバージョンでも動くが 10 でも OK）か MacOS X 10.9 以降が必要である。
732 ビット版と 64 ビット版が一緒に入っているが，OS が 64 ビット版ならば R も 64 ビット版を使う方が良いので，特別な目的がなければ 32 ビット版は必要ない。
8
スタートアップオプションが，デフォルトでは，R を起動した後のすべてのウィンドウが，1 つの大きなウィンドウの中に表示される MDI モードになってしまうのだが，それだと R Commander が非常に使いにくくなるからである。

A.2. R を使うための最初の１歩151

ンドウで SDI (separate windows) にチェックを入れて [Next] をクリックする。次の Help
Style はどちらを選んでも良いが，筆者は Plain text の方が好みである。後は概ねデフォル
トのままで問題ない。最後のウィンドウではデスクトップアイコンを作り，R のバージョ
ン番号をレジストリに記録し，.RData という拡張子をもつファイルを R に関連付けするというオプションがデフォルト指定されているが，通常はそのままで問題ないだろう9 。次に[Next] をクリックするとインストールが始まる。暫く待つとセットアップウィザードが完了したという意味のウィンドウが表示されるので，[Finish] をクリックする。以上の操作で R
本体のインストールは終わりである。デスクトップアイコンをダブルクリックするかクイッ
ク起動メニューのアイコンをクリックして R を起動した際に，もし日本語メッセージが文字化けしていたら，(1) いったん上部メニューバーの「編集」の「GUI プリファレンス」を開いて，表示フォントを Courier から MS ゴシックに変更して「反映」と「保存」をクリッ
クするか，(2) 日本語表示用の設定が書かれた環境設定ファイルをコピーすれば直る。グラ
フィック画面での日本語表示まで考えれば後者をお勧めする。なお，日本語環境で R だけは英語メニューで使いたいという場合は，インストール後にできる R の起動アイコンのプロパティで「起動コマンドのリンク先」末尾に LANG="en"と付しておけば良い。

• Linux では，ソースの tar ボールをダウンロードして展開し，そのディレクトリで./configure
をやってから make するだけでコンパイルできるので，su して make install すればインストールが完了するが，Debian など，いくつかの Linux ディストリビューションではバイナ
リパッケージが公開されているので，それをインストールする方が簡単かもしれない。

A.2.2

もっとも基本的な操作• 起動は，Windows ではデスクトップにできるアイコン（またはスタートメニューのプログ
ラムの R にできるアイコン）をクリックするだけでいい。Windows なら，コマンドライン
でも Rterm --no-save として起動できる。Linux のシェルを telnet や ssh で使う場合は，Rと打てば良い。いずれの場合でも > というプロンプトが表示されて入力待ちになる。
• 終了は，プロンプトに対して q() と打てば良い。コマンドラインパラメータとして--no-saveなどとつけて起動した場合以外はワークスペースを保存するかどうかの問い合わせがあるので，その回のセッションを記録しておきたいならば y を，そうでなければ n と打つ。ワークスペースを保存しすぎると .RData というファイルが大きくなって起動が遅くなるが，作業中は便利な機能である。
• 基本的に，関数にデータを与えて得られる結果を表示したり，変数に付値したりして使う。
アルファベットとドットからなる文字列は変数になりうる。付値とは，ほぼ代入を意味する。たとえば，x という変数に 3, 5, 7 という３つの値からなるベクトルを付値するには，
x <- c(3,5,7) とする。これら３つの値の平均を得るには，mean() という関数を使って，
mean(x) とすれば良い。付値せずに関数だけを打てば結果を表示するが，もちろん関数の値を別の変数に付値することもできる。たとえば y <- mean(x) として，y をまた別の計算に使うこともできる。変数の情報を見るには str() という関数が便利である。
• GUI 環境では，ヘルプメニューから Html ヘルプを選べば，階層構造で説明を参照できる。
関数へのインデックスもある。
• 関数の使い方を忘れたときは，help(関数) とか help.search("キーワード") で説明が得られる。
• example(関数) で関数の利用例が得られる。
9

ただし筆者はデスクトップのアイコンを増やしたくないので，Create a desktop icon のチェックは外し，代わりにその下の，Create a Quick Launch icon にチェックを入れている。

付 録A

152

R について図 A.1: R を Windows で実行した様子。プロンプトは>である。2 行にわたるプログラムを入力中に改行すると，次の行の冒頭に+記号が自動的に付く。
• プログラムは>というプロンプトに対して１行ずつ入力してもいいが，予めテキストファイ
ル（たとえば，d:/test.R）として用意しておけば，source("d:/test.R") として一度に読み込んで実行させることもできる。ファイルメニューから呼び出せるスクリプトエディタ
を使えば，その編集メニューから実行させることもできるので便利である。

A.2.3

R Commander を使ってみる

構造方程式モデリングのパッケージとして有名な sem を初めとして様々なパッケージを開発し，“An R and S-Plus companion to applied regression” という優れた教科書も書いている McMaster
大学の John Fox 教授が発表した，R をメニュー形式で操作するためのパッケージが Rcmdr である。
メニュー項目はテキストファイルで定義されているので書き換え可能である。Rcmdr のテキス
ト表示は tcl/tk で行われており，tcl/tk はバージョン 8.1 から国際化対応しているので，UTF-8 で日本語を表示することができ，当初は林啓一さん，中間栄治さんら，後には荒木孝治さんらの尽力によりほぼ完全に日本語化されたメニューが利用できる。
メニューから呼び出す関数が，かなりさまざまな追加パッケージのものを利用しているので，それらのパッケージ群（依存パッケージと呼ぶ）も同時にインストールしなくては Rcmdr パッケー
ジの機能をフルに使うことができない。依存パッケージを含めて Rcmdr をインストールするには，
ネットワークに接続された環境であれば下記の１行だけで済む10 。


> install.packages("Rcmdr",dep=TRUE)
インストール完了後，R Commander を使うには，プロンプトに対して library(Rcmdr) と入力するだけで良い。かなりいろいろな操作をメニューから選んで実行できるので，R への入門としては便利である。R Commander を本格的に使いたい方には，参考書として舟尾暢男『R Commander
10

ただし，R を管理者権限で実行している必要がある。

A.3. R の参考書・web サイトなど

153

ハンドブック』オーム社，2008 年をお薦めする。なお，いったん R Commander を終了後，R を再起動せずに R Commander を再び使いたい場合は，プロンプトに対して Commander() と打てばよい。
Rcmdr のメニューをカスタマイズし，医学統計で良く用いられる手法を追加して Rcmdr のプラグインにした EZR が，自治医科大学さいたま血液センターの神田善伸先生によって開発されている。Windows 版の最も簡単なインストールの方法としては，Google などで EZR を検索すると 1番目に表示される自治医科大学さいたま血液センターのサイトから，Rcmdr と Rcmdrplugin.EZRを組み込み済みの R のインストーラをダウンロードして実行することである。MacOS X の場合はそこまで簡単ではないが，プラグインのインストールや読み込みは Rcmdr のメニューからできる
ので誰でもできるはずである。

A.3

R の参考書・web サイトなど

A.3.1

web サイト• R Project (http://www.r-project.org/)：プロジェクトのサイト• R-announce Info Page(https://www.stat.math.ethz.ch/mailman/listinfo/r-announce/)：
重要なお知らせが英語で流れる ML の情報ページ。
• CRAN (http://cran.r-project.org/)：プログラムやライブラリのダウンロード用サイト。
• 統計数理研究所のミラー (https://cran.ism.ac.jp/)：CRAN の日本国内ミラーサイト。
日本国内の公式ミラーサイトは，この他に，かつては筑波大学や東京大学や山形大学や兵庫教育大学にもあったが，2017 年 4 月現在は統計数理研究所のみである。
• 公式入門書やマニュアルの日本語訳は，東京工業大学・間瀬教授のサイト (http://www.
is.titech.ac.jp/~mase/R.html) で公開されている。その pdf 版は学芸大の森厚さんのサイト (http://buran.u-gakugei.ac.jp/~mori/LEARN/R/) からダウンロードできる。な
お，2002 年末での最新版及び 2003 年 5 月に公開されたバージョン 1.7.0 の R-intro の暫
定和訳については，間瀬教授のサイトからソースファイルをダウンロードし，日本語コードを SJIS に変えて Windows 版 pTeX と dvipdfm を使って個人的に pdf 化したものを，http://minato.sip21c.org/swtips/R-jp-docs/ にも置いてある。
• 群馬大学社会情報学部・青木繁伸教授が R による統計処理 (http://aoki2.si.gunma-u.
ac.jp/R/) という凄いページを作られている。R を使おうと思う方は必見である。11• 東海大学・山本義郎准教授による R–統計解析とグラフィックスの環境 (http://stat.sm.
u-tokai.ac.jp/~yama/R/) と R 入門 (http://stat.sm.u-tokai.ac.jp/~yama/R/Rintro.
html) は，丁寧に書かれていて役に立つと思う。
• R についての日本語メーリングリスト（R-jp）が，筑波大学のサーバで，岡田昌史さんによって運営されている。元々はドキュメント翻訳用のメーリングリストとしてスタートしたらし
いが，R について日本語で議論されている ML としては唯一のものである。登録の仕方などの説明は http://epidemiology.md.tsukuba.ac.jp/~mokada/ml/R-jp.html にあり，過去に投稿されたメールのアーカイヴも公開されている。1211青木繁伸先生は 2016 年 3 月一杯で群馬大学を定年退職されたが，2〜3 年はそのままサイトが残るとのことであった。
122017 年 4 月現在では，既に廃止されているはず。

付 録A

154

R について• その岡田さんが 2003 年 6 月に立ち上げた RjpWiki (http://www.okadajp.org/RWiki/) には，役に立つ情報がものすごい速さで集積しつつある。とくに日本語（を含むマルチバイト環境）対応については，ここの「日本語化掲示板」(http://www.okadajp.org/RWiki/?%
C6%FC%CB%DC%B8%EC%B2%BD%B7%C7%BC%A8%C8%C4) を舞台として，中間さんと岡田さんが尽力されたおかげで実現したといえる。13• 中央農業研究センター・竹澤邦夫さんのサイト内に，舟尾暢男さんが書かれたオンライン
テキスト，R-Tips:統計解析フリーソフト R の備忘録頁 (http://cse.naro.affrc.go.jp/
takezawa/r-tips/r.html) が公開されている。一括で読みたい方には pdf 版も公開されているし，書籍としても出版されている。機能別にインデックスが付与されており，R の機能を確かめながら自習するには最適のマニュアルであろう。
• 中澤のサイト内でも http://minato.sip21c.org/swtips/R.html として R についての使い方の tips や最新情報を公開している。本書のサポートもここで行う予定である。応用例と「人口
して，「R でシミュレーション」（http://minato.sip21c.org/swtips/Rsim/）や，
ピラミッドの作り方」（http://minato.sip21c.org/demography/makepyramid.html）も参考にされたい。

A.3.2

参考書

本書は R で統計解析をするための，初めての日本語で書かれた入門書であったが，R の使い方
そのものの解説というよりは，統計学の入門テキストとして書いたために，具体的に R を使ってデータ解析をするには，情報がやや不足がちであった。しかし本書出版から６年以上が経過した
2010 年現在では，さまざまな良書が出版されている。中でも以下のものはお薦めである（括弧内は特徴と想定される読者層を中澤の独断で示した）。

• 間瀬 茂，神保雅一，鎌倉稔成，金藤浩司『工学のための数学 3 工学のためのデータサイ
エンス入門 −フリーな統計環境Ｒを用いたデータ解析− 』ISBN 4-901683-12-8，2004 年 3月，数理工学社：R のマニュアルの邦訳でも中心的に活動され，RjpWiki でも含蓄の深い書き込みをいくつもされている間瀬先生が書かれた本であり，例題が充実しているのと，実に深みのあるコラムが素晴らしいと思う。（バランスのとれた良書，全般）• 岡田昌史編『The R Book: データ解析環境 R の活用事例集』ISBN 4-901676-97-0，2004 年
6 月，九天社：この本には例題データや日本語対応版まで含まれた CDROM が付属しており，ネットワークに繋がっていない環境でも，すぐに R を使い始めることができる。2 部構成になっていて，第 1 部ではインストールの仕方や基本的な使い方が説明されており，第 2
部は，実際にいろいろな分野で R を活用した例がいくつも載っていて，実践的な R のガイ
ドブックになっていると思う。ただし九天社が倒産したので現在は入手困難である。（R でこんなことまでできるという活用事例集，中級〜上級）• 舟尾暢男『The R Tips 第 2 版』ISBN 978-4-274-06783-9，2009 年 11 月，オーム社：オンラインで公開されていたものが出版された第 1 版も機能別マニュアルとして使うのに便利であったが，九天社倒産にともない，オーム社から第 2 版として再刊される際に，大幅に加筆修正されている。（R 操作マニュアル，全般）• U. リゲス（著），石田基広（訳）『R の基礎とプログラミング技法』ISBN4-431-71218-6，2006
年 2 月，シュプリンガー・ジャパン：著者は R Development Core Team の一人であり，Rのオブジェクト指向言語としての側面を強調した点に特徴がある。（プログラム開発者向け，
中〜上級）

13

当初からはサーバのドメインが変わっているので注意されたい。

A.3. R の参考書・web サイトなど

155• 舟尾暢男『「R」Commander ハンドブック』ISBN 978-4-274-06745-7，2008 年 12 月，オー
ム社：R をメニュー操作できるようにするために，カナダ・マクマスター大学の John Fox
教授が開発した Rcmdr ライブラリの使い方を具体的に説明した本。（Rcmdr ライブラリの活用マニュアル，初級〜中級）• 金明哲『R によるデータサイエンス - データ解析の基礎から最新手法まで』ISBN 9784627096011，2007 年 10 月，森北出版：「エストレーラ」連載記事の一部に手を入れてまとめたもの。きわめてコンパクトにまとまった第 I 部『R とデータマイニングの基礎』に続いて，第 II 部に入るといきなり主成分分析，因子分析，対応分析，多次元尺度法，クラス
ター分析，と，ある意味よくわかる順番で多変量解析の手法が並んでいる。（実践的な統計解析の活用法，中級〜上級）• 間瀬 茂『R プログラミングマニュアル』ISBN 978-4-901683-50-0，2007 年 11 月，数理工学社：RjpWiki に集積された Tips の多くを含んでおり，R のプログラムを書くとき，やりたいプロセスに該当する部分を目次から探して読むというのが正しい使い方である。（プログラム開発者向け，上級）• 中澤 港『R による保健医療データ解析演習』ISBN 978-4-89471-755-8，2007 年 12 月，ピア
ソン・エデュケーション：本書をベースにして抜本的に増補改訂し，医学・保健学領域の実例
データを数多く掲載して，具体的に R を使って解析するためのコードと結果のまとめ方，解釈の仕方を解説した本。サポートページ (http://minato.sip21c.org/msb/index.html)あり。
（自習できるワークブック，全般）

157

索引
F 分布, 17, 18, 73, 91, 92
κ 統計量, 66
κ 統計量, 64, 66, 67
t 分布, 17, 18, 71–73, 76, 77, 99, 104, 105, 109,131
95%信頼区間, 44, 45, 55, 61, 63, 64, 66, 71,
72, 105

α係数, 21, 64

クラスター分析, 141–144
クロス集計表, 53, 56, 58–60, 62–64, 67, 83, 85
２×２ , 56
クロンバックのα係数, see α係数
ケンドール, 104, 105, 139, 145
ケースコントロール研究, see 患者対照研究
コックス回帰, 123
コントロール群, see 対照群
サイコロ, 7–10, 12, 14
サンプル, see 標本
シミュレーション, 58, 94, 110, 120
ステップワイズ, 131
ステューデント化された範囲の分布, 99
スピアマン, 104, 105
ノンパラメトリック, 21, 73, 79, 83, 89, 93–95,
104, 123, 146
パーセンタイル, 38
ヒストグラム, 2, 23, 35, 41, 80, 93
ピアソンの相関係数, see 相関係数
ピアソンの積率相関係数, see 相関係数
ファイ係数, 63, 65, 67
フーリエ解析, 122
ベルヌーイ, 12
ベルヌーイ試行, 14, 48
ボレル集合体, 11
メルセンヌツイスター, 2, 14, 149
ラオ, 1
リスク差, 63, 65
リスク比, 56, 61–64
リンカーン法, see CMR

ばらつき, 27, 35, 36, 38, 40, 90–92, 101, 107–
109, 122, 140
ウェーブレット解析, 122
オッズ比, 56, 61–65
曝露, 62
疾病, 62, 63
カイ二乗値, 18, 46, 48, 58
カイ二乗分布, 17, 18, 46–48, 51, 55, 57, 58, 79,
94, 109
カプラン・マイヤ推定量, 123–125
ガンマ分布, 80

一様分布, 18
一般化線型モデル, 110, 129–131, 137
一般線型モデル, 129
一般線型混合モデル, 137
両側検定, 53, 60, 72, 75–77, 81, 82, 85–87, 99,
104, 105, 131
中央値, 21, 25, 28, 31–38, 40, 41, 73, 76, 146
中心傾向, 27, 28
中心極限定理, 40
主成分分析, 139–141
乗法定理, 10

AIC, 4, 120, 131
ANACOVA, see 共分散分析
ANOVA, see 分散分析
Capture-Mark-Recapture, see CMR
CMR, 43
Excel, 5, 33, 41, 54, 149
FFT, 122
IQR, see 四分位範囲
JMP, 4, 149
SAS, 4, 33, 129, 132, 141, 146, 149
SIQR, see 四分位偏差SPSS, 4, 33, 141, 149
Welch の方法, 75
Yule の Q, 63, 65

158
乱数, 2, 14, 18, 59, 149
一様, 12
事象, 8–14, 19, 44, 48, 96, 97
余, 8, 9, 11, 14
全, 8
和, 8, 9, 11
排反, 8, 9
積, 8, 9, 11
空, 8
二峰性, 35
五数要約値, 37
交絡要因, 4
人口, 1, 72, 110, 113–115, 118–120, 123, 124,
133, 134, 137, 140, 142, 144
人口収容力, 119
代表値, 19, 27, 41, 71, 73, 76
仮説検定, 3, 4
信頼区間, 44, 45, 53, 55, 61, 64, 71, 100, 104,105
偏回帰係数, 131
偏差, 28, 29, 38, 39, 139
偏差平方和, 91
共分散, 104, 120
共分散分析, 92, 110, 129, 132, 135
共分散構造分析, 141
共分散構造解析, 141
分位数, 37
分位点関数, 17, 18, 46
分布ポアソン, 48分布関数, 16
分散, 12, 13, 21, 27, 36, 39–42, 46, 53, 55,
59, 66, 73–76, 81, 82, 84, 86, 91, 98,
99, 104, 108, 109, 120, 121, 130, 131,
139, 149
不偏, 36, 39–41, 46, 71–77
分散分析, 110
一元配置, 89–95, 129
三元配置, 92
二元配置, 92
分散分析表, 91
加法定理, 9区間推定, 3
四分位偏差, 36, 38, 40, 41, 73, 76
四分位数, 37
四分位範囲, 36–38, 41
回帰, 101, 105, 107–110, 113, 115, 118–121,
129, 131, 133, 136
自己, 120–122

索引
回帰の外挿, 110, 115, 118
回帰係数, 108
回帰直線, 106–110, 132, 135
因子分析, 141
因果関係, 3, 4, 35, 61, 102, 103, 109, 110, 115,141
変動係数, 22, 40
変数, 19–23, 25, 41–43, 53, 54, 56, 57, 59–62,
64, 65, 71, 76, 79, 80, 82, 83, 86, 89,
90, 101, 103, 108–110, 119, 121, 129–
132, 139–141, 143, 149–151
カテゴリ, 19, 43, 53, 56, 58, 61, 66, 92,
129, 130
ダミー, 20, 104, 129
定性的, 19
定量的, 19
従属, 92, 101, 106, 108–110, 129–132
潜在, 141
独立, 101, 106, 108–110, 123, 129–132
目的, 101, 118, 120
群分け, 89–91, 132
被説明, 109
観測, 141
誤差, 141
説明, 4, 101, 109, 118, 120, 122
連続, 19, 23, 25, 26
量的, 73, 75, 89, 91, 92, 101, 102, 110,
129, 130, 132
離散, 19, 22–24, 30
２分, 19, 20, 56, 129, 130, 132
３分, 19外れ値, 25, 31, 35, 36, 38–40, 105
多重比較, 89, 90, 94–97, 146, 149
LSD 法, 94
Tukey の HSD, 95
ウィリアムズの方法, 95, 96
シェフェの方法, 95
ダネットの方法, 95, 96
ダネットの逐次棄却型検定, 95
ダンカンの方法, 95
テューキーの HSD, 95, 96, 98, 99
ペリの方法, 95
ホルムの方法, 95–98
ボンフェローニの方法, 95–98
制約付き LSD 法, 94
大数の法則, 11–13
季節調整法, 120
定義域, 19–21
寄与率, 108
対数変換, 64, 104, 118

索引
対数線形モデル, 123
対照群, 61, 62, 95
対立仮説, 75, 76, 87, 93, 105
尺度, 19–22, 36, 40, 108, 146
名義, 19, 20, 35, 43
比, 19, 22
比例, 19, 20
絶対, 19, 20
間隔, 19–22
順序, 19–21, 43
層別, 4, 20, 104
層別化, 103
帰無仮説, 46, 54, 55, 58–60, 66, 72, 74–76, 79–
82, 84–87, 92, 93, 95–98, 104, 105,
109, 131–133, 149
包括的, 95
部分, 95
帰無仮説族, 95–99
平均, 18, 21, 22, 27–32, 35, 36, 38–41, 53, 71–
76, 91, 99, 123, 130, 132, 133, 149,151
対数, 18幾何, 35, 36, 41
母, 71, 72, 75, 95
調和, 35, 36, 41
重み付き, 29, 30
平均偏差, 36, 38, 39, 41
平均平方和, 91
幹葉表示, 2, 25, 26
度数分布, 14, 22, 23, 30, 33, 35, 46
患者対照研究, 56, 61–63
打ち切り, 113, 125
区間, 125, 126
右側, 113, 126
攪乱要因, 3, 4
散布図, 102, 104
断面研究, 56, 61–63
時系列データ, 103, 113, 118, 120–122
時系列解析, 113, 114, 120, 121, 123, 147
曝露寄与率, 63, 65, 67
曝露群, 61, 62
最小二乗法, 4, 107, 108, 115, 118, 129
最尤法, 4, 129, 141
最頻値, 28, 35, 36, 41
有意, 85
有意水準, 46, 47, 66, 75, 76, 81, 82, 85, 87, 89,
94–99, 149
期待値, 12, 13, 18, 48, 66, 81, 82, 84, 86, 109,
121

159
検出力, 55, 76, 80, 95, 96
検定
F , 73, 74, 79
t, 4, 76, 77, 79, 80, 83, 85, 89, 94–96, 98,
110, 129, 131
Welch の方法, 73, 74, 129
Fligner-Killeen, 93
paired-t, 76, 77, 86
U, 73, 76, 79–81
カイ二乗, 56–59, 79
クラスカル＝ウォリス, 89, 93, 94
コルモゴロフ＝スミルノフ, 80
シャピロ＝ウィルク, 93
バートレット, 93
フィッシャーの正確な, 59
フリードマン, 94
メディアン, 85
ランダム, 59
ログランク, 4, 123
一般化 Wilcoxon, 123
並べかえ, 4, 87, 88, 94
正規スコア, 85
符号, 79, 87
符号付き順位和, 76, 86, 87
符号付順位和, 79
符号化順位, 86
順位和, 21, 73, 79–81, 83–86, 89, 93, 94,
96, 98
検量線, 106–108, 110
標本, 27–29, 32, 35, 39, 43, 45, 46, 53, 55–57,
71–73, 76, 79, 146, 149
標本比率, 43, 53
標本空間, 8, 10, 11, 16
標準偏差, 13, 18, 22, 36, 37, 40, 42, 45, 73
不偏, 36, 40, 42
対数, 18標準化, 53, 82, 86, 131
標準誤差, 40, 75, 125
樹状図, 141, 143
正準相関分析, 110, 129
正規分布, 16–18, 25, 27, 36–38, 40, 45, 53, 55,
64, 66, 71, 80, 93, 96, 98, 108, 109,139
二次元, 104, 109, 113
対数, 18, 36, 80
標準, 17, 18, 54, 55, 66, 71, 73, 81, 82, 85,
87, 105
正規近似, 45, 53, 55, 58, 64, 79, 81, 82, 84, 87,
104
残差分散, 108

索引

160
残差平方和, 108, 109, 132, 133
母分散, 71–74, 93, 98
母数, 27, 46, 48, 57, 79, 92
母比率, 18, 43–47, 53, 55, 58, 59
母集団, 27, 28, 35, 39, 40, 43, 45, 46, 53, 57,
59, 63–65, 71, 73, 74, 79, 80, 86, 93,
98, 132
母集団寄与率, 63, 65, 67
比例ハザード, 123
比例ハザードモデル, 4決定係数, 108, 110, 131
滑降シンプレックス法, 119
片側検定, 72, 75, 76, 84, 87, 105
独立性の検定, 53, 56, 59, 64
生命表, 1, 123, 124
生存時間解析, 113, 123, 146
疫学, iii, 56, 61, 103, 145, 146
相対差, 63, 65
相関, 21, 101–105, 120, 121, 132, 139
地域, 103擬似, 103正の, 102–105
自己, 113
見かけの, 103
負の, 102, 103
順位, 21
相関係数, 22, 65, 104, 105, 107, 108, 120
偏, 131
母, 104, 105, 109
重, 131, 132
順位, 63, 104, 105
確率, 1, 2, 4, 7–16, 25, 43–47, 49, 50, 55, 57–
60, 66, 72, 81, 84, 85, 87, 91–93, 96,
97, 109, 110, 113, 122, 131, 146
上側, 72, 74, 76, 77
有意, 53, 55, 58–60, 73, 74, 76, 77, 81, 82,
84, 86, 87, 92, 94, 97, 98, 104, 105,
109, 131, 132, 136
正確な, 59, 79, 81, 82, 84, 86, 87, 105
確率分布, 2, 4, 7, 13, 15, 17
確率変数, 12–16, 28, 120, 121
確率密度関数, 15–18, 46–48, 76
確率母関数, 16, 18, 46
確率過程, 121, 122, 146
確率関数, 48立方根変換, 64
第１四分位, 37, 38
第１種の過誤, 55, 59, 60, 89, 94, 97
第２四分位, 37

第２種の過誤, 55
第３四分位, 37, 38
等分散性, 93
範囲, 36, 38, 40, 41, 44, 45, 99, 149
級間分散, 91, 92
級間変動, 91, 92
累積確率密度関数, 16
総変動, 92
群間分散, see 級間分散
群間変動, see 級間変動
自由度, 18, 39, 46–48, 51, 57, 58, 71–74, 76,
77, 91, 92, 94, 99, 104, 105, 109, 133,
139
記述統計, 27, 149
誤差, 28, 38, 60, 90, 92, 102, 106–110, 120–
122, 125, 129, 141
測定, 40
誤差分散, 91, 92, 96, 98, 99, 109
誤差変動, 86, 90–92
誤差自由度, 99
連続性の補正, 53, 55, 57, 58, 82, 86
重回帰モデル, 131, 132
重回帰分析, 4, 104, 129, 131
間隔データ, 113, 123, 124, 126
集合, 11, 13, 20, 28, 95
非線形回帰, 115, 118, 119２項分布, 14–16, 18, 45, 47, 87
Ｚスコア, 18