oTreeではじめる社会科学実験入門 - Pythonのインストールから実験の実施まで -
オンライン上での調査やプレイヤー同士のインタラクションのある実験をしたい方へおすすめ
- ジャンル
- 発行年月日
- 2024/12/27
- 判型
- A5
- ページ数
- 232ページ
- ISBN
- 978-4-339-02948-2
- 内容紹介
- まえがき
- 目次
- レビュー
- 広告掲載情報
【書籍の特徴】
本書は,国内で(おそらく)初めての「社会科学におけるプレイヤー同士のインタラクションのある実験研究を行うために,ソフトウェアのインストールからプログラミング,そして実験の実施方法までを紹介する」書籍です。
PythonやoTreeなどのツールを使用した実験設計の基本から応用までを解説するとともに,具体的な実験の設計までをカバーしています。これにより,実験の手法が広く知られ,より多くの研究者や学生が実験をできるようになることを目指しています。さらには,だれしもが実験を行いやすくなるようにすることで,この分野の発展に寄与し,社会科学の研究方法として実験的アプローチがより広く受け入れられるようにすることも目指しています。
さぁ,一緒に実験しましょう!
(oTreeについてはこちらの記事もご参考ください:「oTreeとは?」)
【読者対象】
おもに以下のような読者を想定しています。
・社会科学における「実験」に興味のある学部生・院生・研究者
・オンライン上で調査や実験を実施する必要がある学部生・院生・研究者
・とにかく!どうしても!!卒業研究や修論・博論で実験を行いたいけどやり方がわからなくて困って,切羽詰まっている学部生・院生
【各章の概要】
1章:社会科学における実験の意義と実験研究の概要,さらに実験の手続きについて紹介します。
2章:oTreeの基本的な考え方と基本的な用語について紹介します。
3章:はじめてのプログラム作成としてアンケートを作成します。さらに,必要な表記を日本語で表示できるようにします。
4章:oTreeの画面の見方を紹介します。あわせて,実験実施に必要なテクニックを紹介します。
5章:インタラクションのある実験の基礎として公共財ゲーム実験を作成します。あわせて,プレイヤーのマッチング手法についても紹介します。
6章:独裁者ゲーム実験を作成します。さらに,実験の中にコミュニケーション機能としてチャットを入れる方法を紹介します。
7章:最終提案ゲーム実験を作成します。あわせて,時間制約のある実験およびさまざまな入力方法について紹介します。
8章:信頼ゲーム実験を作成します。さらに,結果の表示方法の工夫の仕方についても紹介します。
9章:おもにラボ実験およびオンライン実験での課題と検討すべき項目,そして今後の研究の展望について論じます。
付録:PythonおよびVisual Studio Codeのインストール方法,サーバの立ち上げに必要な設定,oTreeの基礎となるPythonやHTMLテンプレートの書き方などを紹介しています。
【キーワード】
oTree,Python,オンライン実験,ラボ実験,バーチャルラボ実験,オンラインラボ実験,クラウドソーシング実験
本書は,社会科学における実験研究を行うために,PythonやVisual Studio Codeのインストールから実験の実施までを紹介する書籍です。経済ゲーム実験などに用いられるoTreeというライブラリを用いて,実験プログラムを作りながら社会科学におけるオンライン実験の方法と意義およびその課題について紹介します。
昨今では,心理学領域だけではなく,その他の社会科学においても実験を使った研究が多く行われるようになってきました。構造や仕組みの影響を明らかにするという観点から,さまざまな社会科学研究においてもその有用性が認められつつあり,「実験」という手法が大きな期待を受けていることの証拠でしょう。
多くの社会科学者にとって「実験」や「実験のためのプログラミング」はツールにしか過ぎないでしょう。しかし,当たり前ですがツールは使い方を知らなければ使いようがありません。それにもかかわらず,現状ではこのツールの使い方を学ぶ機会がほとんどありません。
このような社会科学における実験研究の手法は,研究室ごとに一種の「秘伝のタレ」のように脈々と受け継がれているものであったように思います。研究室に先輩がいなかったり,周りに同じような研究をしているような先輩や仲間がいなかったら実験の手法を学びようがないものでした。筆者も大変苦労をした覚えがあります。
筆者は現在,クラウドソーシングを用いた実験をよく行っているのですが,クラウドソーシング実験を始めたのは,初めて大学に着任したときのことでした。最初に情報系教員として勤めた大学は,非常に良い教育環境ではありましたが,たくさんの実験参加者を確保することは困難でした。また,研究費も外部資金をなかなか確保できず,新たな研究の方策として思いついたのがオンライン実験,特にクラウドソーシングを用いた実験でした。当時,海外ではクラウドソーシングを使った経済ゲーム実験も盛んに行われていたのですが,日本国内で行われた実験はほとんどなかったように思います。それがいまではコロナ禍の影響もあり多くの実験が行われるようになってきました。
本書は,国内で(おそらく世界でも?)初めての「社会科学におけるプレイヤー同士のインタラクションのある実験研究を行うために,ソフトウェアのインストールからプログラミング,そして実験の実施方法までを紹介する」書籍です。社会科学における実験研究の面白さや,その重要性を指摘する本はたくさんありますが,プレイヤー同士のインタラクションのある経済ゲーム実験のような研究に関するテキストは,筆者が知る限り皆無です。本書によって,そのような現状に一石を投じたいと思います。本書をきっかけに,日本国内においても社会科学における実験研究が活発に行われるようになることを願っています。そして,本書を読んで実際に実験をしてみよう!と思われる方が増えたら,大変嬉しく思います。
【本書の狙い】
実験に興味のある社会科学の研究者や学生に対して,社会科学において実験を行うとはどのようなことなのか,そして,どのようにすれば実験を行えるのか実際のプログラミングを含めて理解してもらうことが本書の目的です。本書では,Pythonのライブラリの一つであるoTreeを使用した実験設計の基本から応用までを解説するとともに,具体的な実験の設計までをカバーしています。
これにより,実験の手法が広く知られ,より多くの研究者や学生が実験をできるようにすることを目指しています。さらには,だれしもが実験を行えるようにすることで,この分野の発展に寄与し,社会科学の研究方法として実験的アプローチがより広く受け入れられるようにすることも目指しています。特に,高校でプログラミングが必修になっているいま,Pythonに触れたことがある方も増えているかと思います。プログラミング技術を文系の学問ではどのように活用するのか,その一例になると考えています。
【本書の読み方・使い方】
1章では社会科学における実験の意義を紹介し,2章からはoTreeについて学んでいきます。3章および5~8章は実際に実験プログラムを作成し,4章ではoTreeの画面の見方を紹介します。実際に手を動かしながら学んでいきましょう。9章では,おもにラボ実験およびオンライン実験での課題と考慮すべき項目について論じています。手っ取り早く技術的なことだけを学びたい方は,2~8章だけを読んでいただくと良いかと思いますが,全体像を理解するために1章から順番に読み進めていただくのがベストだと思います。
また,初心者でもわかりやすいように,付録にはoTreeだけでなく,Pythonのインストールの仕方や基本的なプログラミング方法のほか,オンライン実験のためのサーバの準備方法についても紹介しています。適宜付録も参照しながら読み進めてください。
【想定する読者】
おもに以下のような読者を想定しています。
・社会科学における「実験」に興味のある学部生・院生・研究者
・オンライン上で調査や実験を実施する必要がある学部生・院生・研究者
・とにかく!どうしても!!卒業研究や修論・博論で実験を行いたいけれどやり方がわからなくて困って,切羽詰まっている学部生・院生
基本的に,文系の学部1~2年生でもoTreeによる実験を作成できるように執筆しており,「最低限の実験の実施」に必要ない技術については大幅に割愛しています。逆に,この本では「最低限の実験の実施」に必要な技術・知識は紹介できているはずです。不十分な点についてはその他の技術書などを参考にしてください。
2024年10月
著者
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 oTreeにおける関数の扱い方
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
引用・参考文献
おわりに
索引
読者モニターレビュー【 Kotora 様(業界・専門分野:知識科学)】
社会人学生になって最初にぶつかった壁が、調査とその分析方法でした。学士課程では社会科学とはまったく別の分野を学んでいたので、データの集め方や分析の仕方が全然分からず、何から手をつければいいのか迷うばかり。講義やゼミで雰囲気は掴めても、自分の研究にどう活かすかまでにはいたりません。
そのような私にとって本書は、実験のやり方やその意義を知るだけではなく、実験設計の全体像を理解する手助けをしてくれる内容となっています。 オンライン実験特有の注意点や工夫についても触れてあり、オンライン実験の意義から、実際のやり方、さらには応用までが丁寧に解説されています。oTreeに関する情報は公式チュートリアルやブログでも手に入りますが、一冊にまとまっていることの強みを感じました。
また、Python初心者や環境設定に不慣れな人でも対応できるよう、ある程度詳しく書かれているのも私にとって大きな魅力でした。自分で調べながら進められるような配慮が随所に感じられますし、公式ホームページなどでのフォローアップも今後期待できそうです。
社会科学の実験やオンライン調査に興味がある人にとって、大きな味方になってくれる本書。特に、実験経験が少ない方や初心者には、研究を形にしていくための道筋を示してくれる一冊だと思います。
読者モニターレビュー【 Manny-Lab 様(業界・専門分野:公設試験研究機関・機械 > 学習や深層学習を用いた統計モデリング)】
本書の特徴を、一言でまとめるとすれば「oTreeを利用したいとき、最初の最初に読むべき本」と言えます。
最初にお断りすると、評者の専門は、社会科学系では「ありません」。これまで、時系列データを中心に、機械学習や深層学習を用いた統計モデリングに従事してきました。その延長線上で、社会科学実験の存在を知り、興味を持ったところです。
このような評者が感じた、本書の特徴は大きく3つあります。
(1)社会科学実験の「概要から注意点まで」を含めた初心者向けの記載が詳しい。
(2)手を動かして実験をするための「実践的な事例」が複数記載されていて楽しい。
(3)筆者のこれまでの実践上の「ノウハウ」が細々と書かれているので助かります。
社会科学実験初心者の評者にとっては、(1)のように記載があることは非常に嬉しいです。興味を持ったテーマとしても、勘所が掴めなくて何から手を付けて良いか分からない中で、この本があれば最初の一歩を十分に始められるのは最高です。(2)、(3)は、実践するうえでは言わずもがなの記載で、これも満足させて頂きました。
最後に、本書後の今後の要望を、幾つかあげさせて頂きたいと思います。まずは、oTreeのアドバンスドな解説が欲しいです。評者個人としては、ボットを使った事例が知りたいです。二つ目は、付録でクラウドを利用した説明があります。「クラウド破産」という言葉もあるように、クラウド利用には注意も必要です。是非、料金などを含めて、様々なクラウドでの事例提供を増やして頂きたいと思います。
以上のような、初心者向けの特徴や今後の展開への期待も含めて、非常に価値の高い一冊になっている本です。是非、お勧めいたします。
読者モニターレビュー【 中田 星矢 様 東京大学(業界・専門分野:社会心理学)】
本書は、oTreeを用いて社会科学実験を実施するための、実践的な解説書です。
1章や9章では社会科学実験の概観のみならず、実際に実験をする際に注意すべき点や、プレレジ・レジレポについても紹介されています。参考文献も挙げられているので、社会科学における実験研究について学びたい方には有用な導入となるでしょう。
メインの内容であるoTreeの基本的な使い方については、もちろん公式レファレンスで学ぶこともできますが、本書では参加者間マッチングの具体的な方法、作成した実験をサーバへアップする方法、プログラミングのための環境構築など、初学者がつまずきやすそうなポイントも押さえています。
実際に実験プログラムを作成していると本書だけでは解決できないトラブルにも直面するでしょう。そんなときに、oTreeのtipsをどうやって検索したらいいのかという情報も書かれています。さらに学びたい方は、著者によるサポートページも参照するとよいでしょう。
非常に教育的な書籍ですので、oTreeを用いた社会科学実験の基本を学びたい人、教えたい人におすすめです。
-
掲載日:2024/12/01
-
掲載日:2024/10/15
-
掲載日:2024/10/08
★YouTube 高岸治人チャンネル@harutotakagish
高岸治人先生に本書紹介動画を制作いただきました!ありがとうございます!
関連資料(一般)
- ●本書のサポートページ●