「データサイエンティスト スキルチェックリスト」を読む ~データサイエンス力・見習いレベル編~
どうもこんにちは!
以前の記事で、データサイエンティストに必要とされるスキルを、カテゴリとレベルごとに記載した「データサイエンティスト スキルチェックリスト」の概要を紹介しました。
こちらのチェックリストには全528のスキルが定義されており、スキルはビジネス力、データサイエンス力、データエンジニアリング力の3つのカテゴリと、Senior Data Scientist(業界代表)、Full Data Scientist(棟梁)、Associate Data Scientist(独り立ち)、Assistant Data Scientist(見習い)の4つのレベルに分類されています。
私は、Assistant Data Scientist(見習い)レベルを目指しています。
見習いレベルであっても必要なスキル数は合計で100以上もあります。
本記事ではデータサイエンス力のカテゴリに絞って、今後の自身の学習計画も兼ねつつ、そのスキルの一覧とどのようにして習得を目指すかをまとめていきます。
スキルチェックリスト データサイエンス力・見習いレベルの一覧と習得方針
- 1.基礎数学
- 2.予測
- 3.検定/判断
- 4.グルーピング
- 5.性質・関係性の把握
- 6.サンプリング
- 7.データ加工
- 8.データ可視化
- 9.分析プロセス
- 10.データの理解・検証
- 11.意味合いの抽出、洞察
- 12.機械学習的手法
- 13.時系列分析
- 14.言語処理
- 15.画像・動画処理
- 16.音声/音楽処理
- 17.パターン発見
1.基礎数学
(1)統計数理基礎
① 順列や組合せを式nPr、nCrを用いて計算できる
② 条件付き確率の意味を説明できる
③ 平均(相加平均)、中央値、最頻値の算出方法の違いを説明できる
④ 与えられたデータにおける分散と標準偏差が計算できる
⑤ 母(集団)平均と標本平均、不偏分散と標本分散がそれぞれ異なることを説明できる
⑥ 標準正規分布の分散と平均の値を知っている
⑦ 相関関係と因果関係の違いを説明できる
⑧ 名義尺度、順序尺度、間隔尺度、比例尺度の違いを説明できる
⑨ 一般的な相関係数(ピアソン)の分母と分子を説明できる
⑩ 5つ以上の代表的な確率分布を説明できる
⑪ 二項分布の事象もサンプル数が増えていくとどのような分布に近似されるかを知っている
⑫ 変数が量的、質的どちらの場合でも関係の強さを算出できる
⑬ ベイズの定理を説明できる
いずれも統計2級検定の取得を目指します。
Twitterを見ていたら、データサイエンティストを目指すならまずは統計検定2級から、という趣旨のツイートを見たような気がするのですが、それはこういうことなのですね。
統計検定2級の出題範囲を確認したところ、上記のスキルはきちんと出題範囲に入っていたので、十分そうです。
(2)線形代数基礎
① ベクトルの内積に関する方法を理解し線形式をベクトルの内積で表現できる
② 行列同士、および行列とベクトルの計算方法を正しく理解し、複数の線形式を行列の積で表現できる
③ 逆行列の定義、および逆行列を求めることにより行列表記された連立方程式を解くことができることを理解している
この線形代数基礎の分類には、Associate Data Scientist(独り立ちレベル)以上のスキルが定められていません。
したがって、線形代数としては、これだけを知っておけばよいということなのだと思いますので、上記4つをネットで復習しておきます。
(大学で線形代数は学んだ経験あり)
(3)微分・積分基礎
① 微分により計算する導関数が傾きを求めるための式であることを理解している
② 2変数以上の関数における偏微分の計算方法を理解している
③ 積分と面積の関係を理解し、確率密度関数を定積分することで確率が得られることを説明できる
こちらも Associate Data Scientist(独り立ちレベル)以上のスキルが定められていません。
ですのでこちらも、上記3つをネットでさらっと復習しておくことにします。
ちなみに③は統計検定2級でも習得できそうです。
2.予測
(1)回帰/分類
① 単回帰分析について最小二乗法、回帰係数、標準誤差の説明ができる
② 重回帰分析において偏回帰係数と標準偏回帰係数、重相関係数について説明できる
統計検定2級でカバーします。
(2)評価
① ROC曲線、AUC(Area under the curve)、を用いてモデルの精度を評価できる
② 混同行列(正誤分布のクロス表)、Accuracy、Precision、Recall、F値といった評価尺度を理解し、精度を評価できる
③ MSE(Mean Square Error)、MAE(Mean Absolute Error)といった評価尺度を理解し、精度を評価できる
④ ホールドアウト法、交差検証(クロスバリデーション)法の仕組みを理解し、学習データ、パラメータチューニング用の検証データ、テストデータを作成できる
⑤ 時間の経過とともに構造が変わっていくデータの場合は、学習データを過去のデータとし、テストデータを未来のデータとすることを理解している
ここは残念ながら統計検定2級ではカバーされていないので、個別に学習する必要がありますね。
あれこれと調べてみたところ、 「はじめてのパターン認識」という書籍が評価が高く、また内容としてもカバーできていそうです。
だいたい、最初の1章から5章くらいが該当します。
なにやらこの本、データサイエンティスト界隈では有名なものなのか、さまざまなブログで見かけます。
https://www.amazon.co.jp/dp/4627849710/ref=cm_sw_r_tw_dp_U_x_wpiLEbEY9X4F0
3.検定/判断
(1)検定/判断
① 点推定と区間推定の違いを説明できる
② 帰無仮説と対立仮説の違いを説明できる
③ 第一種の過誤、第二種の過誤、p値、有意水準の意味を説明できる
④ 片側検定と両側検定の違いを説明できる
⑤ 検定する対象となるデータの対応の有無を考慮した上で適切な検定手法を選択し、適用できる
統計検定2級でカバー可能です。
すごいな統計検定w
4.グルーピング
(1)グルーピング
① 階層クラスター分析と非階層クラスター分析の違いを説明できる
② 階層クラスター分析において、デンドグラムの見方を理解し、適切に解釈できる
こちらは「はじめてのパターン認識」の第10章が該当していますので、そちらにて習得を目指します。
5.性質・関係性の把握
(1)性質・関係性の把握
① 適切なデータ区間設定でヒストグラムを作成し、データのバラつき方を把握できる
② 適切な軸設定でクロス集計表を作成し、属性間のデータの偏りを把握できる
③ 量的変数の散布図を描き、2変数の関係性を把握できる
統計検定2級で(以下略
6.サンプリング
(1)サンプリング
① 標本誤差とは何かを説明できる
② 実験計画法の概要を説明できる
統計検定2級で(以下略
7.データ加工
(1)データクレンジング
① 名義尺度の変数をダミー変数に変換できる
② 標準化とは何かを知っていて、適切に標準化が行える
③ 外れ値・異常値・欠損値とは何かそれぞれ知っていて、指示のもと適切に検出と除去・変換などの対応ができる
これは実際のデータを触ってなれていくしかないですね。
個別にググって習得していくこととします。
ところで、データサイエンティストはPythonというプログラミング言語を主に使う生態だそうですので、実務で使えるスキルを習得するために、Pythonでどのようなコードになるのか、ということを意識して学んでいきます。
(2)データ加工
① 分析要件や各変数の分布などをふまえて、必要に応じて量的変数のカテゴライズやビン化を設計・実行できる
上記に同じく、個別に学んで記事化します。
Pythonでどのように行うのかを習得します。
8.データ可視化
(1)方向性定義
① 可視化における目的の広がりについて概略を説明できる(単に現場の作業支援する場合から、ビッグデータ中の要素間の関連性をダイナミックに表示する場合など)
こういう抽象的なスキルは難しいですね。
可視化の目的の広がりは、実際に分析をビジネスで行ってみて感じるものですね。
適当な感じがして気が引けますが、これは習うより慣れろなスキルだと思います。
(2)軸だし
① 散布図などの軸だしにおいて、縦軸・横軸の候補を適切に洗い出せる
② 積み上げ縦棒グラフでの属性の選択など、適切な層化(比較軸)の候補を出せる
ここも統計検定2級で。
一応出題範囲に入っているので、統計検定2級としていますが、軸の候補を適切に洗い出す方法が試験範囲とは思いませんので、都度深掘りが必要ですね。
(3)データ加工
① サンプリングやアンサンブル平均によって適量にデータ量を減らすことができる
個別にネット等でさまざまな記事を見つつ学びます。
Pythonでどのように行うのかを習得します。
(4)表現・実装技法
① 適切な情報濃度を判断できる(データインク比など)
② 不必要な誇張をしないための軸表現の基礎を理解できている(コラムチャートのY軸の基準点は「0」からを原則とし軸を切らないなど)
③ 強調表現がもたらす効果と、明らかに不適切な強調表現を理解している(計算データに対しては位置やサイズ表現が色表現よりも効果的など)
④ 1~3次元の比較において目的(比較、構成、分布、変化など)に応じ、BIツール、スプレッドシートなどを用いて図表化できる
⑤ 端的に図表の変化をアニメーションで可視化できる(人口動態のヒストグラムが経年変化する様子を表現するなど)
⑥ データ解析部門以外の方に、データの意味を伝えるサインとしての可視化ができる
⑦ ボロノイ図の概念と活用方法を説明できる
⑧ 1~3次元の図表を拡張した多変量の比較を適切に可視化できる(平行座標、散布図行列、テーブルレンズ、ヒートマップなど)
理論もありつつ慣れの部分が大きいものと感じます。
と、いうより、データ可視化のスキル項目が多くて驚きました。
それだけ重要なスキルということなのでしょう。
したがって、今後のスキルアップも視野にいれつつ、体系的なもので学びたいなぁと思い書店でふらりとしていたら、「データビジュアライゼーションの教科書」が気になったので、この本と学んでいくことにしました。
https://www.amazon.co.jp/dp/4798053481?tag=sharela06-22&linkCode=ogi&th=1&psc=1
書籍のタイトルも、ザ・これからの人向け、という感じがしてよいですねw
(5)意味抽出
① データの性質を理解するために、データを可視化し眺めて考えることの重要性を理解している
② 外れ値を見出すための適切な表現手法を選択できる
③ データの可視化における基本的な視点をあげることができる(特異点、相違性、傾向性、関連性を見出すなど)
①はそうなのでしょう。いわゆるビッグデータといわれる大量のデータを人間が個別に目視でデータの性質を理解することは困難です。
可視化すれば、一気に情報が入ってきます。
そうした考えがあるので、①はクリアしていると思います。
②は分かりません、個別に調べてみます。
③は「データビジュアライゼーションの教科書」でカバー。
9.分析プロセス
(1)アプローチ設計
① スコープ、検討範囲・内容が明快に設定されていれば、必要なデータ、分析手法、可視化などを適切に選択できる
このスキルは経験が必要ですね。
自由研究や実際の分析事例に多く触れて、さまざまなケースでどのような分析がなされているかを知る必要があります。
Kaggle等で実際に分析されているコードを実際に見てみて、写経してみることで本スキルの習得を目指します。
10.データの理解・検証
(1)統計情報への正しい理解
① ニュース記事などで統計情報に接したときに、数字やグラフの持つメッセージを理解できる
統計検定2級の取得および「データビジュアライゼーションの教科書」での習得を目指します。
このスキルは、統計に関する理解と、どのようなときにどのようなグラフが使われるのかを理解することで習得可能と考えます。
(2)データ確認
① 単独のグラフに対して、集計ミスなどがないかチェックできる
② データ項目やデータの量・質について、指示のもと正しく検証し、結果を説明できる
こちらのスキルは、正直どのようなナレッジをもって習得できるものかきちんと理解できていません。
①集計ミスのチェックは、集計方法を理解すればよいので統計検定でカバーできているかと思いますが、②データの検証というものがくせ者です。
実際にどのようなデータ検証が行われているのかを筆者が知らないので、9.アプローチ設計と同様に、実際の分析事例に触れてみることで検証実務を理解することから習得を目指します。
(3)俯瞰・メタ思考
① データが生み出された背景を考え、鵜呑みにはしないことの重要性を理解している
これは今でも理解できています。
データとは何かしらの人による選別やバイアスがかかっているもので、純粋な一次情報が含まれていることはまれです。
筆者の働く金融機関でも、例えば融資先の信用力(お金を貸せるかどうか)を知りたくて、企業の決算書を入手したとしても、決算書の作成過程では経理担当者や税理士、社長などの恣意的な意図や操作が介入していないことを否定できません。
いかなるデータに対しても、健全な懐疑心を持つことが大切です。
(4)データ理解
① データから事実を正しく浮き彫りにするために、集計の切り口や比較対象の設定が重要であることを理解している
② 普段業務で扱っているデータの発生トリガー・タイミング・頻度などを説明でき、また基本統計量を把握している
③ 何のために集計しているか、どのような知見を得たいのか、目的に即して集計できる
これは実務で習得するほかありませんね。
いわゆる、ドメインナレッジ、と言われるものでしょうか。
したがって、殊更に習得方針を策定せず、上記3項目を意識して仕事に取り組むこととします。
11.意味合いの抽出、洞察
(1)洞察
① 分析、図表から直接的な意味合いを抽出できる(バラツキ、優位性、分布傾向、特異性、関連性、変曲点、関連度の高低など)
② 想定に影響されず、分析結果の数値を客観的に解釈できる
①は分析事例に多く触れることで習得します。
②はビジネス力でも同様のスキルが上げられていました。人間の潜在的な意識やバイアスの大きさを認識した上で、客観的な視座を取ることの重要性は、1ビジネスパーソンとして、理解しているつもりです。また、解釈の基本となる統計知識は、統計検定2級でカバーすることとします。
12.機械学習的手法
(1)機械学習
① 機械学習に当たる解析手法の名称を3つ以上知っており、手法の概要を説明できる
② 指示を受けて機械学習のモデルを使用したことがあり、どのような問題を解決することができるか理解している
④ 過学習とは何か、それがもたらす問題について説明できる
⑤ 次元の呪いとは何か、それがもたらす問題について説明できる
⑦ 観測されたデータにバイアスが含まれる場合や、学習した予測モデルが少数派のデータをノイズと認識してしまった場合などに、モデルの出力が差別的な振る舞いをしてしまうリスクを理解している
⑧ 機械学習における大域的(global)な説明(モデル単位の各変数の寄与度など)と局所的(local)な説明(予測するレコード単位の各変数の寄与度など)の違いを理解している
必ずしも①~⑧をフルカバーしている訳ではないようですが、あれこれと調べたところによると、加藤公一さん著の「機械学習のエッセンス」を読んでみることが良さそうです。
https://www.amazon.co.jp/gp/product/B07GYS3RG7/
Python、数学、可視化についても触れられているようですので、他のスキル習得ともよい組合せになるかもしれません。
13.時系列分析
(1)時系列分析
① 時系列データとは何か、その基礎的な扱いについて説明できる(時系列グラフ、周期性、移動平均など)
全くの基礎から時系列分析をする人向けの高評価な書籍として、「現場ですぐ使える時系列データ分析 ~データサイエンティストのための基礎知識~」があるようです。
本スキルは”説明できる”ことが求められているので、上記書籍をさくっと読んでみて、ブログ記事で自分の言葉で言語化することを目指します。
https://www.amazon.co.jp/dp/B00KNRL068/
14.言語処理
(1)言語処理
① テキストデータに対する代表的なクリーニング処理(小文字化、数値変換、半角変換、記号除法、ステミングなど)をタスクに応じて適切に実施できる
①については 、ざっと調べたところ体系的にまとめていただいているコンテンツがありましたので、それを見て、手元でハンズオンしてみることで習得します。
②については、説明できればよいというレベルであれば、ひたすらググって自身で体系化していくことで習得を目指します。
15.画像・動画処理
(1)画像処理
① 画像のデジタル表現の仕組みと代表的な画像フォーマットを知っている
② 画像に対して、目的に応じた適切な色変換や簡単なフィルタ処理などを行うことができる
③ 画像データに対する代表的なクリーニング処理(リサイズ、バディング、標準化など)をタスクに応じて適切に実施できる
①については、ネットでググって調べれば習得できそうですね。
②、③については、適切な学習方法がイマイチ見当たらず・・・
こんなことを言っては元も子もないのかもしれませんが、地方銀行で働く私にとって、社内での画像・動画処理に関する業務ニーズはきわめて低いです。
無論、OCR等で手書き書類を電子化することも期待はできますが、既存のソリューションが街にあふれていますし、本来は入り口から電子化すべき(要は紙に書かずにタブレット等でデジタル入力してもらうべき)だと思うのです。
したがって、本スキルは他のスキルに劣後させ、ある程度データサイエンス力の他のスキルを習得した後に再度習得方針を策定することとします。
16.音声/音楽処理
(1)音声/音楽処理
① wavやmp3などの代表的な音声フォーマットを知っている
フォーマットを知っているだけであれば、既に知っているつもりではありますが・・・
ざっとネットで調べてみて、簡単に記事にまとめてみましょう。
17.パターン発見
(1)パターン発見
① 条件Xと事象Yの関係性をリフト値を用いて評価できる
こちらは統計検定2級の出題範囲ではないようです。
したがって、個別に調べて、評価方法を記事にまとめてみます。
ふぅ。
ここまで、データサイエンティスト見習いレベルに求められるデータサイエンス力とそれぞれに対する習得方針をまとめてきましたが、とても多いですね。
データサイエンティストのスキルチェックリストとあって、データサイエンス力に分類されているスキルは全528スキル中271と、なんと半分を占めているのです。
印象的なのは、一口にデータサイエンス力といっても範囲が広いこと。
これを習得していくのは、とても大変そうで、既に心が折れそうではありますが、コツコツと積み上げていきたいと思います。
あと、統計検定のカバー範囲広い!
データサイエンティストの登竜門と揶揄されるのも納得です。
次回は、データエンジニアリング力について、スキルの一覧と習得の方向性をまとめようと思います。
乞うご期待!