内容紹介
Pythonでデータサイエンスの理論と実践を学ぶ
データサイエンスは、「データを科学的に扱う」学問分野であり、近年、ICTの進展によって、センサやインターネットを通じて取得できるデータ量が爆発的に増加したこと、コンピュータの高性能化に伴ってこれまでできなかった大規模なデータ処理が可能となったことなどから注目されています。
本書は,データサイエンスの意味から金融データの分析、動的システムの分析などの工学応用までを、Pythonを使って実際に分析しながら学ぶものです.データの取り扱い、確率・統計の基礎といった基本的なところから、回帰分析、パターン認識、深層学習といった統計・機械学習手法、金融データなど時々刻々と変化する時系列データの分析、センサデータなどに含まれるノイズや外乱を見極めるスペクトル分析、さらにこのノイズや外乱を除去するためのディジタルフィルタ、そして最後に画像データの分析として画像処理の解説を行い、読者がデータサイエンスの一通りを俯瞰できるようになっています。
Pythonを使った解説によって理論と実践を同時に学ぶことができるので、データサイエンスを学び、自身の分野に応用したい方にピッタリの一冊です。
〈本書のサポートページ〉
https://github.com/ohmsha/MHBooks
このような方におすすめ
・自身の専門分野,工学,経済,人文社会系でデータサイエンスを応用したい方
・センサデータなどの時系列データ分析を行いたい方
・Pythonで動的システムの分析や信号処理・解析を行いたい方
目次
主要目次
1章 はじめに
2章 データの扱いと可視化
3章 確率の基礎
4章 統計の基礎
5章 回帰分析
6章 パターン認識
7章 深層学習(ディープラーニング)
8章 時系列データ分析
9章 スペクトル分析
10章 ディジタルフィルタ
11章 画像処理
跋
参考文献
索引
詳細目次
第1章 はじめに
1.1 データサイエンス概要
1.1.1 読み始める前に
1.1.2 データサイエンスとは
1.1.3 データサイエンスの領域と役割
1.1.4 データを見る眼を養う
1.2 Python とパッケージ
1.2.1 Python の導入
1.2.2 本書で用いるパッケージ
1.3 いくつかの決めごと
1.3.1 Notebook とスクリプト
1.3.2 モジュール名の省略語
1.3.3 ファイル名の省略
1.3.4 パッケージ関数の使用法の調べ方
1.4 クイックスタート
1.4.1 インストール
1.4.2 Jupyter Notebook・スクリプトの開発と実行方法
1.4.3 プログラムとデータの入手方法
1.5 Python で日本語を扱う
1.5.1 スクリプトに日本語を記述する
1.5.2 日本語を含むデータファイルを読む
1.5.3 matplotlib で日本語を表示する
1.6 用語の違い
1.6.1 説明変数= 目的変数,入力= 出力
1.6.2 サンプルとデータ
1.6.3 予測と推定
1.6.4 クラス分類
1.6.5 トレーニングデータ,テストデータ
1.6.6 オーバーフィッティング
1.6.7 分 析
1.6.8 変 数
1.6.9 相関と共分散
1.7 数学,数値計算,物理のことはじめ
1.7.1 数学のことはじめ
1.7.2 数値計算の問題
1.7.3 物理のことはじめ
第2章 データの扱いと可視化
2.1 データの種類
2.2 データの取得
2.3 データの格納
2.3.1 numpy.ndarray
2.3.2 pandas.DataFrame
2.3.3 numpy.ndarray とpandas.DataFrame の変換
2.4 グラフの作成
2.4.1 matplotlib
2.4.2 複数のグラフ
2.4.3 Titanic(タイタニック号)のpandas プロット
2.4.4 Iris(アイリス)のseaborn プロット
2.4.5 Iris データ
第3章 確率の基礎
3.1 確率とは
3.2 基本的用語の説明
3.2.1 離散確率変数
3.2.2 連続確率変数
3.2.3 確率密度関数,確率質量関数とパーセント点
3.2.4 母集団と標本
3.2.5 平均,分散,他の諸量
3.2.6 離散型の期待値と平均
3.3 正規分布
3.3.1 正規分布の表現
3.3.2 確率変数の生成
3.3.3 中心極限定理
3.4 ポアソン分布
3.4.1 ポアソン分布の表現
3.4.2 ポアソン分布の例
3.4.3 ポアソン到着モデルのシミュレーション
3.4.4 逆関数を用いた乱数生成
3.5 確率分布とパッケージ関数
3.5.1 ベルヌーイ分布
3.5.2 二項分布
3.5.3 ポアソン分布
3.5.4 カイ二乗分布
3.5.5 指数分布
3.5.6 F 分布
3.5.7 正規分布
3.5.8 t 分布
3.5.9 一様分布
第4章 統計の基礎
4.1 統計とは
4.2 推 定
4.2.1 点推定
4.2.2 区間推定
4.2.3 母平均の信頼区間
4.2.4 母比率の信頼区間
4.3 仮説検定
4.3.1 仮説検定とは
4.3.2 片側検定と両側検定
4.3.3 母平均の検定
4.3.4 母分散の検定
4.3.5 標本の平均の差の検定
4.3.6 相関,無相関の検定
第5章 回帰分析
5.1 回帰分析とは
5.1.1 回帰の由来
5.1.2 システム論から見た回帰分析
5.1.3 statsmodels
5.2 単回帰分析
5.2.1 単回帰分析の意義
5.2.2 単回帰モデルの統計的評価
5.2.3 家計調査
5.2.4 シンプソンのパラドックス
5.2.5 数学的説明
5.3 多項式回帰分析
5.3.1 多項式モデル
5.3.2 R データセットのcars
5.4 重回帰分析
5.4.1 F 検定
5.4.2 多重共線性
5.4.3 電力と気温の関係
5.4.4 ワインの品質分析
5.4.5 数学的説明
5.5 一般化線形モデル
5.5.1 一般化線形モデルの概要
5.5.2 ポアソン回帰モデル
5.5.3 z = の例
5.5.4 z = +x1 の例
5.5.5 ロジスティック回帰モデル
5.5.6 数学的説明
第6章 パターン認識
6.1 パターン認識の概要
6.1.1 パターン認識とは
6.1.2 クラス分類の性能評価
6.1.3 ホールドアウトと交差検証
6.1.4 扱うパターン認識方法
6.2 サポートベクタマシン(SVM)
6.2.1 クラス分類とマージン最大化
6.2.2 非線形分離のアイディア
6.2.3 線形,円形,月形データのハードマージン
6.2.4 ソフトマージンとホールドアウト
6.2.5 交差検証とグリッドサーチ
6.2.6 多クラス分類
6.3 SVM の数学的説明
6.3.1 マージン最大化
6.3.2 カーネル関数の利用
6.3.3 ソフトマージン
6.4 k 最近傍法(kNN)
6.4.1 アルゴリズムの考え方
6.4.2 kNN の基本的使い方
6.4.3 Iris データ
6.4.4 sklearn が用意している距離
6.5 k 平均法
6.5.1 アルゴリズムの考え方
6.5.2 make blobs を用いたクラスタリング
6.5.3 卸売業者の顧客データ
6.5.4 数学的説明
6.6 凝集型階層クラスタリング
6.6.1 アルゴリズムの考え方
6.6.2 デンドログラム
6.6.3 富山県の市町村別人口動態
第7章 深層学習
7.1 深層学習の概要と種類
7.1.1 深層学習とは
7.1.2 深層学習の活用例
7.1.3 用語の説明
7.2 Chainer
7.2.1 概要とインストール
7.2.2 実行と評価
7.2.3 NN 用スクリプトの説明
7.3 NN(ニューラルネットワーク)
7.3.1 概要と計算方法
7.3.2 NN スクリプトの変更
7.4 DNN(ディープニューラルネットワーク)
7.4.1 概要と実行
7.4.2 ファイルデータの扱い方
7.5 CNN(畳み込みニューラルネットワーク)
7.5.1 概要と計算方法
7.5.2 学習と検証
7.5.3 トレーニングデータの作成法
7.6 QL(Q ラーニング)
7.6.1 概要と計算方法
7.6.2 実行方法
7.6.3 瓶取りゲーム
7.7 DQN(ディープQ ネットワーク)
7.7.1 概 要
7.7.2 実行方法
7.7.3 瓶取りゲーム
第8章 時系列データ分析
8.1 動的システム
8.1.1 因果性と動的システム
8.1.2 動的システムの線形モデル
8.1.3 次システムの時間応答
8.1.4 次システムの時間応答
8.2 離散時間系
8.2.1 離散化
8.2.2 サンプリング時間の選定
8.2.3 離散時間系の差分形式の見方
8.2.4 遅延演算子z^{-1}
8.2.5 離散時間モデル導入の問題設定
8.3 ARMA モデル
8.3.1 ARMA モデルの表現
8.3.2 可同定性とPE 性の条件
8.3.3 入力信号の候補とb0項の問題
8.3.4 ARMA モデルの安定性と性質
8.3.5 パラメータ推定
8.4 モデルの評価
8.4.1 モデル次数の選定とAIC
8.4.2 モデル次数の選定と極・零点消去法
8.4.3 残差系列の検定
8.5 ARMA モデルを用いた予測
8.5.1 予測の仕方
8.6 ARIMA モデル
8.6.1 トレンド
8.6.2 ARIMA モデルの表現
8.6.3 トレンドをもつ時系列データ分析
8.7 SARIMAX モデル
8.7.1 航空会社の乗客数
8.7.2 ほかの季節性データ
8.8 株価データの時系列分析
8.8.1 移動平均
8.8.2 ボリンジャーバンド
8.8.3 ローソク足チャート
第9章 スペクトル分析
9.1 基本事項
9.1.1 周波数とは,音を鳴らす
9.1.2 スペクトルとは
9.2 フーリエ変換
9.2.1 フーリエ変換とフーリエ逆変換
9.2.2 振幅,エネルギー,パワースペクトル
9.3 現実の問題点
9.3.1 サンプリング問題
9.3.2 エイリアシング
9.3.3 有限長波形の問題点
9.4 離散フーリエ変換(DFT)
9.4.1 DFT の表現
9.4.2 サイン波のDFT 例
9.4.3 ゼロ埋込み
9.5 窓関数
9.5.1 窓関数の種類
9.5.2 窓関数の使用例
9.5.3 数学的表現
9.6 ランダム信号のパワースペクトル密度
9.6.1 パワースペクトル密度の表現
9.6.2 PSD は確率変数
第10章 ディジタルフィルタ
10.1 フィルタの概要
10.1.1 フィルタとは
10.1.2 フィルタ特性
10.1.3 デシベル〔dB〕
10.2 アナログフィルタの設計
10.2.1 バターワースフィルタ
10.2.2 チェビシェフフィルタ
10.3 ディジタルフィルタの設計
10.3.1 ディジタルフィルタの導入
10.3.2 ディジタルフィルタの構造
10.3.3 FIR フィルタ
10.3.4 IIR フィルタ
10.3.5 正規化角周波数
10.4 FIR フィルタの設計
10.4.1 窓関数を用いた設計法
10.4.2 設計例
10.5 IIR フィルタの設計
10.5.1 アナログフィルタに基づく方法
10.5.2 設計例
第11章 画像処理
11.1 画像処理の概要
11.1.1 表色系
11.1.2 数値としての表現
11.1.3 標本化と量子化
11.1.4 画像データの入手
11.1.5 OpenCV のドキュメント
11.1.6 実行方法
11.2 画像処理の例
11.2.1 値化
11.2.2 エッジ検出
11.2.3 周波数フィルタリング
11.2.4 特徴点抽出
11.3 その他
11.3.1 カメラからの動画取得
11.3.2 オプティカルフロー
11.3.3 顔認識
参考文献
跋
索引
続きを見る