プログラミングによる統計計算の実装を演習とする初等統計学教育の試み
2023/03/13 第20回 統計・データサイエンス教育の⽅法論ワークショップ
⻄⼭慧（京都⼤学教育学研究科）

1

⽬次• 問題意識• 実践内容• 学⽣の学び・感想• 考察と課題

2

問題意識

3

⾃⼰紹介
• ⻄⼭慧（にしやまさとる）• 博⼠（教育学）- 教育学研究科で実験⼼理学を専攻• 研究テーマ：記憶（想起・忘却）• ⾮常勤講師として「教育統計学演習」を担当- ⼼理統計学の導⼊講義をすることに4

おそらく⼀般的な⼼理統計学講義• 講義では数式を交えて説明するが• 演習では数式を意識しなくて済む- ソフトウェアを⽤いる演習• 数式の理解はなくとも数クリックで分析可能- プログラミングを⽤いる演習であっても• 「平均は`mean()`を使います」• 「t検定は`t.test()`を使います」（R⾔語の場合）• ⼼理学専攻の学⽣に⽂系が多いことを考慮か- 数学への苦⼿意識が理系よりも⾼いことが多い
6

統計学教育に関する私⾒• よくある演習は実⽤的ではあるが⽂系学⽣は余計数式を避けてしまうのでは？
- p値偏重に繋がる？
- 分析⼿法がソフトウェアの扱う範囲に限定される？

• やはり（ある程度）数式を押さえつつ仕組みを理解するべき- 帰無仮説検定の正しい理解に貢献- 発展的な⼿法の学習の基礎にもなる

7

ある程度数式を押さえる⽅策• 数式をプログラミングコードに書き下す- 計算⼿順が明瞭（プログラミングの理解さえあれば）- 計算それ⾃体は不要なため⼿順に集中できる可能性

8

⾃⾝の講義で採⽤した演習• 統計計算を実装させる演習を採⽤- 計算結果は⽰し動作確認できるようにした- 数式・数学記号とコードの対応が理解できれば，のちの統計学の学習でも同じ⽅策を利⽤できる

9

実践内容
演習⽤ファイルは以下リンクで公開
https://github.com/snishiyama/intro-psych-statsexercises

10

講義の概要• 受講⽣- 国⽴⼤学 教育学専攻の1年⽣28名• 講義形態- スライド講義＋演習（90分/回，15回）- Google Classroomから資料配布・課題提出- 演習はGoogle Colaboratoryを利⽤• Pythonの初期設定が不要- 情報端末室で実施• 持参PCを利⽤する学⽣もいた

11

講義スケジュール回

月日

内容

1106

オリエンテーション

2

13

Pythonの演習（四則演算・変数）

3

20

Pythonの演習（リスト・for文）

4

27

Pythonの演習（関数）・尺度水準

10

データの可視化

6

17

1変数の統計量（平均・標準偏差）724

2変数の統計量（共分散・相関係数）

1

相関係数の注意点（偏相関係数など）

98

推定1：確率・標本抽出1015

推定2：点推定1122

推定3：区間推定12

推定4：差の推定1319

検定1：差の検定

1426

検定2：p値の注意点・サンプルサイズ設計

2

ふりかえりと今後に向けて

58

1215

111212

統計学の内容については前任者と同様かつ⼀般的な⼼理統計学の⼊⾨講義とも⼤差なし

12

講義の流れ• 前回の講義・演習の復習，解説（30分）- 演習の解説では学⽣らの前でコードを書く• その⽇の講義（30分）• 講義内容に関する演習（30分）→ 残りは宿題- 教室を巡回し個別に質問対応- 学⽣同⼠の相談を許可• 提出課題には次回までにフィードバック- 総評・修正点・特筆すべき点
13

課題の⼯夫初出の内容は，いくつかのステップを順に追えば，⽬標の計算ができるようにした。

14

学⽣の学び・感想15収集した成果物• 毎講義で提出させたアンケート- 「理解できたか」など4つの質問- 質問・コメント←今回取り上げるもの• 毎講義で提出させた演習課題• 期末課題- 講義内容全体の復習- 講義に関する振り返り←今回取り上げるもの

16

⽅針に適していた学⽣A
回

内容コメント（抜粋）

データの可視化難しかったです7

2変数の統計量（共分散・相関係数）難しかったが、前回以上に自分の力で取り組めたことが嬉しかった。

8

相関係数の注意点（偏相関係数など）友達にも教えてあげられるぐらい余裕を持って取り組めたので、すごく良かった12

推定4：差の推定

難しそうな数式で書いてあっても、地道にそのまま式を立てたらうまく行きました。

13

検定1：差の検定

全て自分の力で演習をこなすことができた

…
5…

…

最終課題での振り返り
各回の授業を振り返って、今では初期の計算問題やグラフの表⽰は簡単だと思える。⼀⾒すると計算式が複雑な変数の統計量の範囲も、⼀つ⼀つの⼯程を丁寧に⽂字に起こしていけば、答えが出るとわかった時から、⼼のハードルが下がった。⼀⽅で、標準誤差や推定などがいまいち何のための計算なのかをわかっておらず、意図が分からないから難しいと感じる部分もある。

17

最終的に好転した学⽣B
回

内容

コメント（抜粋）

1変数の統計量（平均・標準偏差）

自分で考えて最後まで解いてみたものの数値自体は全く正解と異なっていました。

…
6…
9

何の式を書いたらいいのか、その式が何を表しているのかがやっぱりあんまりよくわかっていません。

…
12

推定4：差の推定

言葉の定義自体をまだふわっとしか理解できていないような気がします。

13

検定1：差の検定

でも今回はいつもよりかは正解できたような気がします。

最終課題での振り返り
全体を通した授業の理解度は段々良い⽅向に向かっていったと思う。毎回の課題で授業の復習に取り組むことで段々わかる内容が増えていったことによってやる気が継続したからだと考える。
時間をかけた分、⾃分の⼒で書くことのできるコードが増えていく感覚が段々楽しさにつながっていったように思える。

18

苦⼿意識を形成した学⽣C, D
最終課題での振り返り
授業の理解度は、はっきりといって、まったく理解できていない。しかし、課題が出されるうちに、⾃分ではできないので友達と協⼒したり友達のを⾒せてもらって取り組むことで、たぶん、平均を出すための式は作れるようになったと思う。各回の授業を振り返って、何も理解できていないので難しいというよりは何もわからないという感じである。

最終課題での振り返り
全15回の授業を通して、平均を求める式が書けるようになりました。5,6回⽬くらいで⼼が折れて意図せず全部誤答で課題を提出したこともありましたが、そのあたりから友⼈が助け⾈を出してくれたので最後まで課題をなんとか提出することができました。最初に⽐べて、統計に対してより難しさを感じるようになりました。元々数学が苦⼿だったからオリエンテーションで嫌な予感はしていましたが、やはりどう頑張っても頭が理解してくれないことが多くだいぶ課題には苦戦しました。

19

考察と課題20

実践結果のまとめ• 多くの学⽣（23/28⼈）が統計学に前向きな姿勢- 「意欲が上がった」「統計に興味を持った」- 数式に臨む姿勢も⾒られた• 「数式を参考にコードを書いた」。ただし数名。

- 演習での成功体験が良いように作⽤したか？

• 理論的な理解まではアプローチしきれず- 前向きな学⽣でも理解の不安を⾔及（8/23⼈）• 「t検定などは未だにわからない気がする」- 講義開始時に演習を配布していたために講義聴取がおろそかになり，理論的な理解が低下した可能性
21

今後の課題• 実践内容の改善- 全ての学⽣がついていけることを⽬標に。

• 実践評価の問題- 最終課題内での報告なので，よく⾒られようという態度が反映されている可能性は否定できない。
- どのように「理解度」を評価するべきか？
• 卒業研究を⾒据えれば，運⽤能⼒が重要• 他の形式の演習との⽐較が必要

22

本実践の限界点• 演習で扱うプログラムは実⽤的ではない- 扱ったPythonの⽂法もほんの⼀部• データの読み込みを扱えていない- 授業内のデモデータはあらかじめ⽤意• データ整形・図の保存も扱えていない23