思っちゃったんだからしょうがない

統計学を学ぶ傍でひっそりとやっていきます。 #statistics #R

データ解析のための統計モデリング入門 2章 - ①

一回目から(中身のない一回目)時間空きすぎで自分でも結局やらないような気はしてましたが、やります。できるだけ、少しづつ。

今日はタイトルの通り久保拓弥さんの「データ解析のための統計モデリング入門」の2章の内容をまとめていきたいと思います(が、やってみて半分までしか進みませんでした)。1章は、気になる人は読んでみてください笑

 

この章のポイントは下記だと思ってます。

  • データの発生メカニズムが確率分布に従っているという仮定を理解すること

慣れない人にとっては確率分布って何、という所がもやもやする所だと思います。僕の考えですが、ざっくり言えば「起こりうる事象に対して、もれなく生起確率を割り当てるもの」だという理解でいいと思っています。もちろん、事象の確率の総和が1になるとか、確率が必ず0以上であるとか、厳密には色々と制約がついてきますが、そこら辺に興味がある方は数理統計の入門書など見ていただければと思います。

 

さて、2章では架空の植物から得られた種子数データを使って、このデータが、あるポアソン分布を使ってうまい具合に表現できるよねということを確かめていきます。この、うまい具合に表現できる、というのは、再現できる確率が高い、という意味で僕は理解をしています。

使われているデータはこんな感じでした。

gist98bbd458ba96f99215d5583a4cfc36ad

Rのコードを貼り付けたものですが、

生態学データ解析 - 本/データ解析のための統計モデリング入門、ここで本に扱われているデータをダウンロードできるので、ここから持ってきました。

ls() という関数は今R上で保存されているオブジェクトを全て列挙する関数です。立ち上げた時点では何も表示されないはずですが、load()関数でデータを読み込んだのでdataというオブジェクトが保存されていることが確認できます。よく今何があるんだっけ、とか、作りすぎて消したいけどどれを消していいんだっけ、見たいな時に僕は使います。

読み込んだらとりあえず要約値を見たり図示したりしてデータがどんなもんかを把握するのが、データ解析の第一歩だ、ということがよく言われているので、そうしてみましょう。

summary()関数は四分位点と平均値を返してくれて、table()関数は数値毎に何個あるのかを表形式で返してくれます。また、var()関数は分散を返してくれます。ぱっと見て、平均が3.56で平均に近い値が多く見られているといった感じですね。分散は約2.99でした。つまり、この中から1つデータをとってきた時に、平均すると、平均3.56と取り出したデータとの差の二乗が2.99です、ということです。なんで差の二乗なんだって所ですが、今の所は分散の計算をする時に「各データと平均との差の二乗」を使っているから、ということにしておきます。でもこれだとややこしくて、じゃあ一体実際の数値としてどのくらいなの?という話になるので、これの平方根を取って単位を直してあげます。これが標準偏差です。

標準偏差を使って言い直すと、このデータから1つ値をとってきた時に、平均すると、平均3.56との差が標準偏差1.73くらいあるでしょう。ということになります。大分すっきりしましたね。

ヒストグラムで図示もしてみます。

f:id:forest-of-sheep-and-steel:20160921210343j:plain

 数値的にみるのと違って、視覚的に見ると把握しやすいですよね←
本の図と若干違っていますが、それは引数breaksを指定していないので0と1がごっちゃになってるためです。指定しないとこうなるよーってことでこのまま載せました。
 
ここで、この章のポイントだと勝手に挙げた「データの発生メカニズムが確率分布に従っていると仮定している」ことを思い出して、今扱っている種子数のデータが従っている確率分布って何なんだろう、という問題について考えてみましょう。
  • 「種の数」なので、負の値はとらない(種の数が-3ということはありえない)
  • 同様に、1.4などの少数点以下に0以外の値を持たない。
ということに着目すると、この条件に合う確率分布を持ってきて当てはめてみようかな、という発想になるわけです。(こんなこと言われても、これって経験が重要ですよね。)
シミュレーション用のデータなのでこっから割とサクサクいくわけですが、この条件に合う確率分布といえば、そうだポアソン分布があるじゃないか!ということで、ポアソン分布を当てはめてみましょう。
とその前に、ポアソン分布って何なのという所ですが、定義の数式は今回は省いて、「パラメータλによって形が変わる確率分布」ということにして話を進めます。形が変わるとは一体・・・、という人のために次の図を描いてみました。(本にも同じような図があります。)

f:id:forest-of-sheep-and-steel:20160921222003j:plain

 

ポアソン分布のパラメータλを1,3,5,8とした時に0~10をとる確率をプロットした図です。「形が変わる」というのが視覚的にわかると思います。λの値が変わると線が描く形も変わってますね。縦に入っている点線はλの値と対応していて、ポアソン分布の場合はλの値が平均と分散と相当します。
余談ですが、最初は一番確率が高い点に点線を描いてたんですが、平均=最頻値とは限らないということに気づかされました。学びました←。
λが取り得る数だけポアソン分布がある、つまり無数のポアソン分布の中から種子数のデータに一番合うポアソン分布を選ぼう、という話になってきたわけですが、今回は最後に見た感じ一番合いそうなポアソン分布を「視覚的」に探して終わりにしたいと思います。

f:id:forest-of-sheep-and-steel:20160921221909j:plain

gist65465013b1fdab935be94045ddba473c

ヒストグラムに重ね書きしてます。par(new=T)と入力すると、次に出力された図をそのまま重ね書きしてくれます。軸とか軸名とかも全部。なので後から出力される図はそれらを全部消す形で書いてます。こういう重ね書きの仕方は本当は良くなくて、できるならpoints()とかlines()で書いたほうがいいんですけど、縦軸の値を合わせたくなかったので力技で書いてます。ちなみに、各ポアソン分布については縦軸を合わせて書いてます。

これをみると、図の中で、データの分布と同じ形をしてそうなのはλ=3.56かな〜というあたりがつきますね。(出来レース感がすごい笑)

ということで今回はここまでです。次は「見た目」、じゃなくて「数値的」に最適なポアソン分布を探そうという所からです。

 

ブログって書くの疲れますね。内容や文章など拙いもので申し訳有りません。何かご指摘があれば是非いただければと思っています!
ここまで読んでくださった方がいたら、本当に有難うございました。これからも細々と書いていこうと思います。では。m(_ _)m

統計学を勉強していく様を見せるブログスタート

ブログを始める理由

こんにちは。統計学を専攻しているしがない学生です。勉強したことは発信して、炎上させて理解を深めることが重要だということに気づいたので、ならブログをやろうと思い立ち始めました◀️

直近の目標

次の二つのテーマについてちょこちょこ書いていこうと思っています。

1、「データ解析のための統計モデリング入門」(久保拓弥, 岩波)

2、状態空間モデル,   参考文献は色々

あとはその都度、備忘録的に勉強したことを書いていければなと。

 

モチベーション

理由にも書いた通り、勉強したことは発信してボコボコにされてこそ身につくものだと思っているので、そういう場をネット上にも設けた方がいいと思った次第です。

 

使用するソフト

基本的にはRを使っていきます。できるだけコードも綺麗に書いて載せたい。けどプログラミングのイロハはよくわからないので見辛いものになるかもしれません。

おそらくRの使い方自体の話も、特に覚えておきたいことがあればそれをテーマに記事を書くこともあるでしょう。

 

そもそもな話

私自身の話をすると、一応院で勉強してるくせに、数学が得意ではない、要領が悪い、集中力がない、と三拍子そろったダメ学生と自覚してます。これは何か変えなきゃいかんということでたまたま友達が始めたブログの話を聞いて、これだ!と思ったんですよね。統計学のブログって色々あるので正しさとか厳密さとか読みやすさというのは実力のある方々にお任せして(おい)、のほほんと間違いながらも自分がやったことを残していく場として活用したいっていうのが本音です。

もし、どこかでどなたかのお役に立つことがあれば嬉しいことこの上ないのですが、正直そこは今の目標ではありません!

 

次回より

次の記事から本格的に中身を作ってアップしていこうと思います。どんな人が見るのかなーとか、需要あんのか、とかすごい不安ですけど、きままに頑張ります。