まえがき

ふられてしまったので、Nature神論文についてのメモ書きです。あくまで解析コードについてのメモ書きということで。内容についても思うところはたくさんありますが、それは本業とも関係するので、また別のどこかで。

論文はこちら

Whitehouse, H., François, P., Savage, P. E., Currie, T. E., Feeney, K. C., Cioni, E., Purcell, R., Ross, R. M., Larson, J., Baines, J., ter Haar, B., Covey, A., Turchin, P. (2019). Complex societies precede moralizing gods throughout world history. Nature.

コードはgithubに上がっています。

https://github.com/pesavage/moralizing-gods

このドキュメントでは、 https://github.com/pesavage/moralizing-gods/commit/28794692f2615bfdedcf037b186bd8d5e54c10b4 このコミットを使ってます。

コピーライト関連

CC By-NC SA License

Copyright (c) 2018 Peter Turchin and Patrick E. Savage

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software under the conditions of Creative Commons Attribution Non-Commercial (CC By-NC SA) licensing (https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode), subject to the following conditions:

Please include the following text in any publication using these data:

This research employed data from the Seshat Databank (seshatdatabank.info) under Creative Commons Attribution Non-Commercial (CC By-NC SA) licensing (https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode).

and cite:

Whitehouse, Francois, Savage, et al. (2019) Complex societies precede moralizing gods throughout world history. Nature.

Turchin, P. et al. (2018) Quantitative historical analysis uncovers a single dimension of complexity that structures global variation in human social organization. Proc. Natl. Acad. Sci. U. S. A. 115, E144-E151 .

Turchin, P. (2018) Fitting dynamical regression models to Seshat data. Cliodynamics 9(1):25-58 .

Turchin P. et al. 2015. Seshat: The Global History Databank. Cliodynamics 6(1):77-107.

The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official positions, either expressed or implied, of the Seshat Databank, its collaborative scholarly community, or the Evolution Institute.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

本ドキュメントもCC By-NC SAになります。

解析の手順

!MoralizingGods.R

  • メインは!MoralizingGods.Rというファイル。
  • NatureのSuplのデータはexportdat.csv(seshatからのもの)。
  1. precheck.r: 下処理とデータ整合性チェック。生データから必要な部分を抽出したり、コード化したり。SCdat.csvというのができます。これ大事(social complexity)。
  2. !MoralizingGods.R#L51-L126 でスクレイピング。
    • 途中で、social complexityに関わるデータ(多分)のための欠損値処理をしてます。多重代入法(多分)ですね。
    • source("ConstrMI.R"), source("AggrMI.R"), source("ImputeMI.R")あたり。このあたりの中身はまだ細かくは見てません。
    • 生データ(時間のデータ形式がある地域、ある時代の開始と終了)が、100年単位の時系列データになるわけですが、それはここで処理されてます。
  3. !MoralizingGods.R#L129-L186 Social ComplexityのためのPCA。
    • 本文中に書いてありますが、PCAの妥当性はこの研究のキモなので、いろいろ試してるみたいです。コードを書き換えて試します。詳細はgithubのREADME.mdに書いてあるとおり。
    • 多重代入法に応じて20回分のPCAやってます。
    • そのスコアの平均値(を[0, 1]でnormalizeしたもの)をSocial Complexityとして使います。
    • 要するに、ある地域のある時期(100年単位)のSocial Complexityが計算されてます。
  4. !MoralizingGods.R#L190-L214 PCAの図が出てきますが、Suplにも見当たらなかった気がする。こんな感じです。
  5. !MoralizingGods.R#L216-L228: PCAスコアと地域、緯度経度などマージ。
  6. source("BigGodAnalysesEditedV2.R")ここで神信仰のタイミングとか計算(後述)。
  7. source("RegrDat.R") ロジスティック回帰のためのデータづくり。メソッドに乗ってるロジスティックモデルの各項を作ってます。
  8. !MoralizingGods.R#L237-L241: ロジスティック回帰。
  9. その後は地図(Fig. 1のやつ)

BigGodAnalysesEditedV2.R

最初の方はrateの計算。以下の手順。

  1. 最初から神出現まで、神出現から最後までのSC(Social complexity)上昇率をrateとして計算。
    • for(i in 1:length(NGAs))のループの中で、地域を抜き出す
    • その地域の最初と最後の時期を抜き出す。
    • MoralisingGods=="1"となる最初の時期を「神出現時期」
    1. BigGodAnalysesEditedV2.R#L13-L31: 全期間で。
    2. BigGodAnalysesEditedV2.R#L35-L69: 神出現を中心に、〜2000年まで100年単位で時間窓を広げる。各地域に付き(最大)40サンプルになる。
    3. BigGodAnalysesEditedV2.R#L71-86: ↑の指標を検定したり可視化したり。論文中のrateのpre vs. post(自由度199のやつ)はこれ。Fig 2bのヒストグラムもここ。
    4. BigGodAnalysesEditedV2.R#L88-148: 時間窓ごとに検定したり、儀式タイミングとの比較
  2. SC/神出現/儀式出現をプロット
    1. BigGodAnalysesEditedV2.R#L150-180: 神出現を0として時間軸を地域間でノーマライズ。
    2. BigGodAnalysesEditedV2.R#L182-238: Fig. 2aの図。
    3. その後は、地域ごとのプロット(Extended Data Fig. 1)

RegrDat.Rについては、また今度ということで(こっちは特にややこしいことはないと思う)。

ノート

余談

今回使われてるseshatデータの中に日本(Kansai)があります。弥生時代から始まって、古墳時代、飛鳥時代と続きます。弥生・古墳は儀式はありで、神はなし。飛鳥時代に神出現です。日本のSCだけ抜き出しておきました(Extended Data Fig. 1のもの)。

横軸は西暦、先は社会の複雑性、青は儀式開始、赤は神出現。

ローカルな儀礼は弥生時代からあった。古墳時代に、社会の複雑性が一気に上がって、飛鳥時代に神出現、というストーリーが浮かびます。真実だったかどうかは置いといて、こういった新しいアプローチで、いろいろなものの再解釈が進んでいって、より精度の高い推定が行えるようになる、というのがいいですね。