自動車開発における ビッグデータ/クラウド時代のデータ解析€¦ ·...
TRANSCRIPT
1© 2014 The MathWorks, Inc.
自動車開発におけるビッグデータ/クラウド時代のデータ解析
MathWorks Japan
テクニカルコンサルティング部
日下志友彦
2© 2014 The MathWorks, Inc.
自動車開発におけるビッグデータ/クラウド時代のデータ解析
MathWorks Japan
テクニカルコンサルティング部
日下志友彦
3
内容
自動車開発におけるデータ解析
データ解析とMATLAB
まとめ
4
“ビッグデータ ” とは
ビッグデータ(英語: Big data)は、
情報技術分野の用語としては、通常のデータベース管理ツールなどで取り扱う事
が困難なほど巨大な大きさのデータの集まりのこと。通常は、構造化データおよび
非構造化データが含まれ、その多様性とサイズや要求される処理の速度と高度化
のため、格納と活用(検索/共有/分析/可視化など)の実現を目指したもの。
概要
情報通信、とくにインターネットの発達にともなって爆発的に増大した構造化されて
いない莫大な量のデータ。それら様々な局面に発生した巨大データの集まりを分
析することでビジネス傾向の特定、病気の予防、犯罪の対策などにメリットがある
と言われている。技術の進歩により変化するが、ペタバイト、エクサバイト、ゼタバ
イトなどが現在のデータの大きさの限界である。ビッグデータは気象学、ゲノミクス、
コネクトミクス、複雑な物理シミュレーション、環境生物学、インターネット検索、経
済学、経営情報学などの分野で科学者が日常直面する課題である。モバイル機
器に搭載されたセンサー、リモートセンシング技術、ソフトウェアのログ、カメラ、マ
イクロフォン、RFIDリーダー、無線センサーネットワークなどでデータが収集される
ようになったこともデータが増加する一因となっている。
「ビッグデータ」『フリー百科事典 ウィキペディア日本語版』。2013年7月8 (月) 13:23 UTC
5
“ビッグデータ ” とは
とにかく大量のデータ!!
– データストレージの容量が大きくなり安くなった
– センサー技術の向上
– ネットワーク技術の向上
⇒ とりあえずデータがどんどんたまっていっている
なんとか解析して有効活用したい
6
よくあるビッグデータ解析の事例
Webショッピング– 購買履歴などからおすすめ情報を提示
⇒大規模なシステムを構築、新たなビジネス
⇒自動車開発では?
7
データはどこにでも!
実験データ
シミュレーションデータ
⇒ あらゆる大量のデータが存在
8
例:CANデータ
CAN: Controller Area Network
– データフレーム: 0~8バイト
100種類、1000Hz のデータ量– 1秒当たり : 100×1,000 = 100,000
– 1分あたり : 1000× 60 = 6,000,000
– 1時間あたり : 60,000× 60 = 36,000,000
– 1日あたり : 360,000× 24 = 864,000,000
– 1か月あたり : 8640,000× 30 = 2,592,000,000 (約26億)
1フレームあたり 8バイトとすると
2,592,000,000×8 = 約19GByte
さらに車の数が増えると…
データの種類が増えると…
9
開発現場における ビッグデータ?
データは様々な種類があり、たくさん収集されている
いわゆる “ビッグデータ” と呼ばれる規模までいかなくても従来の方法では取り扱うには難しいデータサイズになってきている
十分に活用されていないケース
10
開発現場におけるデータ解析における課題
1. 大量のデータをどのように取り扱うか 表計算ソフト等での取り扱いの限界
専用システム構築⇒ コスト高 (インフラ、システム構築)
処理時間
2. 何をどう解析し、どういった知見を得るか 様々な統計手法
「仮説⇔検証」 が重要
専門ツール/システムではカスタマイズ範囲が限定
知見
分析/解析手法
データ管理
11
データ解析(統計解析)の目的、利点①
データの特徴を見る– 基本統計量
平均値、分散値、最大値、最小値、最頻値、中央値、等
– データの可視化
グラフ
ヒストグラム
散布図
例:想定される範囲?異常値はないか?
12
データ解析(統計解析)の目的、利点②
データ間の関係を調べる:多変量解析– 相関
– 因子分析、主成分分析、判別分析
例: 燃費に影響する要因は?
13
データ解析(統計解析)の目的、利点③
モデルを作って未来を予測する– 回帰分析、重回帰分析
– 機会学習
File 1
1.2312
3.7195
4.9183
.
.
File 2
6.7125
2.7552
9.9183
.
.
File 3
4.9581
0.1734
1.4150
.
.
品質結果 1:
GREAT
品質結果 2:
OK
品質結果 3:
GOOD
モデル f(x)
y = f(x1,x2,x3,x4,…)
予測を用いた制御故障診断等様々な可能性が…
14
データ解析とMATLAB
MATLAB®
– 数値計算、可視化、
プログラミングのための
高水準言語による
対話型の環境
データ解析のための統一プラットフォーム
15
データ解析とMATLAB
データ解析フローをトータルでサポート
大規模データにも対応
MATLAB
データの読み込み
解析結果の可視化
16
データの読み込み
豊富なファイルI/O関数– 各種フォーマットへの対応した入出力関数
– 低水準ファイルI/O (独自のフォーマットに対応)
計測ハードウェアからのデータの読み込み (次ページ参照)
– Data Acquisition Toolbox : データ収集ボードからの読込
– Instrument Control Toolbox : 計測器の制御・通信
– Vehicle Network Toolbox : CANデータ
– Image Acquisition Toolbox : 画像取り込み
データベースからの読み込み– Database Toolbox : SQLデータベースへのアクセス
– OPC Toolbox : OPC DA/OPC HAD へのアクセス
データの読み込み
解析結果の可視化
Hadoop MapReduce
との連携も! (次々ページ参照)
17
計測ハードウェアとのインターフェース
Data Acquisition Toolboxプラグインデータ収集カード・ボード
Instrument Control Toolbox計測器/ RS-232 etc
MATLAB上記ハードウェア以外との通信
Image Acquisition Toolboxイメージキャプチャデバイス
Vehicle Network ToolboxCAN バスインタフェース
18
【参考】 Hadoop®とは分散処理を利用した大規模データ向けミドルウェア
Apache™ Project の1つで– Hadoop Common
– Hadoop Distributed File System (HDFS™)
– Hadoop MapReduce
という3本柱から構成される– Java™ がソフトウェアフレームワーク
HDFS
– 複数ホストにまたがる分散ファイルシステム
Hadoop MapReduce
– HDFS上のデータに効率よくアクセスするためのフレームワーク
19
【参考】 HDFS™へのアクセスMATLABにデータインポート
連携方法 – 2つの選択肢1. Java API + テキストファイルのインポート
2. JDBCドライバ (Database Toolbox)
.txt Java
Database
Toolbox
20
解析
MATLAB 言語によるプログラミング– 行列処理、基本データ解析
豊富な解析関数群– MATLAB : 行列処理、基本統計
– Statistics Toolbox : 統計解析
– Curve Fitting Toolbox : データの曲線/面近似
– Optimization Toolbox/
Global Optimization Toolbox : 最適化
– Neural Network Toolbox : ニューラルネットワーク
– Signal Processing Toolbox : 信号処理、フィルタ
並列処理– Parallel Computing Toolbox : 並列処理/分散処理
– MATLAB Distributed Computing Server : クラスター、クラウド
データの読み込み
解析結果の可視化
21
Statistics Toolbox- 統計解析・処理ツール -
データ収集と管理 実験計画法 確率密度関数からの生成(ワイブル分布など)
調査と解析 データの可視化
ヒストグラム、グループ別散布図、箱ひげ図、確率密度関数や分布関数のグラフ
記述統計(ブートストラップ法など) 仮説検定(T検定など) 分散分析・ANOVA 多変量統計
主成分分析 因子分析 クラスター分析 K-means
モデリングとシミュレーション 線形・非線形・ノンパラメトリックモデリング 機械学習 モンテカルロシミュレーション
22
MATLAB による並列処理
Computer Cluster
MATLAB Distributed Computing Server™
Scheduler
Desktop Computer
Parallel Computing Toolbox™
※ 8月27日にセミナー
23
MATLABによる並列処理の方法
オプション設定 :自動で関数処理を並列化– 最適化関数
– 画像処理等
parforによる並列化
– for文を parforに書き換えるだけで並列処理が可能
※ループにおいて依存関係がないことが条件
バッチジョブによる並列化– 分散するジョブ(タスク)を定義して処理
その他プログラミング– CUDA等
非常に簡単に並列化
高度な並列処理にも対応
24
結果の可視化
グラフィックス機能– 豊富なグラフィックス関数群
– GUIDE : GUI作成
– Mapping Toolbox : 地図データ
レポート作成– MATLAB Report Generator:HTML/Word/PDF形式のレポート生成
アプリケーション開発– MATLAB Compiler
– MATLAB Builder JA
– MATLAB Builder EX
– Spreadsheet Link EX
– MATLAB Production Server
データの読み込み
解析結果の可視化
25
26
Mapping Toolbox
GPS データと連携解析
27
開発現場におけるデータ解析における課題
1. 大量のデータをどのように取り扱うか 表計算ソフト等での取り扱いの限界
専用システム構築⇒ コスト高 (インフラ、システム構築)
処理時間
2. 何をどう解析し、どういった知見を得るか 様々な統計手法
「仮説⇔検証」 が重要
専門ツール/システムではカスタマイズ範囲が限定
知見
分析/解析手法
データ管理
28
①大規模データへの対応大量のデータをどのように取り扱うか
64bit対応– 2G Byte以上のデータの取り扱いが可能
容易な並列処理/分散処理– Parallel Computing Toolbox/
MATLAB Distributed Computing Server
– クラウドコンピューティング
Hadoop MapReduce との連携
29
Tips: 大規模データへの対応
大きすぎるなら扱いやすいように小さくする!
– 目的・用途に応じて
– 必ずしもすべてのデータを保存しておく必要はない
– 不要なデータは捨てる
– 分割する (扱いやすいサイズ)
– 圧縮する
ダウンサンプリング
基本統計量 (平均、最小、最大、等)
– ストリーミング処理
取得したデータを次々に処理
結果だけを残す
30
②何をどう解析し、どういった知見を得るか
MATLAB言語 : 記述が容易な科学技術計算用言語– 行列をそのまま解析することが可能
– インタプリタ型言語でインタラクティブに結果を確認しながら開発
– 様々な実用的な関数やオプション
– 豊富な書籍・資料・サンプル、共有ファイル(MATLAB Central)
アプリケーション化– GUI を用いた独自の解析
– スタンドアローンアプリケーションの配布も可能
31
事例紹介
32
事例:Daimler AG
燃料電池車のテストデータの解析– 走行距離、燃料消費、GPS等
データへのアクセス– Database Toolbox で必要なデータを収集
前処理/解析– MATLAB で不要データをフィルタ
– 不正データ(GPS未取得など)を前処理
– MATLAB で集計、解析
可視化– MATLAB でグラフ化、Webブラウザで結果を確認
– Mapping Toolbox で地図データとあわせた可視化
100時間以上かかっていたマニュアルによる解析が自動化
http://www.mathworks.co.jp/company/newsletters/articles/analyzing-test-data-from-a-worldwide-fleet-of-fuel-cell-vehicles-at-daimler-ag.html
33
解析結果例:地域ごとの走行距離の解析
34
解析結果例:燃料消費の分析
35
解析結果例:地域ごとのSOC分布
36
解析結果例:ブレーキパターンの解析
速度
ペダル位置
37
事例:CEESER
車両データの解析– CANデータ
– GPSデータ
– ビデオデータ
クラスター処理
大規模対応データベースと連携
http://www.mathworks.co.jp/company/events/conferences/matlab-virtual-conference/2013/proceedings/data-processing-framework-supporting-large-scale-driving-data-analysis.html
38
まとめ
MATLAB は 「データ解析統一プラットフォーム」– データ解析フロー全体をサポート
– スケーラビリティへの対応
並列処理
クラウド
データ解析の肝である「仮説⇔検証」 を効果的に実施
大量データから価値ある「知見」を発見
MATLAB
データの読み込み
解析結果の可視化
39
コンサルティングのソリューション
お客様のデータ解析の立ち上げ支援
– ユーザ独自のデータフォーマットとのインタフェースの作成
– ベースとなる解析プログラムのサンプル
– ユーザ仕様に応じたレポートプログラムの作成
– 効率的な PCT/MDCS の利用
ユーザーのスキルアップを支援
– サンプルプログラムの使用方法の説明
– 必要な機能に特化した教育を実施
– カスタマイズに必要な知識
– データ解析に関するアドバイス・提案