#author("2021-07-04T13:28:42+00:00","default:admin","admin") #author("2021-07-04T14:16:36+00:00","default:admin","admin") *データ処理 [#i51e4a38] **3V [#y4919288] -Volume(膨大な量) -Velocity(処理に必要な速度) -Variety(多様性) **RDB [#i61ec903] ***行指向型 [#ydb1af36] -データの追加修正やデータ検索のレスポンスが早く、トランザクションにも対応している -処理結果をすぐに返す必要がある業務システムや機器の制御などに向いている -Oracle -SQL Server -MySQL -PostgreSQL -AWS Aurora -Google Cloud Spanner ***列指向型 [#kd558a6d] -列方向でデータを圧縮して格納することで大量のデータを扱うことができ、集計や分析に特化している -Oracle Exadata -Snowflake -Amazon Redshift -Google BigQuery **NoSQL [#s2ecbd6b] ***キーバリュー型 [#v332a78e] -Memcashed -Redis -Riak ***ワイドカラム型 [#w0fbf94c] -キーバリュー型を拡張したもので、キーに対して複数のカラムを持つことができる -データごとに異なるカラムを持つことができるので、複数の種類のセンサデータの格納などに向いている -列方向の集計が得意 -Cassandra -Hbase -Google BigTable -Amazon DynamoDB ***ドキュメント型 [#q501a9a3] -XMLやJSONといった複雑なドキュメントをそのまま格納できるデータベース -スキーマが不要で、個々のドキュメントのデータ構造が自由なことから、ニュースサイトやブログなどのWebアプリケーションで使用されている -MongoDB -CouchDB -ElasticSearch ***グラフ型 [#pbedbe85] -SNSなどで人と人の関係をあらわす用途や経路検索において最短経路を導き出す用途に利用される -Neo4j -Amazon Neptune **バッチ処理 [#o28743e4] ***Hadoop [#y7591235] **ストリーミング処理 [#ud449f5a] ***リアルタイムメッセージシステム [#uc18807a] -データの送信者(Publisher/Producer)と受信者(Subscriber/Consumer)を仲介者(Broker)が仲介し、送信者からのリアルタイムデータをその都度処理し、その処理結果を必要とする複数の受信者に効率的に送信する -Pub/Subメッセージモデル -Apache Kafka -Amazon Kinesis ***CEP (Complex Event processing) [#xec85f51] -複数のデータ元から時系列に生み出されるデータをリアルタイムに処理、解析して出力する処理方式 -適用例としては、株価、SNSのテキスト、センサデータなど、様々な定型・非定型のデータを取り扱う -Apache Storm -Apache Flink *データ分析 [#b4d8a453] -一般的なデータ分析は、統計解析によってデータの特性を把握し、必要に応じて機械学習による予測(分類も含む)を行うという手順で進める -まずは生データ、もしくは平均や分散、ヒストグラムなど生データを統計処理したものを可視化して、データの傾向を見ることが効果的 -その上で、統計モデリング(統計解析による数理モデルの当てはめ)や機械学習モデルの構築を行う **データ前処理 [#u2c373df] ***データクレンジング [#p4aff6a6] -異常データ処理 -欠損データ処理 ***データ加工・データ整形 [#i97f05c8] -ダウンサンプリング -リサンプリング -データ変換 --ベクトル化 --対数変換 --周波数成分に変換(フーリエ変換) --スペクトログラムに変換 -データ統合 -正規化 ... 元データの最小値を0、最大値を1にするなどの一定の範囲に入るような操作 -標準化 ... 返還後にデータ分布の平均が0、分散(もしくは標準偏差)が1になるように変換 ***データ水増し [#x02aeb12] -変形による水増し -データ混合による水増し -シミュレーションや生成による水増し **統計解析 [#p5ddd559] -統計解析は既知のデータの特性を「説明」することを主な目的としている -データの背景にある現象の数理モデルが明確であるため、分析結果の因果関係を人間が理解しやすいという特徴がある ***予測 [#n290ab55] -相関分析 --変数間の関連性を単純に調べる分析 --一方の変数が変化すると、他方の変数もそれに応じて変化する関係 --相関係数は-1から+1の間の値であり、+1に近いと正の相関、-1に近いと負の相関があることを示し、0は相関関係がないことを示す -回帰分析 --影響を及ぼす側を独立変数、影響を及ぼされる側を従属変数と呼び、独立変数と従属変数の間の関係を表す式を統計的手法によって推定する --回帰分析で使われる最も基本的なモデルは、1次関数 y=ax+b という形式の線形回帰で表すことができる -決定木分析 ***分類 [#l1351adb] -主成分分析 --データの中からいくつかの属性を選択して組み合わせ、新たな属性を作り出すことにより、データ全体の分布傾向を把握する分析手法 -クラスター分析 --データ全体をデータ間の類似度に従って、自動的にいくつかのグループに分類する手法 **機械学習 [#yabff702] -機械学習は既知のデータから未知のデータを「予測」することを主な目的としている -機械学習は、まず機械が「学習」するところから始まる -機械の「学習」目的は学習モデルを作ることにある -学習モデルは訓練用のデータにより学習器を用いて作る -訓練データには正解データ(教師データ)がセットで提供される -学習器は入力されたデータに対して正解を参照しながら、データの規則性やパターンなどを見つけ出す仕組みを持っている -直接学習モデルに未知のデータを入力すれば、学習モデルが分析結果を出力する -学習のためには大量のデータと、そのデータを高速に処理する演算能力が必要となり、学習モデルを完成させるには多くの時間がかかる -学習が終了した学習済みモデルによる実行(推論)フェーズでは、学習フェーズと比べるとそれほど処理能力は必要ではなく、分析処理にかかる時間も短くなり、エッジデバイスなどの比較的非力な環境でも実行が可能である ***教師あり学習 [#m112235e] -モデル化したい現象の要因を表すデータ(説明変数)と、結果を表すデータ(目的変数)の対を大量に学習させることで、予測モデルや識別モデルなどの学習モデルを構築する -ベイジアンモデル -サポートベクターマシン -ランダムフォレスト --アンサンブル学習(複数の学習モデルを統合して学習モデルを作成する手法)の1つ ***教師なし学習 [#o7886699] -モデル化したい現象の要因を表すデータ(説明変数)のみを大量に学習させ、この入力データをもとに特徴を自ら抽出して学習モデルを構築する ***半教師あり学習 [#o18fb9ba] ***強化学習 [#t0d06bfb] -行動に対して得られる報酬を最大にするために、どのような行動をとったら良いかを相互作用により学習する問題のフレームワーク ***深層学習 [#o20d0713] -多層構造のニューラルネットワークを基本とした機械学習 -畳み込みニューラルネットワーク(CNN) -再起型ニューラルネットワーク(RNN) -オートエンコーダ -深層強化学習 **分析結果の評価 [#p1607416] *データ活用技術 [#d6d1006e] **IoTプラットフォーム [#yd4851a2]