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実行するとこのようなグラフを作成することができます。
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('頻度');
MATLABbin の詳細設定
ビンの数とビンの幅の調整では、見たい範囲にバーが来ない場合があります。その場合は、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を使ったヒストグラム作成に挑戦してみてください。