Python ではじめる会計データサイエンスを読んだ話


「Python ではじめる会計データサイエンス」という本を買って読んだので感想を書く。

https://www.amazon.co.jp/dp/4502438111

表紙が可愛い。

/2023/05/28/hebi-kawa

背景

私は 8 年ほど経理をやっていて今はプログラマーとして働いており、将来的にも会計とプログラミングの間で仕事をしていこうと考えている。また、過去に著者の主催する PyCPA というイベントに参加したことがあり、会計の課題をプログラミングで解決することに興味を持っていた。

Python もデータ分析も完全に素人なのだが、それを言い訳にしていたら一生やらなさそうな気がしたので勢いで買って読んでみることにした。自分の前提知識は以下の通り。

  • Python: 何も分からない。普段は仕事で TypeScript、個人で Go を書いている
  • 数学: 高校までしかやってない。統計は大学の教養課程でやった程度
  • データ分析: SQL でデータを取ってきて簡単な可視化や分析をする仕事をやった経験はあるが、分析手法の専門的な知識はない
  • 会計: だいたい理解しているつもりだが、専門的な資格は一切持っていない

書籍の概要

前半の第 1 部はデータ分析の前提知識となる Python や数学、統計の基礎知識をまとめておさらいし、後半の第 2 部ではそれを使って実際にデータ分析を行うという構成になっている。分量としては 2:3 くらいの割合で第 2 部が多めで、書籍全体で 250 ページくらい。

第 1 部

Python については基礎的な文法と NumPy, pandas, Matplotlib, scikit-learn など重要なライブラリの使い方が紹介されており、数学・統計も本書で使う範囲の確率や探索・推論手法が説明されている。

100 ページ程度の駆け足で説明するため、本書で利用する最低限の記載に絞っているという印象を受けた。しかし、Python や各種ライブラリは膨大な公式ドキュメントがあるし数学や統計も広く読まれている教科書(本書でもいくつか紹介されている)があるので、深掘りしたくなったらそれを読めばいい。書籍のタイトル通り、まずは自分の手を動かしてはじめてみるのが重要ということだろう。

第 2 部

第 1 部の知識を使って財務諸表監査のための統計的サンプリングツールを作ったり、簡単な機械学習で将来売上、貸倒、在庫などの予測や会計データの異常検知を実装する。最後にそれらを支えるデータ分析基盤について概要を説明して終わる。

自分が本書で紹介されている k-means 法やランダムフォレストや SVM などの手法を正確に理解できているか怪しいが、会計のデータが題材なので元々経理をやっていた自分には親しみやすかった。「機械学習で使われている手法を勉強する!」というつもりで読むのではなく、日常的な会計の課題と結びつけて「こういった課題にはこういった手法が適していそうだ」という感覚を養い、自分で手を動かすためのきっかけとして読むと役に立つ知識として身につきそう。

コードや手法について分からないことがあった際は ChatGPT に聞くようにした。例えば本書で SVM(サポートベクターマシン)と言う学習モデルが紹介されており本書記載の具体例ではあまり納得できていなかったのだが、ChatGPT に理論的背景や他の手法との相違点、使い方に関する質問をした結果として理解が進み使い方や利点・欠点が分かってきた。

書籍全体への感想

「Python ではじめる」というタイトル通り、自分で手を動かして問題を解決する人(が手を動かし始めるためのきっかけとなる)本だという印象を受けた。

Python や数学・統計、それらを使ったデータ分析は学習する内容が多岐にわたり、「重要そうなのは理解できるし手をつけてみたけど途中で挫折した」という方も多いのではないだろうか。本書は経理や監査などを仕事でやっていてプログラミングやデータ分析で仕事上の課題を解決したい人がそれを「Python ではじめる」きっかけになる本だと感じた。

全体の分量は約 250 ページで、速い人なら 1 ~ 2 日で読み切れると思う。本書を一通り読んでみて自分の手を動かして身近な課題を解き、そこから不足している知識を補強して増やしていく、という進め方が良さそう。

本書の最後でデータ分析基盤の話に触れているが、実際に仕事でデータを分析して意思決定に役立てるとなるとまず最初に「正確なデータを適時に入手できるようにする」体制を作るのが大変なので、その考え方が紹介されているのは実務者に寄り添っている印象を受けた。本書の内容を一通り学んだ上で目的に沿った分析を行うためにどのようなデータが必要かを考え、それに沿ってデータ基盤を作るとよい(という視点で最後の章に書いてありそう)。

余談: 公認会計士とデータ分析

本書の内容とは関係ないが、公認会計士の方がプログラミングを学んで本を出版するという行為自体が興味深い。

公認会計士(勅許会計士)という職業が生まれた背景には 19 世紀後半にアメリカやイギリスで鉄鋼業や鉄道業など大規模な資本を必要とする産業が成長し、そういった大規模な会社の複雑な会計処理をもとに作られた財務諸表の正確性を素人が評価するのは不可能だから適切な知識を備えた専門家が必要になったという歴史がある。

歴史的には、複雑で大規模なデータを分析して意思決定に役立てるというのは公認会計士の本分と言えるかもしれない。