MATLAB

データ解析に必須!MATLABでのヒストグラム作成ガイド

はじめに

データ解析や科学的研究において、ヒストグラムはデータの分布を可視化するための強力なツールです。MATLABでは、このヒストグラムを簡単に作成し、カスタマイズするための豊富な機能が提供されています。本記事では、MATLABを使ったヒストグラム作成の基本から応用までを徹底解説します。

この記事を読むことで、MATLABでのヒストグラムの作成方法の基本から応用までを理解することができます!

ヒストグラムとは?

そもそもヒストグラムは、何でしょうか? ヒストグラムはデータの分布を視覚的に表現するためのグラフです。特定の範囲内にあるデータポイントの数を示し、データがどのように分布しているかを一目で把握することができます。こんな感じのグラフです。

以下の項目がヒストグラムの主な要素です

  • ビン(Bins):データの範囲を小さな区間に分けたもの
  • ビン幅(Bin Width):各ビンの幅
  • 頻度(Frequency):各ビン内のデータポイントの数

MATLABでの基本的なヒストグラム作成

ここからは、MATLABでのヒストグラム作成について具体的にその方法を解説していきます。

1. データの準備

まず、ヒストグラムを作成するためのデータを準備します。過去の記事で使用したMATLAB内に保持されている気温のデータセットを使用します。

% データ読み込み
T = readtable('TemperatureData.csv');
MATLAB

2. 基本的なヒストグラムの作成

MATLABでは、histogram関数を使用して簡単にヒストグラムを作成できます。

% 基本のヒストグラムの描画
histogram(T.TemperatureF);
title('基本的なヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB

実行するとこのようなグラフを作成することができます。

基本的なヒストグラム

3. ヒストグラムのカスタマイズ

ヒストグラムは、多くのプロパティをカスタマイズすることができます。以下に代表的なプロパティを示します。

ビンの数

例えば、ビンの数を変更してみます。デフォルトでプロットを作成すると、上図のように9つのビンでヒストグラムが作成されます。これを例えば、nbins = 20 として、20個のビンを作成するようにしてみます。

% ビンの数を変更してみます
figure()
histogram(T.TemperatureF,20);
title('nbins=20 のヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB
ビンの数を変更したヒストグラム

ビンの幅

ビンの幅で調整することもできます。以下の例では、ビンの幅を5に設定します。

% ビンの幅を変更してみます
figure()
histogram(T.TemperatureF,'BinWidth',5);
title('binwidth=5 のヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB
ビンの幅を変更したヒストグラム

カラー

カラーも簡単に変更することができます。ビンの色を赤色にしてみます。

% ビンの色を変更してみます
figure()
histogram(T.TemperatureF,'FaceColor','r');
title('バーの色を赤に変更したヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB
バーの色を変更したヒストグラム

バーの向き

バーの向きを横方向に変更することもできます。

% バーの向きを変更してみます
figure()
histogram(T.TemperatureF,'Orientation','horizontal');
title('バーの向きを変更したヒストグラム');
ylabel('Temperature [°F]');
xlabel('頻度');
MATLAB
バーの向きを変更したヒストグラム

bin の詳細設定

ビンの数とビンの幅の調整では、見たい範囲にバーが来ない場合があります。その場合は、nedge で絶対的なbinの幅とbinの数を指定することができます。以下の例では、2℉毎にバーを作成します。

% バーの幅と数を指定します
figure()
edges = [-10:2:80];
histogram(T.TemperatureF,edges);
title('バーの幅と数を指定したヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB
バーの幅と数を指定したヒストグラム

複数のデータを重ねる

複数のデータを重ねたヒストグラムも作成することができます。サンプルデータには、2015年と2016年のデータが含まれていますので、それぞれをプロットしてみます。

% 複数のヒストグラムを重ねます
T_2015 = T(T.Year==2015,:);
T_2016 = T(T.Year==2016,:);
figure()
histogram(T_2015.TemperatureF);
hold on
histogram(T_2016.TemperatureF);
title('複数のデータを重ねたヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
legend('2015','2016')
MATLAB
複数のデータを重ねたヒストグラム

正規化されたヒストグラム

ヒストグラムの高さを頻度ではなく確率として表示することができます。これにより、異なるサイズのデータセットを比較しやすくなります。

% 頻度を確率に変更します
figure()
histogram(T.TemperatureF,'Normalization','probability');
title('頻度を確率に変更したヒストグラム');
xlabel('Temperature [°F]');
ylabel('確率');
MATLAB
正規化されたヒストグラム

ヒストグラムの解釈

ヒストグラムを解釈するためには、以下のポイントに着目します。

  • ピークの位置:ピーク(最頻値)がどこに来るのかを確認します。

  • 分布の形状:データが正規分布に従うかどうかを確認します。

  • 異常値の存在:外れ値や極端な値がないかを確認します。

まとめ

以上、MATLABでのヒストグラムの作成方法を紹介しました。ヒストグラムはデータの分布を理解するための非常に強力な方法です。基本的な作成方法からカスタマイズ方法を学ぶことで、データ解析のスキルを大幅に向上させることができます。この記事を参考にして、ぜひMATLABを使ったヒストグラム作成に挑戦してみてください。

-MATLAB
-,