学習の進め方: Jupyter notebook対応のファイルをダウンロードし、 Jupyter notebookを起動したあと、ウェブ上で作業します。 作業結果はすべてその(ウェブ)ページに残りますので、 その ipynb ファイルやそれから作成されたHTMLファイルをレポートとして毎回提出します。

講義スケジュール

  1. 第1回(9月26日) 主な内容: Jupyter notebookの使い方、Pythonの概要, レポートについて
    注意: Pythonではコメントの始まり記号は # です。(プログラミング言語Cとは異なり)//ではありません(エラーになります)
    レポートに現れた質問とその回答: (参考: Note4Chapter1.ipynb)
  2. 第2回(10月3日): 主な内容: Jupyter notebookの使い方、Pythonの概要, 特にクラスと関数について
    レポートに現れた質問とその回答: (参考: Note4Chapter1App.ipynb)
  3. 第3-4回(10月10, 17日): モジュールの使い方、特に Numpy, Scipy, Matplotlibモジュールについて学習します。
    レポートに現れた質問と回答:
  4. 第5回(10月24日): Pandasモジュールと「記述統計」について学習します。
    レポートの質問と回答:(添付資料はこれ)
  5. 第6回(10月31日): Pandasモジュールと「記述統計」について学習します。
    レポートの質問と回答(下における添付資料とはこれ)
  6. 第7, 8回(11月7日, 14日): 確率について学びます
    資料: Pythonで確率を学ぶ, Jupyter notebook
    レポートの質問と回答
  7. 第9 ,10回(11月21日, 28日): 確率分布について学びます
    参考: 確率分布の解説(Paiza)
    資料: Pythonで確率分布を学ぶ, Jupyter notebook (Intro2ProbDistri.ipynb)
    レポートの質問と回答
  8. 第11回(12月5日): 統計的推定
    ウェブページ, Notebook
    レポートの質問と回答
  9. 第12,13回(12月12, 19日): 統計的検定
    ウェブページ, Notebook
    検定の続き, Notebook(最終課題)
    レポートの質問と回答 * 気づいた問題点:
    1. べき乗計算(今回は平方根を求める計算)を x**a と書きます。例えば2の平方根は 2**0.5 となります。
      今回、検定統計量の計算でよく出てきた式は
      (標本平均 - 母平均)/(分散/標本サイズ)**0.5
      という式でした。ここで、次のように書いた人が複数人います。
      ケース1. (標本平均 - 母平均)/(分散/標本サイズ**0.5) 閉じカッコの位置に注意
      つまり、本当の式では分母は、(分散/標本サイズ)**0.5  なのですが、この人たちの計算は「分散/標本サイズ**0.5 」となっているのです。ここで重要なポイント。べき乗計算(**)は掛け算(/)よりも結合力が強い、ということです。結合力とは、 a+b*c の計算で*の計算が+の計算よりも「前」に行われます。これは*の結合力が+よりも強いから、と説明されます。
      ということで、 分散/標本サイズ**0.5 の計算は、カッコを使うと 分散/(標本サイズ**0.5 )という計算が行われてしまうのです。したがって間違い、となります。べき乗の演算子はプログラミング言語Cにはないものなので慣れていなかったためでしょうね。でもRやRubyやJavaなどにはある(ただし記号は**ではなく^のものものある)ので、注意しましょう。
      ケース2。 標本平均 - 母平均/(分散/標本サイズ)**0.5 分子に注意
      小学校の時に習ったように、-の結合力は割り算/よりも弱いです。したがって、この式はカッコを使うと
      標本平均 - (母平均/(分散/標本サイズ)**0.5 )
      と計算されます。これはどんなプログラミング言語でも同じ規則なので、注意しましょう。
    2. 計算してはいるがどれが大事な値なのか、また結論は何か、書かない人が多い
      検定統計量の実現値を求めるところまでは多くの人ができていました。そこからが問題です。検定統計量の実現値からp値を求めて、有意水準と比較して、帰無仮説が採択されるのか棄却されるのか(同じことですが、対立仮説が棄却されるのか、採択されるのか)ができていない人が多かったです。今回復習しますので、確認してください。
    * 質問/気づいたこと2
    1. Pythonを勉強するための参考書を教えてほしい
      回答:どんなプログラミング言語でも何かを作る、という目的がないと難しいものです。ウェブでも良い教材がありますが、人によってわかりやすさは異なります(料理と同じーわたしが美味しいと思う料理は必ずしも他の人も美味しいとは思わないかもしれない)。
      辻ら (2019) Python3スキルアップ教科書. 技術評論社
      は問題形式で学んでいくので飽きが来ないかも。 また、
      廣瀬 (2019) Pythonでつくるゲーム開発. ソーテック
      は割と本格的なゲームを作るもので、ゲーム好きにはよいでしょう。
    2. 気づいたこと。
      1. 例えば 2.32100000e-05 というように答えがでた場合、かなりの人が 2.321と思っていました。最後のe-05を無視していたのです。ところが、このe-05は10の-5乗を意味します。ですから、2.321ではなく、0.00002321を意味します。このため大事なところで結論が間違う人がいました。
      2. 結論を書くのが大事、と注意しました(はずでした)が、計算式しか示さない人、根拠をしめさずに「帰無仮説は棄却」としか書かない人などがいました。結論を書けとはいっても根拠は必要ですし、根拠だけ示す(数値だけをかく)のでは何が結論かは明らかではありません。また単に「棄却された」と書く人もいました。主語によっては結論が変わります。ちゃんと主語を書くようにしましょう。これは卒業論文を書くときにも注意されることになるでしょう。
      3. Pythonコードではなく普通の文章でもコードセルに書いている人が多くいました。特に理由がないのでしたら、そのセルをMarkdownに変更してください(マウスでセルをクリックしMを入力しても変更できます)。
  10. 第14回(1月9日): 機械学習(教師あり)
  11. 第15回(1月16日): 前回の復習とまとめ