Statistics and Machine Learning Toolbox

統計と機械学習を使用してデータを解析およびモデル化

 

Statistics and Machine Learning Toolbox™ には、データを記述、解析、およびモデル化する関数やアプリが用意されています。探索的データ解析のために記述統計、可視化、およびクラスタリングを使用したり、確立分布をデータにあてはめたり、モンテカルロ シミュレーションのために乱数を生成できるほか、仮説検定を行うことも可能です。回帰および分類アルゴリズムにより、分類学習器アプリと回帰学習器アプリを使用して対話的に、または自動化された機械学習 (AutoML) を使用してプログラム的に、データから推定を行い予測モデルを作成できます。

また、多次元データの解析および特徴抽出については、ツールボックスで、主成分分析 (PCA)、正則化、次元削減、特徴選択の手法が提供されており、予測精度を最大限に高める変数の特定が可能です。

このツールボックスには、サポート ベクター マシン (SVM)、ブースティングされた決定木、k-means、およびその他のクラスタリング手法を含む、教師あり機械学習、半教師あり機械学習、および教師なし機械学習のアルゴリズムが用意されています。部分従属プロットや LIME、および組み込み配布向けの C/C++ コード自動生成などの解釈可能性の手法を適用することができます。メモリに収まりきらない大きなデータセットに、多くのツールボックス アルゴリズムを使用することができます。

詳細を見る:

探索的データ解析

対話型グラフィックスによる統計プロッティング、記述統計を通じてデータを検討します。クラスタリングを使用してパターンと特徴量を特定します。

可視化

確率プロット、箱ひげ図、ヒストグラム、Q-Q プロット、および多変量解析用の高度なプロット (樹形図、バイプロット、アンドリュース プロットなど) を使用してデータを視覚的に探索します。

多次元散布図を使用して、変数間の関係を検討。

記述統計

いくつかの関連性の高い数値を用いると、大規模なデータセットであっても、すばやく理解して記述することができます。

グループ化された平均と分散を使用してデータを探索。

クラスター分析

k-means、k-medoids、DBSCAN、階層クラスタリングおよびスペクトル クラスタリング、混合ガウスおよび隠れマルコフモデルを使用してデータをグループ化し、パターンを見つけます。

2 つの同心円グループに DBSCAN を適用。

特徴抽出および次元削減

生データを機械学習に最も適した特徴量に変換します。繰り返し、新たな特徴量を探索して作成し、パフォーマンスを最適化する特徴量の組を選択します。

特徴抽出

スパース フィルタリングや再構成型独立成分分析 (RICA) などの教師なしの学習技術を使用して、データから特徴量を抽出します。専門的な手法を使用して、画像、信号、テキスト、および数値データから特徴量を抽出することもできます。

モバイル端末から提供された信号からの特徴量の抽出。 

特徴選択

データのモデル化において、予測精度を最大限に高める特徴量の部分集合を自動的に特定します。特徴選択手法には、ステップワイズ回帰、逐次特徴選択、正則化、およびアンサンブル法などがあります。

NCA は、モデルの精度を最大限に保持する特徴量の選択に役立つ。

特徴変換および次元削減

既存の (非カテゴリカル) 特徴量を新しい予測子変数に変換して次元削減を行うと、記述力の小さい特徴量を落とすことができます。特徴量変換手法には、PCA、因子分析、非負値行列因子分解などがあります。

PCA は、高次元ベクトルをその情報の大部分を保持しながら、より低次元の直交座標系に射影できる。

機械学習

対話型アプリまたは自動化された機械学習 (AutoML) を使用して、予測の分類および回帰モデルを構築します。特徴量を自動的に選択し、最適なモデルを特定して、ハイパーパラメーターを調整します。

予測モデルの学習、妥当性確認、調整

さまざまな機械学習アルゴリズムの比較、特徴量の選択、ハイパーパラメーターの調整、多くの一般的な分類アルゴリズムおよび回帰アルゴリズムの性能評価を行います。対話型アプリで予測モデルを構築して自動的に最適化し、ストリーミングデータを使用して段階的にモデルを改善します。

モデルの解釈可能性

部分従属プロット、個別条件付き期待値 (ICE)、LIME などの確立された解釈の手法を適用して、ブラックボックス化した機械学習モデルの解釈可能性を強化します。

LIME で、複雑なモデルの単純な近似を局所的に作成。

自動化された機械学習 (AutoML)

モデルの精度を高めるには、ハイパーパラメーターを自動的に調整し、特徴量とモデルを選択して、データセットの不均衡をコスト行列で対処します。

ベイズ最適化を使用してハイパーパラメーターを効率的に最適化。

回帰および ANOVA

連続応答変数を 1 つ以上の予測子の関数としてモデリングします。これには、線形および非線形回帰、混合効果モデル、一般化線形モデル、ノンパラメトリック回帰を使用します。分散分析 (ANOVA) を使用して、分散をさまざまな発生源に割り当てます。

線形回帰および非線形回帰

多数の線形または非線形回帰アルゴリズムから選択して、複数の予測子または応答変数を持つ複雑なシステムの動作をモデル化します。多層または階層型、線形、非線形、および一般化線形混合効果モデルを入れ子および/または交差変量効果とともにあてはめ、縦方向またはパネル分析、反復測定、および成長モデリングを実行します。

回帰学習器アプリで対話的に回帰モデルをあてはめる。

ノンパラメトリック回帰

SVM、ランダムフォレスト、ガウス過程、ガウスカーネルを使用する予測子と応答の関係を示すモデルを指定せずに、正確な近似を生成します。

 分位点回帰を使用して外れ値を識別。

分散分析 (ANOVA)

標本分散をいくつかの異なる発生源に割り当て、変動がグループ内で発生したものか、異なるグループ間で発生したものかを決定します。1 因子、2 因子、多因子、多変数、ノンパラメトリック ANOVA、共分散分析 (ANOCOVA)、および反復測定分散分析 (RANOVA) を用います。

多因子 ANOVA を使用してグループを検定。

確率分布および仮説検定

分布をデータにあてはめます。サンプルごとの差異が有意か、またはランダムデータの変動に一致しているかを解析します。さまざまな分布から乱数を生成します。

確率分布

連続分布および離散分布のあてはめ、統計プロットを使用した適合度の評価、40 以上の異なる分布の確率密度関数および累積分布関数の計算を行うことができます。

Distribution Fitter アプリを使用して対話的に分布をあてはめる。

乱数生成

あてはめた確率分布または作成した確率分布から、擬似乱数ストリームおよび準乱数ストリームを生成します。

乱数を対話的に生成。

仮説検定

t 検定、分布検定 (カイ二乗、ジャック-ベラ、リリーフォース、およびコルモゴルフ-スミルノフ)、および 1 標本、対応のある標本、独立した標本のノンパラメトリック検定を行います。自己相関と乱数度の検定を行い、分布を比較します (2 標本コルモゴルフ-スミルノフ)。

片側 t 検定における棄却域。

産業統計

効果とデータの傾向を統計的に解析します。カスタマイズされた実験計画法や統計的工程管理などの産業用統計技術を適用します。

実験計画法 (DOE)

カスタマイズした DOE を定義、解析、および可視化します。データ入力が出力に及ぼす影響の情報を生成できるよう、実用的な計画を作成、テストし、データ入力を操作します。

ボックスベーンケン計画法を適用して、高次の応答曲面を生成。

統計的工程管理 (SPC)

プロセスの可変性を評価することで、製品やプロセスを監視、改良します。管理図の作成、工程能力の見積もり計算、およびゲージ反復性および再現性の評価を行います。

管理図を使用して製造工程を監視。

信頼性および生存時間分析

コックス比例ハザード回帰を行い、分布をあてはめることで、打ち切りの有無にかかわらず、故障までの時間データを可視化して分析します。経験的ハザード関数、生存時間関数、累積分布関数、およびカーネル密度推定値を計算します。

「打ち切られた」値の例としての故障データ。

ビッグデータ、並列化、およびクラウド コンピューティング

統計と機械学習の手法をメモリに収まらないデータに適用します。クラスターやクラウドインスタンスでの並列化を使用して、統計的計算と機械学習モデルの学習を高速化します。

tall 配列でビッグデータを分析する

分類、回帰、クラスタリングの多くのアルゴリズムで tall 配列および table を使用し、コードを変更することなくメモリに収まりきらないデータセットを使ってモデルを学習させることができます。

Parallel Computing Toolbox または MATLAB Parallel Server を使用して計算を高速化。

クラウドおよび分散コンピューティング

クラウドインスタンスを使用して、統計および機械学習の計算を高速化します。MATLAB Online™ ですべての機械学習ワークフローを実行します。

Amazon または Azure のクラウドインスタンスで計算を実行。

展開、コード生成、および Simulink との統合

統計や機械学習を組み込みシステムに展開し、C コードを使用して計算負荷の高い計算を高速化して、エンタープライズ システムや Simulink モデルと統合します。

コード生成

MATLAB Coder™ を使用して、分類および回帰アルゴリズム、記述統計量、および確率分布を推定するために、移植可能で読み取り可能な C または C++ コードを生成します。Fixed Point Designer™ を使用して精度を下げて C/C++ 予測コードを生成し、予測コードを再生成せずに、展開済みモデルのパラメーターを更新します。

2 つの展開方法: C コードを生成するか、MATLAB コードをコンパイルする。

Simulink との統合

組み込みハードウェアへの展開またはシステムのシミュレーション、検証、および妥当性確認のために、機械学習モデルを Simulink モデルと統合します。

アプリケーションおよびエンタープライズ システムとの統合

MATLAB Compiler™ を使用して、統計モデルおよび機械学習モデルをスタンドアロン、MapReduce、Spark™ アプリケーション、Web アプリケーション、または Microsoft® Excel® アドインとして展開します。MATLAB Compiler SDK™ を使用して、C/C++ 共有ライブラリ、Microsoft .NET アセンブリ、Java® クラス、および Python® パッケージを構築します。

MATLAB Compiler を使用して、空気の質の分類モデルを統合。

新機能

AutoML

回帰用の最適なモデルとそれに紐づいたハイパーパラメーターを自動的に選択 (fitrauto)

解釈可能性

LIME (locally interpretable model-agnostic explanations) の取得

SVM 予測ブロック

Simulink での SVM モデルのシミュレーションとコード生成

増分学習

線形回帰モデルおよび二項分類モデルを追加で学習

半教師あり学習

グラフおよび自己学習モデル (fitsemigraph、fitsemiself) を使用して、部分的なクラスラベルをデータセット全体に外挿

コード生成

予測のための単精度の C/C++ コードを生成

性能

SVM モデルの学習を高速化

これらの機能や対応する関数の詳細については、リリースノートをご覧ください。

機械学習入門

ここでは、分類問題の実用的な機械学習方法の概要を対話形式で説明します。