統計検定2級を受けた

先日、統計検定2級の試験を受けた。感触がいまいちだった1ので、結果が出る前にふりかえりを書いてしまおうと思う。

知識のついていく過程

基本的に、過去問2を解くことを中心に学習した。その合間に、公式のテキスト3を読んだり、理解が曖昧で何度も調べる部分をまとめたりした。
過去問の年度別に、正答を導けた割合の変化を時系列で見てみると下図のようになっている。

一応、どの年度も解き直しをする度に少しずつできる割合が上がってはいる。今見ると、解き直しでも8割程度しか取れていないあたり、理解や演習が足りていない様子が表れているなと思う。

大まかに次の3段階で理解が進んでいった。
– 初期:理解していることが自分の中で整理できていない状態。全体の5割は解説を読めば理解できたけど、3割くらいは解説を読んでも理解できなかった。
– 中期:公式テキストをざっと読んで自分の中で整理し、最低限公式的な部分は覚えてしまうことで、過去問の解説を読めばほぼ理解できるようになった。
– 後期:1度理解しただけでは自分で再現できないような、あやふやな部分を解き直した(が、おそらく身についてはいなかった)。

かけた時間

初見の過去問に対し正答を導けた割合と累積学習時間を重ねてみると、割と比例していることがわかる。おそらく、この分野に対する学習がまだ初期段階だから、やるだけ理解が上がっていく楽しい時期にいるんだと思う。

試験終了後に集計してみるまで、これほど時間を投入していたと思わなかった(合計で40~50時間の感覚だったのに、2倍くらい費やしている)ので、投入時間の割に自分の理解のレベルが低く感じ、数日悲しい気分になった。

いったいどの部分にこれほど時間がかかっていたのか?
体感だけど、過去問に下記の時間をかけていたと思う。


これに公式のテキストでの学習やまとめていた時間を足しても、おそらく60時間程度にしかならない。
約30時間が闇の中である4

統計検定の勉強による変化

良いこともあって、社内でやってもらっていた読書会5に使用していた本(統計学入門6)に対する見え方が変わった。
読書会中はだいぶ難しく感じて、「統計とかデータ分析やってる人ってみんな天才なのかな…?」「ていうか自分が向いていないだけか」と思ったし(今もこれはよぎる)、本に対し30回くらいは「いったい何言っているんだ…」と思った。統計検定の勉強をした後に見ると、理解できるようになっていて「かなりわかりやすく丁寧に書いてくれているな」「確かに入門の本だな」と思えるようになった(入門レベルだと判断できることと、その内容を完璧に理解できることはまた別ではあるが)。

学習へのふりかえり

今回、学習時間は記録していたけど、その中で何をしたかは記録していなかった。遊びとして記録していたから、最初にしっかり考えなかったけど、最後に何を見たいのかを考えて記録すべきだった。
今まで学ぶ量(時間)を増やそうという方向に意識が向かっていたと思う。でも時間は有限で、さほど若くないのに新たな分野を物にしようとするなら、何をしたのか、それに時間がどれだけかかったのか、もう少し自覚的になる必要があると思った。試しに1ヶ月、勉強した時間とその内容を記録してみようと思う。


  1. 自己採点だとほぼボーダーライン上だった。1〜2問足りずに落ちそうである(結果発表までどきどきが楽しめてお得だと思うことにする) 
  2. 日本統計学会公式認定 統計検定 2級 公式問題集/日本統計学会編 
  3. 改訂版 日本統計学会公式認定 統計検定2級対応「統計学基礎」/日本統計学会編 
  4. たぶん、理解できない部分についてずっと考えていたり、仕事帰りに勉強のため寄ったカフェで虚無状態になっていた時間が入っていると思われる 
  5. 読書会が相当役に立っていて、これがなかったら統計検定の勉強を途中で諦めていたと思う 
  6. 統計学入門/東京大学教養学部統計学教室 編 

デスクをホワイトボード化した話

ホワイトボード化までの思考回路

きっかけは、思いついたことをふせんにちまちま書いて壁に貼っていたことだった。
ふせんは狭い。ぼんやりと考えたこととかは切り捨てて内容をまとめ、収まるように調整してしまう。とりあえず書き出したい。余計なことを考えず、自由に書きたいのだ(幼児のお絵描きが画用紙を飛び出して壁や床に行われる時と同じ思考回路である)。

Amazonに壁に貼れるホワイトボードのシートがあったので、はじめはそれを机の横の壁に設置することを考えた。
でも、側面だと45度回転しないと書けない。新しいものを導入した時にちょっとした手間があると、結局活用しなくなってしまう。がんばらなくても使える状態にする必要がある。
どこならそのままの状態で目に入り、書けるか。

机の上だ。

作業内容

机の上にはキーボードや本を置いていたけど、物があるとインクがつくことを気にして自由に書けない。
そこで棚とキーボードの収納スペースを作って避難させた上で、机にホワイトボードのシートを設置した。


元の状態(見た目的にはこっちの方がすっきりしていて好き)
→ 改造後(なお、ホワイトボードに書いた計算は間違えている)

コストとしては、ホワイトボードシート・木材・金具類等で、7,000〜8,000円くらい。ホワイトボードシートだけだったら、2,000円しない。
散発的に進めていたけど、累計で、サイズを決めたり計画するのに3〜4時間、材料をネットやホームセンターで集めるのに5〜6時間(キーボードのスライド棚に使ったスライドレールについて調べるのに手間取った)、作業に4〜5時間くらいかかった。

やってみてわかったこと

  • 太いペンで、自由に書けるのは、気持ちいい。いらない紙に書いてその後捨てるのと原理的に変わらないはずなのに、それよりも書くことへのハードルが下がる。アイデアを考えるとか、何となく考えてることを発展させるとかいう用途に特に向いてるなと感じた。
  • キーボードは避難させたけど、ノートや本を広げる時は結局ホワイトボードの上になるので、それが不便。ノートを使うときには一旦消す必要があるな、とか、この書き込みはしばらく残しておきたいから端の方に書いておこう、とか本質と違うことを色々考えてしまう。そういう点では、壁設置に軍配が上がるなと思った。
  • 机が白いと、結構目が疲れる。天板が白い机って結構あるけど、白色度はあまり高くないのは、そういう理由もあるのかもしれない。
  • 線が太いので、文字や図が大きくなる。それが書くことの気持ち良さにつながっている部分もあるんだけど、この広さでも狭いなと感じてしまう。
  • 職場の机(白い)にナチュラルにペンで書こうとして、一人ではっとする。

まだ設置して間もないので、しばらく使ってみたら、新たな発見があるかもしれない。

判別分析についてわかったこと

今、判別分析について学んでいて、少しずつわかってきた(ような気がする)ので、現時点で理解した(と思っている)内容をまとめてみる。
※ 以下、私の理解不足による誤りがある可能性もある。

1  判別分析とは何か

  • ある計測・観測した値から、結果(どちらの群に属するか)を推測する手法
    例1)飲酒量や検査の値などから病気の発病を予測する
    例2)顧客の情報から商品の購入を予測する

例1)なら
– 目的変数:病気を発症する群と発症しない群
– 説明変数:飲酒量、検査の値など
となり、病気を発症する群としない群をなるべく精度良く分けるための数式を考える。そして、新たな人の飲酒量等の数値を数式に当てはめることで、その人が発症するかどうかを予測する。

2  どのように判別するか

主にマハラノビスの距離による判別と線形判別式による判別がある。

2-1  マハラノビスの距離による判別

各群の中心(重心)を求め、そこまでの距離が短い方の群に属するとする方法。距離は単純な距離でなく、各群のばらつきを考慮した(1標準偏差あたりとした)距離を使う(マハラノビスの距離という)。

以下、説明変数が一つの場合でまず考え、その後に説明変数が2つの場合に応用する。

2-2  線形判別式による判別

以下、説明変数が2つの場合を例として考える。
その2つの説明変数を2軸とした平面で考えると、最も良く群を分離する直線を引くことを考える方法。

3  判別の精度をどのように測るか

 

参考

以下の書籍で勉強させていただきました。

入門はじめての多変量解析
石村 貞夫 石村 光資郎
東京図書

 

 

川崎 智也 稲垣 具志 寺内 義典 石坂 哲宏
コロナ社

 

 

 


(感想など)
  • まだ不十分なので、後日追記(+修正)したい。あと、判別分析の説明変数がカテゴリデータだった場合である数量化二類についても追記したい。

  • もともと画像にすることを考えずに書いていたこともあって、思った以上に見づらい。ただ、数式の添え字等を打つのが手間がかかるので、画像をもう少し見やすくする方向で改善したい。

2ヶ月めにやった学習のふりかえり

具体的にやったこと

データサイエンス領域
「基礎統計学Ⅰ 統計学入門」

  • 1ヶ月めに引き続き、読書会形式で一緒にやっていただいた。先月より内容的に難しく感じる部分が増えて、進捗としては本の半分を超えた程度。
  • 数式を追っていくとそうなることはわかるけど、その結論は感覚的には納得できない、というような部分で引っかかっていた。
  • そういった部分について、具体的にPythonで計算してみたりした。結果、納得とまではいかなくても、やる前よりはその概念に対する理解を少し進めることができた。

データエンジニア領域
「Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理」

  • 上記の本を参考にしながら、Pandas等で何をすることができるか学び、実際のデータに適用してみて理解を深める、ということをした。
  • 先月やった1冊めの本(Pythonの基本的な使い方を網羅する本)では出てこなかったデータ分析のためのPythonでの書き方を知ることができ、先月より具体的なイメージを持つことができた。

事業ドメイン領域
実際のデータを分析して、事業に貢献する会が始まった。

  • 実際のデータに触れるのはとてもテンションが上がる。学習用のデータと何が違うんだ、と言われると明確な差があるわけではないけど、おそらく、本当の出来事のデータであるという点と、そのデータを通して自分が貢献できる可能性があるという点が異なるからだろうと思う。(逆にいうと、貢献できなかったら自分の存在価値をどこで示していけるかというプレッシャーも当然ある)
  • 残り2つの領域が、データ分析における道具に当たるのに対し、この領域は分析の前提に当たる根幹部分だと思う。道具でない分、その身につけ方は不定形で捉えづらい。実際、上記の会でも話についていけない部分があって、一方でそれを理解できるようになるにはこれを学べばよい、という類いのものとも思えず、漠然と悩んでいる部分である(悩みが漠然としている点からも、考えの整理ができていないことを示しているなと思う)。
  • 当初は浅く広く事業全般を知ろうとしていたけど、割と今は上記の会のミッションに向けた知識のつけ方に向かっていて、まずはそれをしっかりやるべきだろうと思う。

全体的なふりかえり

学びの第2段階に入った(特にデータエンジニア領域)
  • 1ヶ月めは、本に沿って一項目ずつ押さえていく学び方をしていて、これはPythonの全般的な使い方を学ぶという目的に合致していた。今月やった2冊めは、本の内容を全て学び切るというより、データ分析という目的に向け、本は参考として自分を分析できる状態にすべく統合的に学ぶ必要があったのだと思う。それが当初は理解できていなくて、メンターの方の言葉で気づかせてもらえて、学び方を変えることができた。
  • 学び方は段階によって違うんだなと思った。学ぶ目的は、別に本の内容を完全に理解して再現できることでなく、その技術を使って自分のやりたいことをできるようになることである、という根本的なことを認識することができた。
  • まだ第3段階、第4段階とあると思う(例えば、今はまだできていないけど、関数の中身がどのように書かれているかのぞいてみるとか、他の人のコードを読んで書き方を学ぶとか)ので、学ぶ方法も深化していけたらいいと思う。
3領域が融合し始めた
  • 統計学で学んだ分布をPythonで書いてみたり、実際のデータを使って分析し始める等の変化があった。1ヶ月目では完全に各分野を分けて学んでいる状態だったのが、それらの知識を統合し始める段階に入ってきた。知識はそれ単体で持っているよりも、自分の中で有機的につなげることができると面白くなってくる。
  • 今の立場は、各領域の専門家に比べると知識が浅く広く必要になる立場で、自分がどういう方向に向かっていくか意識しないと中途半端になる可能性もあると思うけど、この立ち位置ならではの面白さもありそうだなと感じた。

公務員から転職して感じたこと

新卒で入った地方公共団体で数年間働いて、今回、GMOペパボ株式会社に仲間に入れてもらった(この経緯もいつかまとめられたらと思っている)。
ここでは、公務員という立場から転職して感じた違いについて書いてみる。

一言でいうと、全体的にワンダーランドだった。
共通点の方がむしろ少なくて、いちいち新鮮で面白かった。
入る前の想像と違うということでなく、頭で理解しているのに体がついていかないというような感覚だった。単に仕事内容や進め方の違いだけでなく、何を大切にするかという根本的なところが違っていたので、そう感じたのだと思う。
たくさんの違いの中でも、象徴的だなと感じたのは以下の2点だった。

  • 楽しむということ:
    当初、言われた言葉「楽しんでやりましょう」。
    楽しむって何だと思った。今まで、楽しそうにしていると通報されることのある立場だったから(改めて考えるとすごい)、無意識に自制するようになっていた。
    仕事を楽しむってどういうことかわからなかったけれど、まずは「見当違いかなと思ってもとりあえず手を動かしてやってみる」ことをしようと考えた。
    前職で難しい対応をする時、相手の課題をより良く解決しようという視点でなく、訴えられない等の自分を守る視点になっていることが時々あって、そういう時は本当に楽しくないし、その守るという結果以外、何も新しいものが生まれなかった。1
    おそらく、楽しむというのはそれと逆で、フラットな状態で物事に接し、前向きに取り組んで、結果としてもっとおもしろいものが生まれる、という状態なのかなと現時点では考えている。

  • 組織への愛情:
    最も違いを感じた部分かもしれない。
    新卒生の研修終了の会を見ていて、ペパボへのある種純粋すぎるほどの愛を感じて、すごくまぶしかったし、その一員となれたことを嬉しく思った。
    同時に、前職の若手の仲間の顔を思い出していた。ペパボと同じくらい、前職の皆も住民のために頑張っていて、概ね人間関係も良好なのに、なぜ組織への誇りを持てない雰囲気だったのか 2 、そういう空気しか作れなかったことを後輩に申し訳なく思った。
    ペパボの雰囲気は、各人が醸成している部分もあるし、そうなるように意識的に作り維持されている部分もあるのだろうと思う。私はそれをいいなと思って入ってきたので、どうやって作られたものなのか観察して、前職との違いを生んでいる原因は何か考えたいと思っている。


  1. 色々な前提が異なるので、仕方ない部分もあると思う。きっと、その職場ごとに「楽しんで仕事をする」ということの姿は異なっている 

  2. 個人的な感想。あの場所だからこそ学べたこともいっぱいあったし、転職した今もお世話になった先輩・後輩への感謝の気持ちは強い 

1ヶ月めにやった学習のふりかえり

学習に入る前の状態

  • データ分析・プログラミングとも未経験で、全く別分野の仕事をしていた
  • 休日に趣味として少し勉強していた
  • データ分析は、本当に基本的な統計の本を何冊か読み、当時触っていたデータが時系列データだったので、それに必要な専門書を数冊斜め読みした
  • プログラミングは最初Pythonを勉強していたけど、具体的にデータ分析ができるレベルになるのはなかなか難しいと感じ、途中からRを使うようになった
  • 手元のデータを実際に触ってみて、わからなくなったら参考書に戻って、という繰り返しをしていた

1ヶ月目にしようとしたこと

大まかには、下記3領域について1

  • 事業ドメイン領域
    事業に関し、社内/外部・競合/ユーザーの概要について理解する

  • データサイエンス領域
    基礎的な統計知識を身につける : 「基礎統計学Ⅰ 統計学入門」
    データ分析の概要を掴む : 「データサイエンティスト養成読本」

  • データエンジニア領域
    Pythonの基本的な文法の使い方を習得する : 「詳細!Python3入門ノート」

結果、できたこと

事業ドメイン領域

  • 事業の概要についてお聞きした。
  • ユーザー側にいた時にはわからなかったサービスの現状や課題、目標を知ることができた。ただ、今知っているのは本当に概要のまとめで、もっと事業ドメインの知識やその肌感覚を知らないと、仮に分析手法が身についたとしてもできるのは表面的な分析になってしまうだろうと感じた。
  • 今後、特にディレクターの方が、日々何に取り組んでいるか、具体的に何を解決しようとして今何を考えているのかを知ることで、自分の中の理解を深めたい。CSの方が日々どんな問合せを受けているかという点もデータの宝庫だと思うので、お話をお聞きしたいと思った。

データサイエンス領域

「基礎統計学Ⅰ 統計学入門」

  • 原則毎日1時間、読書会をしていただいた。1冊の1/3くらいまで進んだ。自分で読んで理解した内容を言葉にしたりホワイトボードに書いたりして、逆に理解できなかった部分を教えていただくような形式で進めた。読書会後、内容をまとめていると、実は理解できていなかったことに気づいて考え直すこともしばしばあった。
  • 今までは、初学者向けの本を数冊と、趣味でやっていた分析に必要な部分の本を読んでいるだけだったので、この本によって網羅的に知識を身につけることができると思う。
  • 統計学的にでなく数学的に理解ができず時間がかかった部分があったので、微積や行列など、統計に関連する部分の復習をしたい。

「データサイエンティスト養成読本」

  • 読んで、不明な点を調べてレポートにまとめ、それに対しレビューしていただく形で進めた。3章分。データ分析の流れや各段階での注意点、データベースについて等。
  • 本で解説している用語に対し、その解説内で出てくる単語がわからないという状況だったので、調べる中でおぼろげにデータ分析の世界が見えてきたような知識レベルにいる。実際に分析をやっていくことで、こういうことを言っていたのかと理解できるようになるのではないかと思っている。
  • 分析結果の表現はその意図がなくても恣意的になってしまうので、自身に対する健全な猜疑心が大事という文が印象的だった。確かに、導いた結論を象徴している部分に注目しがちになるので、気をつけたいと思った。

データエンジニア領域

「詳細!Python3入門ノート」

  • 写経してjupyter notebookに章ごとにまとめ、レビュー(不明点についての回答やコードの書く際の注意点など)していただく形で進めた。一応1冊最後まで一通りやった。
  • 前半は以前に自分で学んでいた内容と概ね重なっていたが、後半ジェネレータやクラスの辺りは初見の部分があり時間がかかった。まだ腹落ちした感覚がない部分もあるけど、何度も触れることで頭の中にその分野の回路ができるので、定期的に復習するようにしたい。

全体的な感想

  • 学習に対して、1ヶ月はあっという間だった。もう少しスピードを上げていきたいと思いながら、この業界にいる人はおそらく身についているのが当然なのであろうGitやシェルの使い方など、基本的な部分で引っかかって時間を食うことが多かった(自分で調べて解決する力が必要なので、無駄ではないとは思う。また、ごく基本的な部分しかわかっていないので、もっと習熟する必要がある)。

  • 20代の時間を別分野の事に使ってきたので周りの方との差があるのは当然で、焦りはあるけれど、毎日今の自分にできる、自分の力を伸ばすためにできることは何か考えて、それに取り組み続けるしかないと思う。やりたいことはいっぱいある一方、1日で進むのは微量でもどかしいけれど、3ヶ月後、1年後の自分に期待するわくわくする気持ちがあって、自分は学び続けることができることを知っているので、がんばりたい。


  1. データサイエンティスト協会が示している「データサイエンティストに求められるスキルセット」の3つの領域より http://www.datascientist.or.jp/news/2014/pdf/1210.pdf