Diamond Compass

勉強日記

AtCoder 失敗分析 A問題編

この記事はAtcoderという競技プログラミングコンテストサイトの攻略記事です。
問題を解くにあたり私がつまづいた問題をリスティングしておこうと思います。 (メモ帳替わりに随時更新)
失敗を分析できるようにしておけば、必ず競技プログラミングに役に立つはず。

A問題は一番簡単なレベルですが、だからこそサイトの実行環境や自身の勘違いに対して白黒つけていきましょう。

私のidはdiacompassです。
検索すれば実際にエラー出しまくってる様子がウォッチできます。

ABC018 豆まき

問題ページ
分析放置中

ABC032 高橋君と青木君の好きな数

問題ページ
gcd(最小公倍数)を使えばスムーズに解けるはずですが、RE(Runtime Error)が出ました。 Atcoderのバージョンは少し古いのでgcd関数はmathではなくfractionモジュールにあるようです。

#from math import gcd   AtcoderではRE
from fractions import gcd

統計検定2級に合格しました。

バックグラウンド

  1. 理系大学院卒
  2. 統計学については、10年前に大学の単位をとったか、とってないかぐらいの知識
  3. 社会人になってからも、時折確率統計の書籍は買って読んでいたが、あまり身を入れて勉強していなかった。
  4. 現在の仕事では統計の「と」の字も出てこない。必要なのはロジックと感性でありデータ分析ではない。

モチベーション

  1. 統計的推定についていつまでもおちゃらけた認識でいる自身に辟易としていた。
  2. 確率を正確に見積もれる、確率変数なるものを正確に扱いデータを分析・推定できることができたほうがよいと考えた。
  3. 検定に合格することでそれなりに自信と箔もつくだろうと考えた。
  4. 転職活動していた時に、データサイエンティストの推奨要件として統計検定2級程度という要件をよく見かけたため。
  5. システムトレードで使うと思った。

統計検定2級取得には市場的価値があると同時に、自身のスキル向上にもつながると考えた。

学習期間

8/14より本格的に開始、8/24に受験したので約10日間

学習用書籍

1.統計学入門 [東京大学出版会]

界隈では「赤本」と呼ばれ親しまれている超有名な本ですね。 まさしく統計学におけるスタンダードな認識を与えてくれるため、統計や機械学習を専門とする人たちとの合意形成も捗りそうだと思います。
出版が1991/7/9と古いですが、その古さを感じさせない内容となっていると思います。
統計学の書籍なので当然確率分布や検定などが主体ですが、資源調査や土地の不平等な分配や選挙など教養を深める題材を取り上げているのが良いと思います。

統計学入門 (基礎統計学?)

統計学入門 (基礎統計学?)

2.統計検定2級公式問題集[2016-2018年]

試験を突破するのであれば、過去問題集はあったほうがよいでしょう。 必要な人はさらに昔の過去問も買うのがいいのでしょうが、私は3年分(試験6回分)で十分だと思いました。 80点や90点以上を取得すると(最)優秀合格となるため、それを狙うなら過去問は多い方がよいでしょう。

日本統計学会公式認定 統計検定 2級 公式問題集[2016〜2018年]

日本統計学会公式認定 統計検定 2級 公式問題集[2016〜2018年]

学習方法

1. 最初に公式問題集を試験1回分だけ先に解く。

こうすることで試験突破のためにどのような知識が必要か、学習の目的意識を明確にするわけですね。
最初の方の問題は基礎学力だけで突破できるが、後半になると確率分布の平均・分散の算出や正規分布・カイ二乗分布・t分布・F分布などを用いた検定になるので、 これは10年来まともに勉強していない人間にはきついと身をもって知るわけですね。 これで学習ペースが明確に決まります。

2. 統計学入門を読み進める。

意識すべきは標本平均と母平均、標本分散と母分散は似ているが違うものであると理解することですね。 また標本が沢山あれば、つまり大標本という前提であれば、確率変数の平均は正規分布に近似すると見なすことできることが中心極限定理より明らかとなるわけですが、 標本が少ない、つまり小標本の場合は正規分布近似では不正確になるためt分布などが必要になるということが重要だと思います。
正直この本だけでは数理的に十分納得できない部分もややありますが、ディテールは気にしなくてもとりあえず検定は突破できるようです。 大学1,2年度の数学を前提としているので、ディテールを語ることができないわけですね。暗記に近いスタイルになるのもやむを得ないです。 それでもこの本の防御範囲は広く、統計の応用範囲がここまで広いものなのかと体感させられるのがこの本の最大の長所でしょう。

3. 過去問5年分を消化する。

過去問が5年分あるわけですが、統計学入門を読み終えたころには試験まで残り2日でした。
時間が無い!

こういう時は、ひたすら問題⇒答えという感じで答えのページに指を突っ込みながら読みます。
式を頭の中で立式できるかとか、「分散はこれぐらいになるだろうな」といった概略計算を頭の中でして、すぐに答えを見てしまうというインチキなやり方で捌くことにしました。 これが短時間で仕上げるための必殺技です。2級ならこのような小賢しい小細工が通用すると見切ったのでしょう。

受験準備

統計検定は、テストセンターでほぼいつでも受けることができます。(CBT試験)
試験場によってはお金を振り込んでから7日後でないと受けられないなどの制限があるようです。 僕はさっさと受けたかったのでオデッセイのテスティングセンターを利用しました。
(東京はかなりの確率で満席なので、賢明な皆様は計画的に予約しましょう。)

cbt.odyssey-com.co.jp

テストを受ける直前でオデッセイIDでログインする必要があるので、IDとパスワードは必ず記録しておきましょう。

2. 電卓を買う。

統計検定は、使用できる電卓に制限があり関数電卓が使用できません。
しかし統計計算にはルート計算が出てくるので電卓無しは無理ゲーです。
私は下記の安い電卓を購入して使用しました。しかし関数電卓より使いにくいので練習しておきましょう。

カシオ 電卓 時間・税計算 手帳タイプ 8桁 SL-300A-N

カシオ 電卓 時間・税計算 手帳タイプ 8桁 SL-300A-N

結果

試験時間は90分ですが、丁寧に計算・検証しながら進めたためほぼ時間を使い切りました。 獲得点数は85点、合格点は60点なので余裕のある合格ですね。

今後について

統計検定1級を目指して勉強しようか思案中。 とりあえず下記の本を買ってしまったので読破する予定です。 早速読み始めましたが、統計学入門と地続きになるような難易度だと感じています。
また数理的にもより厳密になっていて、個人的にはこちらのほうが好みかもしれません。 また統計検定1級と出題範囲が似通っているらしいということと、確率過程やMCMCといった聞いたことがある技法について学べるらしいので購入しました。 これを読めば、統計に関するほとんどの書籍や技法について体系的な理解ができそうだと思っています。
統計コンプレックスともこれでおさらばですね。

数理統計学の基礎 [共立出版]

現代数理統計学の基礎 (共立講座 数学の魅力)

現代数理統計学の基礎 (共立講座 数学の魅力)