ラベル 統計学 の投稿を表示しています。 すべての投稿を表示
ラベル 統計学 の投稿を表示しています。 すべての投稿を表示

2026年8月15日

岩屋岩蔭遺跡・金山巨石群(岐阜県下呂市)の批判的所見


岐阜県下呂市金山町岩瀬

概要と評価

かつて大狒狒(おおひひ)という怪物が横暴を極め人身御供を捧げていたが、これを聞いた源義仲が退治に向かい、大狒狒はこの岩屋に籠ったが討伐されたという。以後、岩屋内に妙見神社(岩屋神社)をまつる。

この場所から縄文時代早期・弥生時代の土器・石器、江戸時代の古銭が見つかったことから岩屋岩蔭遺跡の名がある。現在、報告書は「全国文化財総覧」において電子公開されている。

これとは別で、この遺跡が天文観測装置だったという説に立って「金山巨石群」と呼ぶ人々もいる。

岩屋内に日光が差し込む時期と差し込まない時期があり、光が当たる底面の岩石の光の当たり方と形状から二至二分の時期を知ることができるという。

2条の線刻とその上部に3つの横並びの窪みがあり、夏至になると窪みや線刻に日光が当たるという。

春分・秋分に、写真のE岩とF岩の隙間へ太陽が沈む様子が観察できるという。

上写真の岩石群の隙間に、冬至を中間とした120日間日光が差し込むという。


これに対する私の見解はすでに別で記したため、下に当該箇所を掲載する。

市井では,縄文時代に巨石を使って天体運行の観測などを行っていたという天体観測装置説が根付きつつあるので付言しておきたい。代表的な事例として岐阜県岩屋岩蔭遺跡(金山巨石群)が挙げられ,巨石の輪郭,隙間,重なり合い,岩肌の窪みなどを利用することで二至二分の時期や一年・閏年の周期,北極星や北斗七星の動きを知ることができるという(小林,2011)。
岩屋岩蔭遺跡は縄文時代早期と弥生時代の土器・石器,江戸時代の古銭が出土した県指定史跡だが,天体運行を観測できたという独自研究は史跡の評価とは別である。巨石を利用してさまざまな天体観測ができることは,実際に実験がなされているので間違いないがそこは問題ではない。本当の問題は,これが過去の人々によって意図的に編み出されたものなのか,それとも自然の景観が作り出した偶然の産物なのかというところにある。
すでに金山巨石群に対しては,地質学の立場から地滑りで巨石が動いて群集した自然現象という評価がある(宮下,ウェブサイト)。巨石群における観測の実態についても,夏至や春分を観測するのが1か所ではなく複数の地点に分散し,その観測の方法も日光の差し込みだったり岩石のどの位置に太陽が来ているかだったり,巨石の積み重ねを装置にしたと思えば巨石に「線刻・刻印」 を穿つ方法になったりと,統一感のある設計規格は見られず雑然としている。
考古学において天体観測の研究自体は現在まったく否定的ではなく,弥生・古墳時代では北條芳隆が考古天文学の立場で複数の遺跡の天体運行現象を論じている(北條,2017)。縄文時代でも,青森県三内丸山遺跡などで天体観測を意識したと推定される遺構が存在しており,人工的な遺構であれば当該期の天体への意識や観測を否定する立場ではない。
逆言するならば,岩石においては人工的な設置・加工の痕跡を証明できて初めて肯定的評価がなされるべきであり,自然のままの位置のみで天体や暦の観測ができるというのは証明にならない。それは,人が事物に対して無限大に意味付けすることを示すロールシャッハテストを持ち出すまでもないだろう。この点において,研究者自らの意味付けが恣意的でないかということに自己批判が必要なのであるが,いわゆる自然石を縄文時代の天体観測装置として取り上げる諸文献からはその自己批判を行った部分が読み取れない。このような現状に対して,地質学分野が岩石の自然・人為を科学的に判断していく意義は大であり,考古学や地質学がこれらの「縄文」歴史観の批判的検討を協業することで一般社会における歴史認識の醸成にも寄与できるものと提言したい。

・小林由来(2011):暦学。渡辺豊和[編著]『イワクラハンドブック』,312-321,イワクラ(磐座)学会,大阪。
・宮下 敦(ウェブサイト):岩屋岩蔭遺跡。http://earthprobe.blue.coocan.jp/megalith/iwaya.html[2022年8月14日閲覧]
・北條芳隆(2017):『古墳の方位と太陽』。280ページ,同成社,東京。

[引用元]吉川宗明「岩石信仰研究の視点」『変動帯の文化地質学』(京都大学学術出版会 2024年)

なお、金山巨石群の天文観測説を追究するため、遺跡指定されている地中を届出なしで掘ってしまった事案があるのはいただけない。無許可の発掘調査がなぜ推奨されないか、文化財保存とは何かという理念を学んでいないことがわかる一幕である。同好の方は厳に慎んでいただきたい。


岩石にできた穴に日光が入る統計的確率への疑義

金山巨石群は天文考古学の代表的な事例として長年知られてきたが、近年では愛媛県松山市の海岸沿いにある「白石の鼻」を縄文時代の人為的な天体観測装置とする説も盛んである。最近、統計学的視点からこれを「0.55%の奇跡」と呼ぶ記事が公開された。

Kimono club氏によるnote記事「0.55%の奇跡|愛媛・白石の鼻巨石群は古代の天文台か?」がそれで、岩石にできた貫通孔(太陽の光を通す穴)が特定の天文現象の方向を向く確率は1/180(0.55%)である、と統計学の大学教員としての立場から述べている。

この記事は、白石の鼻で継続的に天体観測活動を継続されている松山・白石の鼻巨石群振興会のホームページにも「オススメ記事」として紹介されており、天文考古学と遺跡を語るうえでも最新の言説と言える。

ここで述べられた統計的確率について私には疑義がある。天文考古学的な議論において批判的な見解が言語化されることは少ないと見受けるので、ここでまとめておきたい。


前提条件として、1個の岩石の1か所の貫通孔で計算するから1/180というだけであって、本来の母集団は全国に存在するすべての岩石の貫通孔・隙間を加算しなければいけないのではないか。

1つの岩石において1つの貫通孔しかなくて1/180の確率でも、全国に広げれば岩石の貫通孔をもつ場所は増加していき、全国のどこかでその現象が偶然ヒットする確率は当然上がる。単純に貫通孔の事例が全国規模で180か所を超えて確認されれば、そのうちの1か所は任意の方角を指し示していてもおかしくない。

偶然か人為かを判断するのであるから、日本の地質活動において偶然に出現しうるのかという視点で分析しないとならない。ならば、特定の1か所で確率を示すことなく、日本列島という地質全体を母数に置いて論じられなければならないだろう。


次に、特定の方位を向くのを1/180と設定しているが、分子の置き方に疑義がある。

天文考古学では、夏至・冬至・春分・秋分の二至二分の日の出・日の入の方向が注目されることが多い。この場合の直線で言うと「東西線」「真北から60度のライン」「真北から120度のライン」の少なくとも3本に意味が持たせられている。

どれかに一致すれば天文考古学的に評価されるのが実情なので、分子は3/180 = 1/60に上がると言って良い(二至二分以外にも意味を持たせるならさらに分子は増えて偶然一致確率は上がる)。


分母も正確なところでは180とは言えない。

これはKimono club氏も言及しており、実際は方位角(平面)だけでなく立体角(垂直側)の光の差し込みも考慮に入れなければならない。立体角をかけ合わせればさらに分母はふくらむことになる。

同氏はその計算結果を示していないが、私も専門ではないのでここはGemini(AI)に聞いて参考とするにとどめたい。Gemini回答によれば、球面幾何学の積分公式で立体角の計算を行った上で現実の大気差と太陽の視直径による補正を加えると、1/10615となるらしい。

ここに、二至二分で意味を持たせられる3本の直線の存在を分子に置くと、3/10615 ≒ 約1/3538となる。おそらくこれくらいが、本当のところの「貫通孔がたまたま二至二分で意味のある方向を向く確率」だろう。

なお、金山巨石群では貫通孔以外にも岩石の窪みやでっぱりなどの輪郭や配置状態にまで意味を持たせているため、偶然一致確率がさらに上がることは言うまでもない。


1/3538とは、全国に散らばる自然でできた岩石の貫通孔のうち、平均して3538個に1個は二至二分の意味のある方向を向いていておかしくないという確率である。

仮に、そのような貫通孔の事例が日本で100個ほど見つかる場合、日本列島における貫通孔の総数が353800個以上あるとわかれば「当然の現象(=偶然)」であり、その数より少なければ「偶然とは言えない現象(=人為?)」と言える。
(1/3538の確率、貫通孔事例100個、353800個の数値はすべて仮定の話である。独り歩きしないように釘を刺しておく)


つまり、母集団となる日本列島の貫通孔総数がある程度の範囲で数値化できない限り、目の前で見つかった貫通孔が偶然を超えた存在かどうかを評価することはできないのである。この点において、前掲記事に冠せられた「奇跡」の見出しは主観的な勇み足が過ぎる。

もし、その貫通孔の人為的設置や加工の明確な根拠を提示できないまま統計的な見地から論じたいのであれば、単に意味ある貫通孔の実数を報告するのではなく、日本全国にあるすべての貫通孔の総数(母集団)も報告しなければならない。


貫通孔の母集団はいかほどの数に上るのだろうか。高山険所の多い日本で1つ1つ実地を巡って悉皆調査することは不可能だが、想像もつかないほどの途方もない量に上ることは容易に想像できる。

たとえば、こういう谷間沿いに集積した岩海と呼ばれるような地形1つとっても、いくつもの貫通孔が潜んでいる。

岩石が重なるだけで、光の差し込む貫通孔は容易に生まれる(奈良県奈良市岩戸谷)

岩海に形成された岩屋では、このように複数の間から光が差し込む(岐阜県瑞浪市関の岩屋)

上写真の岩石1個だけで、地表と岩石の隙間に3つの貫通孔が生まれている(静岡県浜松市舘山寺)

亀裂・岩門なども含めると、1か所に複数個の貫通孔が存在することは普遍的である。


以上例示した場所は名所景勝として知られるものの一部であるが、このように特別視もされていない、単なる自然地形における貫通孔のほうが格段に多いだろう。

岩石が群れ集まるような場所は、土石流や地すべりなどを起こすような不安定な地形が多い。たとえば国土交通省が公表している「全国の土砂災害警戒区域の指定状況推移(令和8年6月末時点)」によれば、土砂災害警戒区域は日本全国に約72万か所存在する。これはあくまで生活地域の危険個所として指定される件数であり、生活圏外の山岳や海岸線の岩礁群を含めればさらなる増加が想定される。日本列島の約7割を山地が占めることを踏まえれば、岩石地形の総数はゆうに100万を超えた規模になると考えていいだろう。

これらの岩石地形それぞれに貫通孔の存在が想定される。日本列島の代表的地質である花崗岩地帯では、数mおきに格子状の節理(割れ目)が発生し、そのたびに貫通孔の生まれる余地がある。先ほど例示したように、1か所の岩石でも複数の貫通孔が形成されている。

現に、ここでもあそこでも光が差し込む岩が見つかったという報告を目にするが、たくさん見つかるのは母集団が巨大であるために起きる偶然説の補強にすら思える。

いずれにしても、意味のある方向を向く貫通孔の事例を見つけていくという分子のほうだけ追いかけていても、分母の検討がつけられない限り統計的に論じることはできないだろう。


他に検討しないといけない観点もある。変動帯に属する日本列島において地質活動による岩石の位置変化がなかったという前提に立ち、現在の配置で天文現象の調査をしていることの危うさである。

現在、意味のある方向の光がピンポイントな立体角で入っている場所があって、それが縄文時代の産物だったとしよう。それは活発な地質活動を続けてきた日本列島で数千年もの間、安定的にいられ続けて、縄文時代の時と寸分たがわずその岩石の配置状態のまま来たのかという疑義がある。

岩がわずか1度傾いただけで、その天文観測装置が正確であればあるほど機能不全となる。現在の配置で人為説を立証する場合は、その場所では地質変動がなかったこと、あるいは激しい地質活動の中でも1度の狂いもなく現代まで維持できるのだという岩石構造の安定性を論じる必要もあるだろう。


また、なぜ人為説立証の本家本流のアプローチである「岩石の人為性」の方向で追究しようとしないのかが不思議である。

前掲のKimono club氏の記事では、白石の鼻がかつて陸上にあったという地質情報を紹介しているが、ならば、この巨石群が花崗岩の「玉ねぎ状風化」による自然成因によるものであるという地質情報も公平に紹介すべきである。

同じ地質情報に依拠するなら、都合の良い情報だけを抜き出し、都合の悪い情報に触れないのは科学的な姿勢ではない。そして同じく地質学的な学知に基づいて、白石の鼻は地質学的には説明できないことを論ずればよい。

そして陸上における遺構として評価するのであれば、現地の海底において縄文時代の考古学的物証をつかむか、巨石を加工・運搬した際に岩石側あるいは地層面側にできるであろう痕跡をつかむかを、これは「ある/ない」の「ある」側に立つ人為説側が立証するしかない。


以上、最新のホットな話題である白石の鼻を例に天文考古学の問題を取り上げたが、「0.55%の奇跡」というセンセーショナルな見出しに乗りかかることなく、科学の俎上に乗せるならまず自らに執拗と言えるほどの批判的精神を宿し、否定に否定を重ねても否定しきれないものがあるのかを冷静に見つめることが望まれる。


2026年5月3日

【歴史研究者向け】歴史学でカイ二乗検定・フィッシャー正確確率検定を用いる手順(フリー統計ソフト「EZR」の場合)

歴史研究者が学ぶべき最も重要な統計手法は「カイ二乗検定」といわれます。

カイ二乗検定などの意義については、過去の記事で紹介しました。

統計学まなびはじめ(『人文学のための計量分析入門』『基礎から学ぶ統計学』)


かつては手計算するしかなかった統計検定も、現代ではオンライン上で必要なデータを入れれば自動的に計算される時代です。

高等数学や統計学を修めた一部の人々しか扱えなかった検定が、今は門外漢でも利用できるということです。


では、歴史学でカイ二乗検定を扱う場合、どのような手順を踏んで算出まで導けばいいか?

書籍『自然石祭祀遺構の基礎的研究―巨石遺跡・磐座遺跡の時代を越えて―』で統計検定を使用した私が、実際にどのような試行錯誤を経て使用ツールとプロンプトを用いたか、備忘録と今後利用したいと考えている皆様へ向けて記録を残しておきます。

※2026年5月時点の情報です。めまぐるしく変わるweb環境のため、永久に使える方法とは限らないことをご了承ください。


【前提作業】データから分割表を作っておく

大前提として、検定で使用する「分割表」は事前に作っておいてください。

分割表は、何かの群ともう一つの別の群の数値を比較するために作られます。

たとえば、行を時代や場所などで設定すると、ある時代とある時代の何かを比べたり、ある場所とある場所の何かを比べたりできます。列は、単純な「あり/なし」や「Yes/No」などの二列分類でもいいですし、比較するに足る複数の項目を並べてもいいわけです。

分割表は基本的には2行×2列から構成されますが、別に3列・3行以上でもOKです(ただし検定後の評価に他の統計学的知識が必要になります)。

これらの分割表によって、何かの群ともう一つの群の間に、データ差や相関を見出しやすくなります。カイ二乗検定に使う場合は、ある群とある群の数値に相関関係があるか逆に独立関係にあるかを示すことになります。

どんな分割表を作るかは、まさに歴史研究をするあなたのオリジナリティーが発揮される部分です。数値化するために、件数を数えられる項目やカテゴリーがないかを探してみましょう。

歴史学における注意点を挙げるなら、同一線上で比較できないような不統一な群同士を比較することに意味はないでしょう。

また、分割表自体は百分率で表されることが多いですが、カイ二乗検定に用いる場合は百分率にせず、実際の数値(件数)で入力したままの表とすることに注意してください。


ありなし
A時代128144
B時代155230

表1:2つの時代の遺跡において、ある要素が認められるか認められないかを2行×2列分割表にしたもの(表内の数値は集計件数)


オンライン上の統計計算ツール

統計学の専門をかじっていない歴史研究者でも扱いやすいツールはあるのでしょうか。

一番かんたんなのは、インストール・ダウンロード作業をしなくてもブラウザ上の計算で完結するオンラインサイトです。


私が推奨するサイトとしては、エミュイン合同会社が運営する Reactive stat です。下にリンクを掲載します。

https://www.emuyn.net/stats/features

キャッチフレーズは「ブラウザだけで使える無料統計ソフト~信頼性の高い R で統計解析し、その結果を AI が解説します!」

サイトのコンセプトなどの詳細は上のリンク内をご確認いただきたいですが、一言で言えば、理数系に弱い私でも直感的に理解できるサービスでした。AI解説なしで統計解析するだけなら無料で利用できます。

怪しいサイトではなく、医学論文などでも対応できるように工夫が凝らされた設計です。統計検定の根拠も信頼性の高いと言われるR言語に基づいて行われており、サイト内の各記述を読む限り信頼が置けるサイトだと思います。

 Reactive stat でカイ二乗検定ができるページは下のURLです。

https://www.emuyn.net/stats/enter_and_analyze_two-way_table

ページ内にすでに分割表の欄が用意されているので、後はあらかじめ作成している分割表の数値を入力すれば、リアルタイムで検定結果が即算出されます。

元の分割表をExcelなどで作成している場合、コピペでうまくいける時とうまく貼れない時があります。元の分割表と見比べて誤りがないかよく確認しましょう。

先に例示した表1の分割表を Reactive stat に入力した場合、下のようになります。

Reactive stat にて作成

Reactive stat におけるカイ二乗検定結果例

カイ二乗検定の場合、次の3つの数値が算出されます。

  • Chi-Square 統計量 3.00
  • 自由度 1
  • p値 0.083

Chi-Square 統計量はカイ二乗統計量のことで、統計検定をする時に出される検定統計量です。この統計量の数値がいくつかによって、その分割表の群同士が相関か独立かを示唆する根拠となります。統計量が大きくなればなるほど、有意差があるという評価をします。

自由度は分割表の行数と列数で自動的に決まる数値ですが、その意味を理解して適切に取り扱うには正直、歴史研究者としては若干手に余る指標であり割愛します。

一番重要な指標は、最後のp値です。p値=確率であり、カイ二乗検定の場合はその分割表の数値の分布が偶然でも成立するものかどうかの確率を算出します。表1の例の場合、p値は0.083で8.3%という意味です。なにが8.3%なのかというと、この分割表は統計学的に8.3%の確率で偶然できあがる数値の分布ということです。

では、8.3%は確率的に高いのか低いのか。統計学では慣例的に有意差があるかどうかを判断する有意水準というものがあり、それは一般的に5%といわれています。

つまり、5%以上が出た場合は「有意差なし」、5%未満となった場合は「有意差あり」とみなします。どうやらこの有意差を5%で区分することが望ましいかどうかには多くの議論があるようですが、門外漢の歴史研究者にはどうしようもなく、現状通説的見解とされる5%有意水準を採用しておくのが妥当でしょう。

ということで、表1の場合は「有意差なし」の判定となります。A時代よりB時代のほうが「なし」の数が増えたように思えますが、統計学的には有意差があるとは言えない、という言いかたになります。


しかし、仮に表1の数値がこのように変わったらどうでしょうか。

表2:Reactive stat にて作成

A時代の「なし」を144から134に変えました。それ以外は同じ数値です。

表2でカイ二乗検定を実施した結果が下です。

  • Chi-Square 統計量 4.68
  • 自由度 1
  • p値 0.0305

検定統計量がさっきより増えて、p値は0.0305と小さくなりました。これは3.05%ということで有意水準5%未満になり、統計学的には「有意差あり」の判定となります。偶然起こるとは言いにくい、見逃せない数値の偏りなのです。

この、主観的に見れば「わずか」にも見える数値(件数)の違いを、統計学の根拠に基づいてp値という形で数量的な根拠を示してくれるのがカイ二乗検定です。

歴史研究者がやりがちな、大体これくらいの数値が出れば「高い割合」「低い割合」と評価してしまうのを、統計学的根拠に基づいて論ずることができるようになります。このことをクレール・ルメルシエ、クレール・ザルク[著] 長野壮一[訳]『人文学のための計量分析入門―歴史を数量化する―』(人文書院 2025年)は述べているのです。


カイ二乗検定が使えないならフィッシャー正確確率検定

しかし、これだけではまだ歴史研究者は安心して統計検定を使用できません。次は、カイ二乗検定を使えないケースがあることに注意が必要です。

それは、分割表の数値が少ない場合です。具体的な基準も決まっていて、分割表のセルに入る期待値が5件未満の場合です(最近は1件未満とする説もあるようですが、私には統計学領域の議論の判断がつかないため通説的見解の5件未満を採用します)。

期待値とは、いわゆる平均値と同義とされやすい概念ですが、平均値は実際のデータの単純平均であるのに対して、期待値はその名のとおり、データ標本で現れ出た数値が将来的にこれくらいになると理論的に期待される平均値となります。
表1の場合は次のとおり、Reactive stat 上でも「期待度数」という指標で計算できます。

Reactive stat で表1を期待度数表示した場合

ご覧のとおり、表1の場合は期待度数が5件をゆうに超えているので問題なくカイ二乗検定を使えます。いいかえれば、データ件数の多い分割表であればまずカイ二乗検定を使っておけば大丈夫です。

しかし、私が研究に用いたデータはそうではありませんでした。たとえば拙著には下のような分割表があります。

ありなし
A時代05
B時代052
C時代746
D時代543
E時代439
F時代319
表3:カイ二乗検定を使えない分割表の例

「あり」の要素が少なく、ほとんどの事例においてその要素が認められなかった場合、このような分割表が作成されます。
しかし、A時代、B時代に0件でC時代以降にわずかでも事例件数が存在するこの分割表において、主観ではなく統計的に意味がないかどうかを算出する意味はあるでしょう。

それでは、表3をReactive stat に入力して期待度数を表示してみましょう。

表3をReactive stat で作成

「あり」の列を見ていただければ一目瞭然ですが、期待度数で5件を上回っているセルが1つもありません。A時代の「あり」のセルは1件未満であり、最新の基準においてもカイ二乗検定には不適切な分割表となります。


では、カイ二乗検定が使えないならもう終わりなのかというとそうではなく、期待度数5件未満の統計表の場合は「フィッシャーの正確確率検定」(以下、フィッシャー検定と略)を使用することが推奨されています。

フィッシャー検定は、分割表の件数が少ない場合もカイ二乗検定のように、ある群とある群の相関/独立をp値で算出してくれる検定です。

カイ二乗検定との違いは、検定統計量が出ず、直接p値が出ます。また、カイ二乗検定に比べて膨大な計算量が必要となるため、データ数や列・行が多いと手計算どころかコンピュータ計算でも負荷がかかりすぎて計算エラーになる恐れがあります。
基本的には2列×2行の分割表であれば計算負荷はそこまでかからないといわれます。

とはいえ、Reactive stat では最大で6列×6行までの分割表について、カイ二乗検定と同時にフィッシャー検定の結果も自動計算してくれます。
カイ二乗検定結果のページをさらに下にスクロールすると下の画面が出てきます。
「Fisherの正確確率検定=フィッシャー検定」です。

Reactive stat におけるフィッシャー検定結果例

カイ二乗検定の時と違って、わかりやすくp値が書いてありません。
「Rの出力結果」と書いてある欄にこのようなテキストが表示されています。
      あり なし
A時代    0    5
B時代    0   52
C時代    7   46
D時代    5   43
E時代    4   39
F時代    3   19

#### Fisher の正確確率検定 

Fisher's Exact Test for Count Data

data:  .Table
p-value = 0.068
alternative hypothesis: two.sided

--------------------------------------------------------------
Analysis is conducted using R version 4.5.2 (2025-10-31) 
The script uses the following packages and versions:
この内の「p-value = 0.068」と書いてある部分がフィッシャー検定結果のp値です。
0.068ということで有意確率6.8%、すなわち統計的に「有意差なし」の判定です。

フィッシャー検定を用いることで、データ件数の少ない分割表においても、カイ二乗検定の代わりに有意差検定ができました。

フィッシャー検定で計算エラーが出る場合はモンテカルロ法を使用

Reactive stat が万能かというと、そうではありません。

たとえば下のような分割表の場合は、計算量の限界を超えたようでエラーが出ました。

表4:期待度数5未満があるのでフィッシャー検定を行うべき分割表の例(Reactive stat で作成)

表4のフィッシャー検定「Rの出力結果」は次のとおりです。

    列A 列B

行1   0   5

行2  19  33

行3  25  28

行4  34  14

行5  30  13

行6  14   8



#### Fisher の正確確率検定 



fisher.test(.Table) でエラー: 

  FEXACT error 7(location). LDSTP=18630 is too small for this problem,

  (pastp=64.2946, ipn_0:=ipoin[itp=71]=742, stp[ipn_0]=65.205).

Increase workspace or consider using 'simulate.p.value=TRUE'

実行が停止されました
「fisher.test でエラー」「実行が停止されました」のテキストが確認できます。そしてp値の表示が見当たりません。この場合、計算は失敗しています。

表3よりも表4のほうが全体のデータ件数が多いからこのようなことになるのだと思います。元来、フィッシャー検定は膨大な計算を伴うため2列×2行分割表に向いているとされる所以です。

こういう場合の対策方法はいくつかある模様です。
私なりにいろいろ調べた結果、たとえば下のwebページに参考となる情報がありました。

【フィッシャーの正確確率検定】エラーが出てしまって分析できないので... - Yahoo!知恵袋

Yahoo!知恵袋の問答ページですが、回答者は顕名の井口豊氏であり、同氏の研究室ホームページから統計解析の専門家でもあることがわかります。

回答結果をまとめると、解決法は大きく2種類。

  1. 計算に充てるコンピュータのメモリを増やす
  2. モンテカルロ法(モンテカルロシミュレーション)を用いる

1番目の方法であるメモリ増強の方法もいくつかあるようですが、私はうまくいかず撤退。
2番目のモンテカルロ法に頼みの綱を求めます。

モンテカルロ法とは何か?
計算回数の上限を決めて、正確な値ではなく近似値を求める手法です。当然ながら、計算回数が多いければ多いほど、より実際に近似した値が出ます。
フィッシャー検定は正確に出そうとすると膨大な計算を重ねて、コンピュータ的にはメモリの限界を迎えてエラーを吐きます。そのため、フィッシャー検定においてモンテカルロ法を適用することは有用なのです。

ではReactive stat でモンテカルロ法を適用できる設定はあるのかと確認してみたのですが、どうやら存在しない模様。
大変便利なブラウザ上計算ツールでしたが、どうやらここで別のツールに切り替えるしかないと判断しました。

最終的にEZRの運用を推奨

Reactive stat のサイトにも書いてありますが、統計の世界で信頼性があるのはR言語に基づいたプログラムです。

Reactive stat はその最も簡便なツールでしたが、フィッシャー検定を使いたいのに計算エラーが出る場合、もう一段階、専門寄りのツールに切り替える必要があります。

それがEZR(Easy R)です。

フリーソフトです。

Easyの名を冠するだけあって、これでもR言語プログラムを使いやすくしたというコンセプトですが、こちらはインストールが必要なアプリであり、Reactive stat サイトの言を借りると「統計解析の初心者には難しいという声も聞かれ」るそうです(だからReactive stat を公開した)。

私も最初ちんぷんかんぷんでしたが、フィッシャー検定のところだけ理解できればいいという心持ちで操作に慣れていきました。その手順をこちらにまとめます。


EZRのダウンロードページ

自治医科大学のHP内でダウンロードできます↓

https://www.jichi.ac.jp/usr/hema/EZR/statmed.html

なぜならEZRの開発者は、自治医科大学附属さいたま医療センター血液科教授(2026年5月時点)の神田善伸氏だからです。

Reactive stat もそうでしたが、EZRも含めて統計解析ソフトは主に医療統計分野で発展してきた経緯があります。医師や医学者が医学論文で用いるための統計解析を、統計に疎い人でも利用できるようにという思いで無償で公開しているものです。

だからといって医療分野限定の仕様ではなく、当然ながら統計学は数学の世界ですから、数量を扱うあらゆる分野の統計において活用できます。歴史学もありがたくこの恩恵にあずかりましょう。

Window版、Mac OS版、LINUX版が公開されているので、ご使用の機種に合わせてダウンロードしてください。

ダウンロード前に、HPに書いてある留意事項などは一通り読んでおいてください。注意点としては、無料で使用できますが、EZRを使って算出した結果はEZRを使用したことを出典として示すことが条件づけられています(当たり前ですが)。

その出典の記載方法もHPに例示されているのでご確認をお願いします。


インストール後の使用方法

ウインドウの指示どおりにインストールを終えると、ローカルのインストールフォルダ内に「EZR簡易マニュアル」(EZRman.pdf)があるはずです。まずはそちらをご一読ください。

マニュアルの一番下に解析可能な検定のチェックリストが画像に示されており、その中に「カイ2乗検定」「フィッシャーの正確検定」の項目があるのを見つけられるでしょう。EZRにこれらの検定機能が搭載されていることがわかります。


では、起動してからフィッシャー検定するまでの流れをスクリーンショット画像掲載で紹介しましょう。

EZRアプリを起動すると下のウインドウが自動的に表示されます。


しばらく時間がかかりますが、このウインドウをそのまま放置しておくと別のもう1つのウインドウがさらに出てきます。それが下画面です。

上画像のウインドウが検定作業をする画面となるのでご注意ください。

まず通常の検定方法を説明します。

ツールバーの「統計解析」▶「名義変数の解析」▶「分割表の直接入力と解析」をクリックします。


すると下のウインドウが出てきます。


分割表を直接入力できます。

自分で用意した分割表の行数・列数に増やして数値を入力し、「フィッシャーの正確検定」にチェックを入れた状態で「OK」ボタンを押せばRプログラムが働いて自動的にp値結果を算出してくれます。

が、Reactive stat と同様に、表4のようなデータ数の分割表ではエラーが返ってきます。

見た感じ、このウインドウではモンテカルロ法の設定が見当たりません。

ということで、EZRの「Rスクリプト」画面に、直接スクリプトを打ってモンテカルロ法を用いることを指示しなければなりません。

先に紹介した井口豊氏の記述を参考にして色々試した結果、下のスクリプトであれば正常に検定できました。


dat<- matrix(c(

0, 5,

19, 33,

25, 28,

34, 14,

30, 13,

14, 8

), ncol=2, byrow=T)


fisher.test(dat,

simulate.p.value = TRUE, B = 1000000)


分割表の行数・列数に応じてスクリプト内のテキストを変える必要があるので、応用できるように、このスクリプトのそれぞれの意味を説明します。


dat<- matrix(c(

マトリックス(分割表)のデータであることをRに指示するコードです。


0, 5,

19, 33,

25, 28,

34, 14,

30, 13,

14, 8

表4の分割表をスクリプト画面に打つ時の形がこうです。

行ごとに列のセルの数値をコンマと半角スペースで区切りながら入力していきます。

表4は6行×2列なのでこうしていますが、3列や4列なら行の右側にコンマで区切りながらセルの数値を入力していってください。

要注意点は、一番最後の行・列(一番右下)の数値の後にはコンマを入力しないこと。私は当初ここにコンマを打ったことでひたすらエラーが出て悩まされました。


), ncol=2, byrow=T)

「ncol=2」は2列という意味。Rに列数がわかるように指示しています。ですので、3列や4列なら「ncol=3」「ncol=4」のように変更しておいてください。

「byrow=T」は、行の横方向の順番で読み込んで表データを作成するようにRに指示するコードです。

つまり、これによって2列の分割表を行の横方向に読み込めるようになるということです。


fisher.test(dat,

フィッシャー検定を実施するためのコード。


simulate.p.value = TRUE, B = 1000000)

これがモンテカルロ法で近似的なp値を算出するためのコードです。

「B = 1000000」は、試行回数を1,000,000回に指定するという意味です。

モンテカルロ法で試行回数を何回に指定するかは、用いるデータや目指す研究目標によって様々だそうです。

私は、エラーが出なかった分割表を使って、EZRでこの試行回数を「B = 1000」「B = 10000」「B = 100000」…と数値を変えながら算出されるp値を見比べて、最終的に1,000,000回計算すれば実際のフィッシャー検定結果のp値と近似すると判断して、このようにしました。

皆さんも、用いるデータや調査精度に合わせて試行回数を調整してください。


ということで、このスクリプトをEZRの画面に入れてみましょう。


要注意点は、入力したスクリプトを「すべて選択」した状態にして「実行」ボタンを押すことです。選択してスクリプト範囲を青くした状態にしないとエラーとなります。

正常に実行された結果が下画像です。


「出力」欄に「p-value = 0.000157」の文字が確認できました。

有意確率0.0157%ということで、表4の分割表の数値の分布は、極めて0%に近い強い有意差が示されました。

2×2分割表なら、1行目と2行目に有意差があるということを明確に示しますが、3行以上や3列以上となると、どの行・列のセルに有意差が認められるのか(有意に多いのか/有意に少ないのか)を特定する作業が別途必要です。

カイ二乗検定やフィッシャー検定は、分割表全体を見て有意差があるかないか自体を検定するものであり、表のどことどこに有意差があるのかまでは示してくれないからです。

どのセルに有意差があるのかを評価する方法に「調整済み標準化残差」の分析があり、この値が1.96を超えるセルはp値が5%未満で有意差があると判定しますが、このあたりまでいくと本記事の目的のさらに先の内容に突入するので、説明はここまでとします。


数名の読者の方のお役に立てばそれでよいと考えて書きました。

『自然石祭祀遺構の基礎的研究―巨石遺跡・磐座遺跡の時代を越えて―』の補遺として、本記事も大きな仕事ができたと思っています。


参考文献(EZR出典)

Kanda Y. Investigation of the freely-available easy-to-use software “EZR” (Easy R) for medical statistics. Bone Marrow Transplant. 2013:48,452-458. advance online publication 3 December 2012; doi: 10.1038/bmt.2012.244


2026年1月2日

統計学まなびはじめ(『人文学のための計量分析入門』『基礎から学ぶ統計学』)

今後の研究に統計学的な手法を取り入れたいと思い、勉強をスタートしました。

クレール・ルメルシエ、クレール・ザルク[著] 長野壮一[訳]『人文学のための計量分析入門―歴史を数量化する―』(人文書院 2025年)

内容の忠実な要約とはなっていませんが、自分自身の申し送りとして以下にまとめました。


ーーー

・「しばしば」「一般的に」などの歴史叙述は「疑似定性的な手法」であり、単なる意見の表明で終わってしまう。

・歴史研究に有益な数量的手法を紹介。数学的原理、ソフトウェアの操作方法には触れず、使用する前の目的、注意点、落とし穴などに重点を置いた。

・統計学的に誤差の許容範囲を決めるのは標本数の大きさ。60,000人のうち1,000人でも、25,000人のうち1,000人でも、4億5000万人のうち1,000人でも誤差範囲は同じ。母集団における割合は関係ない。

・1,000人の標本であれば、誤差は通常許容される範囲にとどまる。標本の20%にある特性が認められた場合、母集団においての割合が19~21%の間に入る可能性は高く、15~25%に広げれば「ほぼ確実」である。

・しかし、歴史研究において1,000件の標本を用意することは難しい(他の標本と比較しようとすると2,000件)。歴史研究者は1つ1つの標本(事例)の多様な側面に関心を持つからだ。

・理に適った妥協点は300件の標本。300件中に見られる20%の特性は、母集団においても15~25%の間に収まる。

・事例収集の留意事項
①標本抽出の頻度より標本の大きさ(標本数)を重視する。
②小数点以下の記述は不要。それより有意差を記述。
③標本数は現実的な妥協点が300件で、1000件まで増やす分には誤差を減らすという点で価値があるが、それ以上は微小な誤差の修正となるので(母集団がいくつであっても)ほとんど意義がない。
④これらの標本は、無作為抽出されたものであること。

・無作為抽出は、表計算ソフトでRAND関数を用いればよい。特定の順番ごとに抽出するなどの手動抽出は偏りを生む危険が拭えない。

・百分率を表示する際の留意事項
①母集団の総数をNで示すこと。N>100の場合、小数点以下は不要。N>1000の場合、小数点は一桁で十分。
②百分率は比率であり、単純に足したり引いたりできない。10%から20%に増えた場合、増加率は100%でパーセンテージポイントが10ポイントである。

・分割表(ピボットテーブル)は、2つの変数(人物の年齢、書籍の長さ、訪問先の場所などの情報)に関係があるか、関係がないかを示すに有効。

・カイ二乗検定を行うと、分割表で注目した変数同士が、事例数の小ささゆえに偶然生じたのか、実際に関係性があるのかを、合理性に基づいた確信をもって述べることができる。

・オンライン上でカイ二乗検定を行える時代。百分率ではなく、事例の数を分割表に入力すると検定結果が出力される。p値(2つの変数が独立=無関係である確率)が5%未満であれば、慣例的に相関関係があるとみなされる。

・分割表とカイ二乗検定は、歴史学的な論証に強力な役割を果たすため、歴史研究者が学ぶべき最も重要な道具である。

・歴史研究者にとってデータ入力の時間は退屈ではなく、民俗学者や社会学者にとってのフィールドワークに比するものと言える。

・データ入力の十戒
①最初の一行は変数の見出しのみに使用。
②識別子に一列を使用。
③資料の表記にできるかぎり沿って入力。
④資料の典拠を示す。
⑤欠損データもデータとして残す。
⑥1つの情報に見えても、その情報を可能な限り多くの列に分割。(例)「姓名」→「姓」「名」など
⑦年月日はソフトウェアの日付形式を使わず、「年」「月」「日」の3列で入力。
⑧時間軸で情報が変容する場合、「何が起こったか」「いつ始まったか」「いつ終わったか」の3列以上で入力するエピソード形式が実用的。
⑨表計算ソフトでできる機能を使いこなせるようにしておく。
⑩データは頻繁に保存。

・数件から数十件しかない小さな母集団に対しては、論理学と集合論に立脚した質的比較分析(QCA)でアプローチする。

・少ない標本で大量の変数を取り扱う場合は因子分析でアプローチする。2つ、3つ程度の変数であれば因子分析は不要で、分割表とカイ二乗検定で十分。

・読みとりやすい図表を意識する。問題となりやすいのが円グラフ。人間は面を比較することが得意でなく、棒グラフで良い場合も多い。立体の円グラフなどは、遠近感による歪みで分かりにくくなるので、より悪い。男性の10%は色を識別することがうまくできないという研究もあるので、色付けでの識別も避けるべき。単純なほどよい。

・単純さという点で、スモールマルチプルは今なお有用。単純にグラフを連続して配置するだけなので、視覚的な比較が容易。

・棒グラフは、垂直方向より水平方向に表示が推奨。見出しが読み取りやすいため。1本の棒グラフに十数色の情報を詰め込むより、1つ1つの情報を棒グラフとして可視化して並べる方が理解しやすい。

・テキスト分析ソフトの使用は、主観や見落としを防止する。二つの用語が頻繁に近接すること、代名詞や前置詞の使い方、語彙の豊富さや貧弱さ、テキスト間の距離など、人が自明としてしまい読めていない傾向を浮かび上がらせる。そのためにはコーパスの構築が不可欠で、そのコーパスはソフトウェアの有意性検定にかける。

・数量的手法には過失や改竄の危険性が伴うが、数量的手法をとるということは、選択や手順を明確にしないといけない。仮説を明示し、その限界も考慮されないといけない。これらの前提が明示されるので、他の研究者がアプローチできるという意味で利点である。歴史学における直感や創造性を制限するものではなく、むしろ刺激することにつながると考えている。

ーーー


一読して得た知見をメモしましたが、前提知識が足らず、主に後半部は消化不良となりました。最低限、歴史学に携わるものとしてカイ二乗検定を扱えるようになりたいと思いますが、さらなる基礎学習の必要を痛感しました。

そこで、統計学の手始めの書を求めて次の本へ移りました。


中原治『基礎から学ぶ統計学』(羊土社 2022年)

しかし、p.9で本書の前提知識が示され、高校数学で学ぶ「確率」「場合の数」「数列」の知識が必要である旨が書いてありました。

あくまで基礎でよいとのことですが、私は高校2年生以降数学を学んでいない人間なので、ここで高校数学の学び直しを迫られました。こうやって、過去に逃げたことのツケをいつか払うことになるわけです。

実際に本書を読み始め、p.35の二項分布の節で数式が増えてきて足踏みしてしまいました。いったんここまでです。


ということで、統計学の前に数学A、数学Bまで立ち戻って学び直しています。テキストを手にしてまだ序盤も序盤ですが、はたしてどこまで理解できるやら。ハラハラしながら1ページずつ自学しています。

遠回りなことをしているように見えるかもしれませんが、最終的にたどりつきたいゴールがあります。そのために必要な知識にしばらく向き合っていきます。