oTreeではじめる社会科学実験入門 - Pythonのインストールから実験の実施まで -

oTreeではじめる社会科学実験入門 - Pythonのインストールから実験の実施まで -

オンライン上での調査やプレイヤー同士のインタラクションのある実験をしたい方へおすすめ

ジャンル
発行予定日
2024/12/上旬
判型
A5
予定ページ数
232ページ
ISBN
978-4-339-02948-2
oTreeではじめる社会科学実験入門 - Pythonのインストールから実験の実施まで -
近刊

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • 著者紹介

【書籍の特徴】
本書は,国内で(おそらく)初めての「社会科学におけるプレイヤー同士のインタラクションのある実験研究を行うために,ソフトウェアのインストールからプログラミング,そして実験の実施方法までを紹介する」書籍です。
PythonやoTreeなどのツールを使用した実験設計の基本から応用までを解説するとともに,具体的な実験の設計までをカバーしています。これにより,実験の手法が広く知られ,より多くの研究者や学生が実験をできるようになることを目指しています。さらには,だれしもが実験を行いやすくなるようにすることで,この分野の発展に寄与し,社会科学の研究方法として実験的アプローチがより広く受け入れられるようにすることも目指しています。
さぁ,一緒に実験しましょう!
(oTreeについてはこちらの記事もご参考ください:「oTreeとは?」)

【読者対象】
おもに以下のような読者を想定しています。
・社会科学における「実験」に興味のある学部生・院生・研究者
・オンライン上で調査や実験を実施する必要がある学部生・院生・研究者
・とにかく!どうしても!!卒業研究や修論・博論で実験を行いたいけどやり方がわからなくて困って,切羽詰まっている学部生・院生

【各章の概要】
1章:社会科学における実験の意義と実験研究の概要,さらに実験の手続きについて紹介します。
2章:oTreeの基本的な考え方と基本的な用語について紹介します。
3章:はじめてのプログラム作成としてアンケートを作成します。さらに,必要な表記を日本語で表示できるようにします。
4章:oTreeの画面の見方を紹介します。あわせて,実験実施に必要なテクニックを紹介します。
5章:インタラクションのある実験の基礎として公共財ゲーム実験を作成します。あわせて,プレイヤーのマッチング手法についても紹介します。
6章:独裁者ゲーム実験を作成します。さらに,実験の中にコミュニケーション機能としてチャットを入れる方法を紹介します。
7章:最終提案ゲーム実験を作成します。あわせて,時間制約のある実験およびさまざまな入力方法について紹介します。
8章:信頼ゲーム実験を作成します。さらに,結果の表示方法の工夫の仕方についても紹介します。
9章:おもにラボ実験およびオンライン実験での課題と検討すべき項目,そして今後の研究の展望について論じます。
付録:PythonおよびVisual Studio Codeのインストール方法,サーバの立ち上げに必要な設定,oTreeの基礎となるPythonやHTMLテンプレートの書き方などを紹介しています。

【キーワード】
oTree,Python,オンライン実験,ラボ実験,バーチャルラボ実験,オンラインラボ実験,クラウドソーシング実験

☆発行前情報のため,一部変更となる場合がございます
 
本書は,社会科学における実験研究を行うために,ソフトウェアのインストールから実験の実施までを紹介する書籍です。oTree(https://www.otree.org/)と呼ばれる経済ゲーム実験などに用いられるプログラムを用いながら社会科学におけるオンライン実験の方法と意義およびその課題について紹介していきます。

昨今では,心理学領域だけではなく,その他の社会科学においても実験を使った研究が多く行われるようになってきました。構造や仕組みの影響を明らかにするという観点から,さまざまな社会科学研究においてもその有用性が認められるようになり,「実験」という手法が大きな期待を受けていることの証拠でしょう。

多くの社会科学者にとって「実験」や「実験のためのプログラミング」はツールにしか過ぎないかもしれません。しかし,当たり前ですがツールは使い方を知らなければ使いようがありません。それにもかかわらず,このツールの使い方を学ぶ機会がほとんどないのが現状です。

従来は,このような社会科学における実験研究に関わる手法は広く公開されているものではありませんでした。研究室ごとに一種の「秘伝のタレ」のように脈々と受け継がれているものであったように思います。研究室に先輩がいなかったり,周りに同じような研究をしているような先輩や仲間がいなかったら実験の手法を学びようがないものでした。

また,筆者は現在,クラウドソーシングを用いた実験をよく行っているのですが,クラウドソーシング実験をはじめたきっかけは,初めて着任した大学でした。最初に情報系教員として勤めた大学は,非常に良い教育環境ではありましたが,たくさんの実験参加者を確保することは困難でした。また,研究費も外部資金をなかなか確保できず,新たな研究の方策として思いついたのがオンライン実験,特にクラウドソーシングを用いた実験の可能性でした。当時,海外ではクラウドソーシングを使った経済ゲーム実験も複数行われていたのですが,日本国内で行われた実験はほとんどなかったように思います。それが今ではコロナ禍の影響もあり非常に多くの実験が行われるようになってきました。

しかしながら,社会科学におけるラボ実験や,心理学を含めてオンライン実験の手法について整理を試みているテキストや,技術的な知見をまとめたテキストは多くありません。特に,プレイヤー同士のインタラクションのある経済ゲーム実験のような研究については,筆者が知る限り皆無ではないでしょうか。本書では,そのような現状に一石を投じたいと思います。

本書は,国内で(おそらく)初めての「社会科学におけるプレイヤー同士のインタラクションのある実験研究を行うために,ソフトウェアのインストールからプログラミング,そして実験の実施方法までを紹介する」書籍です。社会科学における実験研究の面白さや,その重要性を指摘する本はたくさんありますが,実際にどのように実験を行うのか,そのプログラムの方法までを説明した本はいままでのところ,国内にはないはずです。本書をきっかけに,日本国内においても社会科学における実験研究が活発に行われるようになることを願っています。そして,この本を読んで実際に実験をしてみよう!と思われる方が増えたら,大変嬉しく思います。

【本書の狙い】
実験に興味のある社会科学の研究者や学生に対して,社会科学において実験を行うとはどのようなことなのか,そして,実験はどのようにすれば行えるのか実際に作成するプログラミングを含めて学ぶことが目的です。本書では,PythonやoTreeなどのツールを使用した実験設計の基本から応用までを解説するとともに,具体的な実験の設計までをカバーしています(さらには,サポートサイトまでを見てもらうと,サーバの立ち上げまで行うことができます)。

これにより,実験の手法が広く知られ,より多くの研究者や学生が実験をできるようにすることを目指しています。さらには,だれしもが実験を行いやすくなるようにすることで,この分野の発展に寄与し,社会科学の研究方法として実験的アプローチがより広く受け入れられるようにすることも目指しています。特に,高校でプログラミングが必修になっている今,Pythonに触れたことがある人も増えているかと思います。そのようなプログラミング技術を文系の学問ではどのように活用するのか,その一例になると考えています。

【本書の読み方・使い方】
1章では社会科学における実験の意義を紹介し,2章からはoTreeについて学んでいきます。3章および5章から8章までは実際に実験プログラムを作成し,4章ではoTreeの画面の見方を紹介します。実際に手を動かしながら学んでいきましょう。9章では,おもにラボ実験およびオンライン実験での課題と検討すべき項目について論じています。手っ取り早く技術的なことだけを学びたいという方は,2章から8章だけを読んでいただくと良いかと思いますが,全体像を理解するために1章から9章までを順番に読み進めていっていただくのがベストだと思います。

また,初心者の方でもわかりやすいように,付録にはoTreeだけでなく,Pythonのインストールの仕方や基本的なプログラミング方法のほか,オンライン実験のためのサーバの準備方法についても紹介しています。

【想定する読者】
おもに以下のような読者を想定しています。
・社会科学における「実験」に興味のある学部生・院生・研究者
・オンライン上で調査や実験を実施する必要がある学部生・院生・研究者
・とにかく!どうしても!!卒業研究や修論・博論で実験を行いたいけどやり方がわからなくて困って,切羽詰まっている学部生・院生
基本的に,文系の学部1~2 年生でもoTreeによる実験を作成できるように執筆しており,最低限度の実験の実施に支障がない技術については大幅に割愛しています。逆に,この本では「最低限度の実験の実施」のための内容は紹介できているつもりです。不十分な点についてはその他の技術書などを参考にしてみてください。

2024年7月
著者

☆発行前情報のため,一部変更となる場合がございます

1. 社会科学における実験とは
1.1 社会科学における実験の意義
 1.1.1 経済学と実験
 1.1.2 価値誘発理論
 1.1.3 経済学における実験の意義
1.2 ランダム化比較試験
1.3 経済実験と成果報酬
1.4 実験の分類
 1.4.1 人工的な空間-現実的な空間
 1.4.2 対面実施-遠隔実施
 1.4.3 本書のターゲット
1.5 一般的な実験の流れ
 1.5.1 事前準備
 1.5.2 本番
 1.5.3 事後整理
 1.5.4 事前説明について

2. oTreeとは
2.1 oTreeでできること
2.2 プログラム環境
 2.2.1 oTreeを用いた実験のためのスキル
 2.2.2 本書では触れないこと
2.3 oTreeの概要
 2.3.1 oTreeとは
 2.3.2 oTreeの考え方
2.4 本書における用語
 2.4.1 研究と実験
 2.4.2 セッション,サブセッション,アプリ
 2.4.3 パティシパント,プレイヤー
2.5 oTreeのインストール
 2.5.1 プロジェクトの作成
 2.5.2 プロジェクトフォルダの作成
 2.5.3 サーバとして起動
2.6 プログラム作成の流れ
 2.6.1 デフォルトのアプリを見てみよう
 2.6.2 プログラムを作成する時の手順
 2.6.3 __init__.pyファイルにおけるMODELSパートの設計
 2.6.4 htmlファイルの作成
 2.6.5 __init__.pyファイルにおけるPAGESパートの設計

3. アンケートを作ってみよう-基本と表記の日本語化-
3.1 これから作成する実験プログラムの概要
 3.1.1 MODELSの定義
 3.1.2 htmlファイルの定義
 3.1.3 PAGESの定義
 3.1.4 SESSION˙CONFIGSの定義
 3.1.5 動作の確認  
3.2 表記の日本語化
章末問題 
すべてのプログラム

4. 画面の見方
4.1 oTree全体の画面構成
 4.1.1 デモ画面(Demo)
 4.1.2 セッション画面(Sessions)
 4.1.3 ルーム画面(Rooms)
 4.1.4 データ画面(Data)
 4.1.5 サーバチェック画面(Server Check)
4.2 個別セッション・アプリでの画面構成
 4.2.1 更新画面(New)
 4.2.2 リンク画面(Links)
 4.2.3 モニター画面(Monitor)
 4.2.4 データ画面(Data)
 4.2.5 支払い情報画面(Payments)
 4.2.6 記述画面(Description)
4.3 Roomsの設定
 4.3.1 _roomsフォルダの作成
 4.3.2 labelファイルの設定
 4.3.3 settings.pyの設定
 4.3.4 実験実施時の利用方法

5. 公共財ゲーム実験を作ろう-インタラクションのある実験の基礎-
5.1 公共財ゲームの概要
5.2 これから作成する実験プログラムの概要
5.3 アプリ作成の手順
 5.3.1 MODELSの定義
 5.3.2 htmlファイルの定義 
 5.3.3 PAGESの定義
 5.3.4 SESSION˙CONFIGSの定義
 5.3.5 動作の確認
5.4 ゲーム実験のマッチング
 5.4.1 パートナーマッチング
 5.4.2 ストレンジャーマッチング
 5.4.3 パーフェクトストレンジャーマッチング
章末問題
すべてのプログラム

6. 独裁者ゲームを作ろう-異なる画面表示とコミュニケーション-
6.1 独裁者ゲームの概要
6.2 これから作成する実験プログラムの概要
6.3 アプリ作成の手順
 6.3.1 MODELSの定義
 6.3.2 htmlファイルの定義
 6.3.3 PAGESの定義
 6.3.4 SESSION˙CONFIGSの定義
 6.3.5 動作の確認
6.4 チャットを導入する
章末問題
すべてのプログラム

7. 最終提案ゲームを作ろう-時間制限とボタン形式による入力-
7.1 最終提案ゲームの概要
7.2 これから作成する実験プログラムの概要
7.3 アプリ作成の手順
 7.3.1 MODELSの定義
 7.3.2 htmlファイルの定義
 7.3.3 PAGESの定義
 7.3.4 SESSION˙CONFIGSの定義
 7.3.5 動作の確認
7.4 ボタン入力の設定
章末問題
すべてのプログラム

8. 信頼ゲームを作ろう-表形式の出力と報酬の表示-
8.1 信頼ゲームの概要
8.2 これから作成する実験プログラムの概要
8.3 アプリ作成の手順
 8.3.1 MODELSの定義
 8.3.2 htmlファイルの定義
 8.3.3 PAGESの定義
 8.3.4 SESSION˙CONFIGSの定義
 8.3.5 動作の確認
8.4 payoffの設定とポイントの扱いについて
章末問題
すべてのプログラム

9. バーチャルラボ実験の課題
9.1 社会科学実験で注意すること
 9.1.1 ラボ実験での留意事項
 9.1.2 オンラインラボ実験での留意事項
 9.1.3 クラウドソーシング実験での留意事項
9.2 バーチャルラボ実験一般に関わる課題
 9.2.1 回答環境のあいまい性
 9.2.2 回答端末の差異
 9.2.3 途中離脱
9.3 実験のモラルと課題
9.4 実験研究のこれから
 9.4.1 実験プログラムの公開
 9.4.2 プレレジストレーション(プレレジ)
 9.4.3 レジストレーションレポート(レジレポ)

付録
A.1 Pythonのインストール
 A.1.1 Windows環境でのインストール
 A.1.2 Mac環境でのインストール
A.2 Visual Studio Codeのインストール
 A.2.1 Windows環境におけるインストール
 A.2.2 Mac環境におけるインストール
A.3 サーバにアップしよう
 A.3.1 サーバの準備
 A.3.2 サーバの設定
A.4 Pythonの基本
 A.4.1 基本的なプログラム
 A.4.2 関数の扱い
A.5 htmlテンプレートの基本
 A.5.1 基礎的なプログラム
 A.5.2 if文を用いた条件分岐
 A.5.3 for文を用いた繰り返し処理
A.6 oTreeにおけるフィールド
 A.6.1 CurrencyField
 A.6.2 IntegerField
 A.6.3 FloatField
 A.6.4 BooleanField
 A.6.5 StringField
 A.6.6 LongStringField
A.7 Q&A:アレがしたい時のチェックリスト
 A.7.1 インストールがうまくいかない
 A.7.2 エラーが出たら最初にするべきこと
 A.7.3 Pythonのバージョンがあわない
 A.7.4 oTreeが入っていない
 A.7.5 db.sqlite3を消してほしい
 A.7.6 関数や変数がないって叱られた
 A.7.7 複数のアプリを続けて実行したい!
 A.7.8 ダウンロードしたデータが文字化けしている
A.8 さまざまなweb技術の活用
 A.8.1 web 解析ツール:mouseflow
 A.8.2 可視化ツール:highcharts
 A.8.3 インタラクティブチュートリアルシステム:intro.js

引用・参考文献
索引

後藤 晶

後藤 晶(ゴトウ アキラ)

学部では社会における政策がうまくいかない理由に興味を持ち,その理由が政策の中に「人間」がいないことにあるのではないかと考えました。それをきっかけに,大学院以降では人間と社会の関係について,行動経済学の観点から研究を進めています。
現在は,主に人間とAIの社会性に関する研究,ナッジに関する研究,オンライン上での人間行動に関する研究を中心に進めています。