ゼロから始めるプログラミングの学習日記

未経験の状態からプログラミング初めます

報告:ブログを書いていない間にやったこと

統計ってなんだっけ…?

・統計学の復習

なんとなく「正規性」「等分散性」の確認と「p値」と「有意差」で統計処理している気になっているけれど、なんだっけそれ?というのをもう一度確認する時間を取りました。
「確率変数」から「重回帰分析」まで一気に駆け抜けて『統計学基礎』を確認した形になります。報告でしかないので、内容までは突っ込みませんが…

1) 確率変数ってなんだっけ

とは書いたものの少しだけ。確率変数のうち「あ〜」となったのは、離散型と連続型です。
「あ〜」ってなるなよ、という突っ込みはさておき。
離散型は、サイコロの目が1、2、3、4、5、6と独立しているようにバラバラな数。
連続型は、ある人の体重みたいに58.3 〜 60.2 kgみたいに無限に値を取りうるやつ。
離散型は、確率分布を表にまとめることができるけれど、連続型はグラフになっちゃう。
みたいな感じです。まぁ、あんまり細かく考えなくてもデータはデータです(暴論)。

2) 母集団と標本

母集団と標本はそこまで難しくないですよね。例えば、日本の人口を母集団と捉えて東京の人口を見るみたいな(ちょっと違う気もするけど…)。この場合は、だいたい数字が分かるけれど、自分が職場で扱っているデータは母集団の数は無数にあって、そのうち幾らか取り出してきた標本から母集団の傾向を知ろう、というような感じでした。
なので、仮説検定がメインでした。これは後で書きましょう。

3) 母数ってなんだっけ

母数は、母集団の平均や分散などの傾向のことですね。標本からはそれ自体を知ることができないので「このくらいかなー」と推測することになります。

4) 対応のある・ないと共分散

共分散とは!ちょっと調べりゃ分かるんですが、学生の体重と身長のように対応のあるデータの間の関係を示す数値のことです。対応のあるとは「集団Aに薬を飲ませた時と飲ませる前の血糖値」のような被験者が同じだけど条件が違うパターンみたいなやつです。
「対応のない」でいうと、AさんとBさんの血糖値みたいな全く違う人の同じ条件で得たデータみたいな感じです。

5) 等分散ってなんだよ

等分散ってなんでしょうね。バラツキ具合が一緒って感じですか?正直、よくわかっていないままルビーンだとかバートレットだとか検定にかけて「ほらp値を見てよ。これは対立仮説を採択するんだよ」とか偉そうに言っています。ちなみにRではF検定できたと思いますが、pythonはパッケージにF検定がないのでバートレット一本で戦うことになりそうです(Rからpythonに頑張って乗り換えてみた)。基本的にサンプルサイズの大きい多重比較しかしてこなかったので、だいたいバートレットでした。
ということで、等分散ってのはよくわからないままです(ダメだ!)。
*説明できないだけで本当は少しだけ理解しています。

6) 正規性ってなんだよ

「あ、このヒストグラムを見る限りベルカーブに近いから、正規分布しているね」とか「qqプロットしてみたら直線上に並ぶからこれは正規性があるね」とか偉そうに言ってみますし、「このサンプルサイズならシャピロウィルクだね」とか言います。サンプルサイズがすごく大きいことなんてほとんどないので、コロモグロフスミルノフなんてほとんど使わないくせに威張り散らしています(威張ることではないのでこれは嘘です)。
検定だとかヒストグラムだとかプロットだとかで「正規性正規性」と有難がっていますが、だからなんなの?というところは、正直パラメトリックな検定になるのか、ノンパラメトリックな検定になるのかを分けるリトマス紙でしかないような気がしています。
これもよく分かってないままです(ダメダメだ!)。
*これも説明できないだけで本当は少しだけ分かってます。

それで何ができるようになったの?

正直、何が出来るようになったというわけではなくて、どうやって何をしたらどうなるのか、今まで「ほえー」と思いながら、てれーっと検定していたことにぼんやりとした輪郭が見えるようになったという感じです。
当たり前なことだけどすごく大切なことだな、と感じることとしては

  • 標本は分かって母集団は推測
  • 標本数は群の数、標本サイズはn=50とかのやつ
  • 帰無仮説と対立仮説の確認と採択できたからと言って「確実にそうだ」とは言えない

というようなことでしょうか。この辺は正直、検定しながら毎日感じていたことなのでそこまで重要じゃないような気がします。
だけどちょっと気を抜くと「お!p値が小さい数だ!これはすごいデータに違いない」と舞い上がったりしてしまいそうです。「有意差があるかないか」というか「帰無仮説が棄却しないか、対立仮説を採択するか」の違いでしかないということを忘れてしまってはいけないだろうな、と思います。

Java Scriptとか触らず備忘録も書かないでこれしかやってないの?

いや、そんなことはないです。気持ちの悪い自問自答ですが…統計学の基礎を振り返るのに時間を使ったのは事実ですが、それ以上にやりがいを感じたのは、Rからpythonへの切り替えとして、ATOM(テキストエディタ)を使って多重比較検定が出来るところまで詰めたことです。ATOMは残念ながら2022年12月に開発終了してしまうので、今は不本意ながらVScodeを使っています…R studioじゃないと満足に仮説検定が出来なかったところから、環境構築から頑張ったのはちょっとだけ誇らしく思います。出来て当たり前なことかもしれませんが…
そのあたり、近いうちに備忘録としてまとめていきたいと思います。