Contents
はじめに
データ解析や科学的研究において、ヒストグラムはデータの分布を可視化するための強力なツールです。MATLABでは、このヒストグラムを簡単に作成し、カスタマイズするための豊富な機能が提供されています。本記事では、MATLABを使ったヒストグラム作成の基本から応用までを徹底解説します。
この記事を読むことで、MATLABでのヒストグラムの作成方法の基本から応用までを理解することができます!
ヒストグラムとは?
そもそもヒストグラムは、何でしょうか? ヒストグラムはデータの分布を視覚的に表現するためのグラフです。特定の範囲内にあるデータポイントの数を示し、データがどのように分布しているかを一目で把握することができます。こんな感じのグラフです。
以下の項目がヒストグラムの主な要素です
- ビン(Bins):データの範囲を小さな区間に分けたもの
- ビン幅(Bin Width):各ビンの幅
- 頻度(Frequency):各ビン内のデータポイントの数
MATLABでの基本的なヒストグラム作成
ここからは、MATLABでのヒストグラム作成について具体的にその方法を解説していきます。
1. データの準備
まず、ヒストグラムを作成するためのデータを準備します。過去の記事で使用したMATLAB内に保持されている気温のデータセットを使用します。
% データ読み込み
T = readtable('TemperatureData.csv');
MATLAB2. 基本的なヒストグラムの作成
MATLABでは、histogram
関数を使用して簡単にヒストグラムを作成できます。
% 基本のヒストグラムの描画
histogram(T.TemperatureF);
title('基本的なヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB実行するとこのようなグラフを作成することができます。
![基本的なヒストグラム](https://inotec-blog.com/wp-content/uploads/2024/07/graph_1.bmp)
3. ヒストグラムのカスタマイズ
ヒストグラムは、多くのプロパティをカスタマイズすることができます。以下に代表的なプロパティを示します。
ビンの数
例えば、ビンの数を変更してみます。デフォルトでプロットを作成すると、上図のように9つのビンでヒストグラムが作成されます。これを例えば、nbins = 20 として、20個のビンを作成するようにしてみます。
% ビンの数を変更してみます
figure()
histogram(T.TemperatureF,20);
title('nbins=20 のヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB![ビンの数を変更したヒストグラム](https://inotec-blog.com/wp-content/uploads/2024/07/graph_2-1.bmp)
ビンの幅
ビンの幅で調整することもできます。以下の例では、ビンの幅を5に設定します。
% ビンの幅を変更してみます
figure()
histogram(T.TemperatureF,'BinWidth',5);
title('binwidth=5 のヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB![ビンの幅を変更したヒストグラム](https://inotec-blog.com/wp-content/uploads/2024/07/graph_3-2.bmp)
カラー
カラーも簡単に変更することができます。ビンの色を赤色にしてみます。
% ビンの色を変更してみます
figure()
histogram(T.TemperatureF,'FaceColor','r');
title('バーの色を赤に変更したヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB![バーの色を変更したヒストグラム](https://inotec-blog.com/wp-content/uploads/2024/07/graph_4.bmp)
バーの向き
バーの向きを横方向に変更することもできます。
% バーの向きを変更してみます
figure()
histogram(T.TemperatureF,'Orientation','horizontal');
title('バーの向きを変更したヒストグラム');
ylabel('Temperature [°F]');
xlabel('頻度');
MATLAB![バーの向きを変更したヒストグラム](https://inotec-blog.com/wp-content/uploads/2024/07/graph_5.bmp)
bin の詳細設定
ビンの数とビンの幅の調整では、見たい範囲にバーが来ない場合があります。その場合は、nedge で絶対的なbinの幅とbinの数を指定することができます。以下の例では、2℉毎にバーを作成します。
% バーの幅と数を指定します
figure()
edges = [-10:2:80];
histogram(T.TemperatureF,edges);
title('バーの幅と数を指定したヒストグラム');
xlabel('Temperature [°F]');
ylabel('頻度');
MATLAB![バーの幅と数を指定したヒストグラム](https://inotec-blog.com/wp-content/uploads/2024/07/graph_6.bmp)
複数のデータを重ねる
複数のデータを重ねたヒストグラムも作成することができます。サンプルデータには、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![複数のデータを重ねたヒストグラム](https://inotec-blog.com/wp-content/uploads/2024/07/graph_7.bmp)
正規化されたヒストグラム
ヒストグラムの高さを頻度ではなく確率として表示することができます。これにより、異なるサイズのデータセットを比較しやすくなります。
% 頻度を確率に変更します
figure()
histogram(T.TemperatureF,'Normalization','probability');
title('頻度を確率に変更したヒストグラム');
xlabel('Temperature [°F]');
ylabel('確率');
MATLAB![正規化されたヒストグラム](https://inotec-blog.com/wp-content/uploads/2024/07/graph_8.bmp)
ヒストグラムの解釈
ヒストグラムを解釈するためには、以下のポイントに着目します。
- ピークの位置:ピーク(最頻値)がどこに来るのかを確認します。
- 分布の形状:データが正規分布に従うかどうかを確認します。
- 異常値の存在:外れ値や極端な値がないかを確認します。
まとめ
以上、MATLABでのヒストグラムの作成方法を紹介しました。ヒストグラムはデータの分布を理解するための非常に強力な方法です。基本的な作成方法からカスタマイズ方法を学ぶことで、データ解析のスキルを大幅に向上させることができます。この記事を参考にして、ぜひMATLABを使ったヒストグラム作成に挑戦してみてください。