データサイエンティスト協会では「データサイエンス力」「データエンジニアリング力」「ビジネス力」の3項目に分けて必要スキルを表現しています。
ただ公開されているスキルチェックリストの量が多いため理解に少し時間がかかってしまいます。
そのため今回はデータサイエンティストに求められるスキルのうちデータエンジニアリング力に焦点を当てて解説します。
なお本記事を作成にあたりデータサイエンティスト協会のスキルチェックリストver.4を参考にしています。
データエンジニアリング力とは?
データエンジニアリング力はデータサイエンスを意味のある形として扱えるようにして実装・運用する力を指します。
分析のためのIT基盤を構築する際に力を発揮します。
いわゆる「IT知識」と言い換えても良いかもしれません。
データの取り扱い
ここではデータを収集・加工するスキルについて解説します。
またデータ分析を行うにあたり気を付けておきたいポイントに関しては以下の記事で解説しています。
データ収集
データ分析を行うためにはデータをすぐに利用できる環境を整えなければなりません。
現場のデータを収集し、1ヵ所に集約させ、必要に応じて取り出せる構造である必要があります。
データ収集ではセンサーの特徴、データ転送のためのネットワーク知識などいわゆるIoTの知識が求められます。
場合によっては自社の複雑化したシステム達を統合したり繋げたりと骨の折れる業務にもなり得ます。
データは自社の資産となるものですので更に後述するITセキュリティとの兼ね合いも忘れてはいけません。
データ加工・共有
ビッグデータと呼ばれる程、現在収集できるデータの規模は莫大になっています。
それらデータに対して以下のような複数のデータ加工処理を行い、データ分析できる形に整えられるようにならなければなりません。
データ加工処理
- 必要な部分のみ取得(フィルタリング)
- 目的の順番に並び替え(ソート)
- 複数の表を組み合わせる(結合)
- NULL値や範囲外データを置換(クレンジング)
- データ間の四則演算処理
処理したデータはBIツールなど用いてグラフや図形式に加工し、関係者で分かりやすく共有できるようにします。
BIツールはビジネスインテリジェンスツールと呼ばれ、大量の収集データを見やすい形に整え表示させるためのツールです。
データ分析環境
環境構築
データ収集や解析を行うにもどこで行うか、何を使って行うか決めなければなりません。
その際にサーバーやネットワーク機器、ソフトウェアなど情報システムを選定しデータ分析環境を整えられることが求められます。
大きく分けて情報システムを自社施設で保有し運用するオンプレミス(オンプレ)、ネットワーク上の仮想環境を利用するクラウドコンピューティング(クラウド)での利用に分かれます。
クラウドサービスはAmazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform(GCP)が有名です。
その他にもデータを収集するためのデータベースの知識、高速処理を行うためのGPUの知識、効率的な分析環境構築のためのDockerの知識なども必要になります。
プログラミング
データ分析を行うためによく利用されるプログラミング言語がR(アール)とPython(パイソン)です。
特にPythonは分析を行うためのライブラリ(プログラミングを楽にするパッケージ)が充実しており、それを利用し早い速度で開発できることが特徴です。
ただしPythonは扱いやすいですが処理が遅い特徴があり、高速処理できるJulia(ジュリア)という言語も併せて今後普及するかもしれません。
ひとまずはPythonから使用できるようになることをオススメします。
またデータベース内のデータを操作するためにはSQL(エスキューエル)という言語が必要になります。
こちらはプログラミング言語ではなくデータベース言語と呼ばれます。
ITセキュリティ
ITセキュリティの3要素は機密性、可用性、完全性と言われています。
セキュリティの3要素
- 機密性
権利を持つ者だけが利用できる - 可用性
必要な時に利用ができる - 完全性
権利を持たない者に変更されない
この要素を満たすようにセキュリティを構築する必要があります。
特にネットワークに繋がるIoT機器やクラウドデータの取り扱いには注意が必要です。
社内に情報システム部門が配置されている場合は確実に連携を取りセキュリティホールの無い形を整えましょう
まとめ
今回はデータサイエンティストに求められるデータエンジニアリング力について解説しました。
残り2つのスキルについては以下で解説しています。
データサイエンティストに求められるスキル全体については以下で解説しています。