データ前処理

近年ではIoTやAIなど様々な分野において膨大な量のデータが使用されています。
しかし、収集したデータをそのまま分析しているだけでは、データを充分に活かしきることができません。データを最大限活用し最大の結果に結びつけるには、データ分析前に行う「データ前処理」を最適な形で実施することが不可欠です。
そのためここでは、データ前処理の概要や必要性、データ前処理の具体例などについて解説していきます。
データ前処理とは
データ前処理とは、データを機械学習アルゴリズムに入力する前に、あらかじめ何らかの加工を施すことを言います。データ前処理の作業はよく「データをきれいに整える」などと言われ、データ前処理によって「キレイなデータを作る」などと言われることもあります。
つまり、コンピューターがアルゴリズム学習しやすいよう、手に入れたデータを生のままでなく分析可能な形に整える作業全般のことを「データ前処理」と呼ぶのです。
データ前処理は、データ移行、データ分析、DWH構築、BI活用、AI導入に必要とされ、それぞれにかかる工数(時間)の約8割かかります。データ前処理は非常に大切な工程であるため、時間と手間、そして費用をかけて行うものなのです。
データ前処理はなぜ必要?
ここでは、データ前処理の必要性について整理をしていきます。
データにはエラーが含まれている
収集したデータは完璧であることはなく、通常ではエラーが含まれています。そのためデータ前処理を行い、エラーを取り除くことが必要となります。収集データのエラーとは、具体的に以下のようなものです。
- 長さや温度において、単位が異なる場合(各変数が同等に扱われない)
(長さの場合、nm・cm・m・kmなどが混在している等) - 内容は同じだが表記が異なっている場合(「1,000円」と「¥1,000」等)
データにはノイズがある
生のデータにはノイズもあり、データ前処理でノイズを取り除くことが必要です。ノイズとは取り扱う対象データの中で、目的のために必要のない、余計な要素のことを指します。
例えば、以下のようなものはデータノイズであると言えます。
- 口コミサイト等からユーザーの反響を収集したい場合の、他サイトへの誘導投稿
- SNSから口コミ情報を集めたい場合の、広告と見られる投稿
ノイズが含まれていては、せっかく収集したデータも有効活用できません。
データには欠損値が含まれている
また、収集してきたデータには欠損値が含まれることもあり、取り除く必要があります。欠損が残った状態のデータでは、その後の処理ができないことも多くあります。欠損とは「あるべきはずのデータがない状態」のことを指し、欠損の種類によって以下のように分類できます。
タイプ | 概要 | 具体例 |
MCAR | データが不規則に欠損している | 入力間違い |
MAR | データが観測している値に依存して欠損している | 全世代にアンケートを取った場合の飲酒割合 |
MNAR | データが欠損したデータに依存して欠損している | 身長/体重が欠損している場合のBMI値 |
欠損値が多いデータでは、データから全体の特徴などを適切に分析できなくなってしまいます。そのため、データ前処理の段階で欠損に気付き、取り除いていく必要があります。
対象別に行うデータ前処理の具体例
ここからは、対象別に行うデータ前処理の具体例を、1つずつ紹介していきます。
データ移行:システム構築(再構築)に伴う移行データ作成
会計システム(管理会計、財務会計、債権、債務)の改定時、旧システムと新システムには、複数のマスタが存在し、各マスタには、複数の項目が存在します。データ移行は、旧システムのマスタを新システムのマスタに合わせてデータを編集することを言います。
同じパッケージの場合は、データ移行ツールが用意されていますが、異なるパッケージ、または、自社用に修正を加えた場合には、新旧のマスタ数が異なったり、類似したマスタでも新旧の項目数が異なり、移行データの作成が必要になります。ただし、新システムで過去のデータを閲覧しなければ移行の必要はありませんが、ほとんどの場合、過去のデータを閲覧する必要があります。
データ分析:分析対象(業務データ、IoT、ビッグデータ、オープンデータ)データ整備
データ分析を実行する前には、分析対象のデータ整備を行う必要があります。IoTとは「Internet of Things(モノのインターネット)」の略です。世の中にある様々な「モノ(Things)」がインターネットでつながることを意味します。従来はインターネットがつなぐものと言えばパソコンと考えるのが通常でした。しかし現在では技術の発展により、スマホやスマートテレビ、デジタルスピーカーなど生活に使うあらゆるモノにインターネットを接続することができます。
ビッグデータとは様々な形や性格、種類を持った、膨大なデータ群のことを指し、以下の「3つのV」からなっています。
- 「Volume(ボリューム・量)」
- 「Variety(バラエティ・種類)」
- 「Velocity(発生頻度・更新頻度)」
ビッグデータを蓄積し解析することによって様々な知見を得て、ビジネスや社会にとって有益なシステムなどを生み出すことが期待されています。オープンデータとは「公開されたデータ」のことを指します。国や各自治体、各事業者などが持っている膨大なデータを公開することで、社会にとって有益な事業やサービス、地域経済の活性化などにつなげることが期待されています。
オープンデータの要件として、以下の4つが挙げられます。
- 誰でも利用できること
- 営利・非営利にかかわらず二次利用ができること
- 機械で判読できること
- 無償利用ができること
IoT・ビッグデータ・オープンデータのいずれもが膨大なデータを取り扱うことを前提としてているため、データ分析をする前のデータ整備が不可欠だと言えるのです。
AI導入時に行うデータ前処理
AI導入:機械学習(学習データ、適用データ、テストデータ)データ整備
AIを導入する際のデータ前処理では、AI用の機械学習データの整備を行います。AI用のデータを確認する際、対象ログデータの内容をレポート化し、除外すべきデータを確認、全データを統合するためにデータ整備を行います。AI用の機械学習データは膨大であり、複数人で作業を行うと品質のばらつきが出てしまいます。そこで統合したデータを利用し前データに対して同じ処理を行うことで、作業の属人化を防ぐことが期待できます。具体的な手順を一度整理できれば定期レポートとすることで、その後に同様の取り組みをする際に役立てられ、時間・コストの削減につながります。
その他のデータ処理前活用例
DWH構築:投入データ作成
DWH(データウェアハウス)を構築する前には、投入データを作成します。DWH構築時には膨大な量のデータを扱うことになりますから、それらを活用するためには最適な環境を構築し、投入するために最適な形のデータを作成することが大切でしょう。
BI活用:投入データ整備
BI活用をする前には、投入データの整備をすることが大切です。膨大なデータを収集・蓄積してBIツールを導入したとしても、データ整備が出来ていない状況ではデータを活用しきることはできません。もしデータ整備を行わずに開発が終了し、運用が開始されると、後からデータ整備をすることは手間やコストの面から非常に難しくなってしまいます。
データ前処理時に注意すべきこと
業務データでも、システムによってDBMS(Data Base Management System)、テキストファイルシステムが異なります。
DBMSは、大きくリレーショナル型(Oracle、Microsoft SQL Server、MySQL、PostgreSQL)NoSQL(DynamoDB、BigTable、HBase)がありますが、分析前にテキストファイルに出力します。ETL(Extract(抽出)、Transform(変換)、Load(ロード))ツール、EAI(Enterprise Application Integration)ツールの利用も考えられますが、データ整備・データ作成では、単純にテキストファイルに出力することをお勧めします。
システムによってDBMSが異なるのでむやみにETLやEAIをしない
システムによりDBMSは異なるため、むやみにETL・EAIをしないことが大切です。
DBMSとは、「Data Base Management System(データベースマネージメントシステム)」の略です。DBMSはデータベースを有効活用するためのソフトウェアのことを指しますが、単純にデータベースのことを意味して使用するケースもあります。
DBMSにはリレーショナル型と非リレーショナル型に分類でき、それぞれ以下のような特徴があります。
リレーショナル型
列と行で構成されており、表のような形で表されるDBMSです。データベースと言えばDBMSを指すことが多く、幅広く普及していますが、プログラムが複雑化しやすい点や処理速度の遅さが難点だと言えます。
非リレーショナル型(NoSQL)
SQLを使わないデータベースの一種です。データ加工が難しく整合性を保てないのが難点ですが、データ取得と格納が高いレベルで最適化されている点や、大規模・多種多様なデータに対応できる点で優れています。
ETLとは「Extract(抽出)・Transform(変換)・Load(格納)」という、データ統合時に発生する各プロセスの頭文字を合わせて作られた概念です。現在ではDWH構築時に発生するプロセスとして知られています。無秩序に存在するビッグデータをETL処理によって抽出し、最適なフォーマットに変換してDWHに格納します。
また、EAIとは「Enterprise Application Integration」の略であり、日本語に訳すと「企業内アプリケーション統合」を意味します。つまりEAIは企業内にある多種多様なシステムを連携させるための仕組み・技術のことを指します。
データ整備やデータ作成ではETLやEAIツールを利用することもできますが、システムによってDBMSが異なるため、単純にテキストファイルに出力することをおすすめします。
システムによってテキストファイルシステムが異なるので統一する
テキストファイルシステムは、レコード(固定長、可変長)、日本語文字コード(Shift-JIS、EUC-JP、UTF-8)、改行コード(CR+LF、LF、CR)の違いがあり、最低統一する必要があります。
データ前処理に役立つツール「データ整備サービス」
ここでは、日本ソフト開発株式会社が提供する「データ整備サービス」の概要について解説していきます。
データ整備サービスの3つの特徴
データ整備サービスには、3つの大きな特徴があります。
①Cost:明確な見積
テーブル数、データ件数に対応した料金体系で、ご利用いただけます。
②Speed:最短1週間
短期間で、データ確認、データ整備を実施いたします。
③Usability:わかりやすく
データ確認とデータ整備を繰り返すことで、データを情報にします。
データ整備サービスの詳細
データ整備サービスでは「データ確認」と「データ整備」を繰り返し、データ活用の課題解決をお手伝いいたします。
データ整備のStep1 データ確認
CSVファイルとテーブル編集仕様をお預かりし、データ確認レポートを短期間(最短2日)で作成いたします。
テーブル編集仕様の作成をお客様で行うことが難しい場合は、弊社にて作成サポートも行っていますのでご安心ください。
データ整備のStep2 データ整備
いただいたテーブル編集仕様を元に、お預かりしているCSVファイルを整備・加工して、短期間(最短4日)でCSVファイルをお返しいたします。
データ整備のStep3 データ再確認
データ整備が終わった後のCSVファイルがテーブル編集仕様に沿ったデータであることを、データ確認レポートによって確認いたします。
もしER図をいただくことができれば、テーブル間整合性レポートの作成も合わせていたします。
データ整備サービスで企業のお悩み解決
データ整備サービスをご利用になることで、企業が持つ以下のようなお悩みを解決することができます。
デジタルトランスフォーメーション(DX)関連のお悩み
「デジタルトランスフォーメーションを進めるために今あるデータの内容を確認しているが、データ量、データ数が多くて、手に負えない」
AI関連のお悩み
「AI用の機械学習(学習データ、適用データ、テストデータ)データ整備を複数人で作成しているが、品質にばらつきがあり、AIで思うような結果が得られない」
データ移行時のお悩み
「ERPシステムをクラウドサービスに移行したいが、データ移行費が高い」
「汎用機からオープン系へのマイグレーションに伴うデータ移行の工数を削減したい」