このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
データ クリーナー
説明
データ クリーナー アプリは、乱雑な列方向データを識別し、同時に複数のデータ変数をクリーニングして、クリーニング プロセスを反復および改良するための対話型ツールです。
このアプリを使用すると、以下のことができます。
MATLAB® ワークスペース内の列方向データにアクセスするか、ファイルから列方向データをインポートする。
可視化、データ、概要の各ビューを使用してデータを探索する。
変数の並べ替え、変数の名前変更、または変数の削除を行う。
timetable のデータの時間再調整、table 変数のスタックまたはスタック解除、欠損データの削除、外れ値データの削除、データの平滑化、またはデータの正規化を行う。
以前に実行したクリーニング ステップを編集する。
クリーニングしたデータを MATLAB ワークスペースにエクスポートする、またはデータ クリーニングのコードをスクリプトまたは関数としてエクスポートする。
データのクリーニングの詳細については、How to do Data Cleaning in MATLAB (5 分 28 秒) を参照してください。
その他
データ クリーナー アプリでは現在、table および timetable データのクリーニングのみがサポートされています。
現在、データ クリーナー アプリで一度にクリーニングできる timetable は 1 つのみです。
データ クリーナー アプリを開く
MATLAB ツールストリップ: [アプリ] タブの [MATLAB] で、アプリのアイコンをクリックします。
MATLAB コマンド プロンプト: 「
dataCleaner
」と入力します。
例
timetable データのインポートとクリーニング
データ クリーナー アプリを使用して、変数の削除、データの時間再調整、平滑化および正規化を行うことで、乱雑な timetable データを前処理および整理します。次に、クリーニングしたデータを MATLAB ワークスペースにエクスポートします。以下の手順に従って、乱雑な timetable データを前処理および整理できます。ただし、使用するデータに応じて異なる一連のクリーニング ステップが必要になることがある点に注意してください。
この例では、タイムスタンプ付きの自転車交通量データを前処理および整理する方法を示します。このデータ セットは、マサチューセッツ州ケンブリッジのブロードウェイ ストリートに設置されたセンサーから取得されたものです。ケンブリッジ市は、Cambridge Open Data サイトで完全なデータ セットを公開しています。
データ クリーナー アプリで timetable を開く
MATLAB ツールストリップまたは MATLAB コマンド ウィンドウを使用して、データ クリーナー アプリを開きます。
コマンド ウィンドウで
bikeData = readtimetable("BicycleCounts.csv")
を使用して、タイムスタンプ付きの自転車交通量データを読み込みます。その後、データ クリーナー アプリで [インポート]、[ワークスペースからインポート] を選択して、timetablebikeData
を指定します。あるいは、データ クリーナー アプリで [インポート]、[ファイルからインポート] を選択して、データをインポートします。timetable がアプリに読み込まれたら、[データ] タブで生データを確認し、[概要] タブでデータの概要を確認します。
[可視化] タブで timetable データを探索します。[変数] パネルで timetable 変数
Total
、Westbound
、およびEastbound
を選択します。1 年の時系列と自転車交通量の間に相関があることがプロットで示されます。
timetable からの変数の削除
データ収集日がタイムスタンプに反映されているため、変数
Day
には冗長なデータが含まれています。[変数] パネルを使用して timetable からDay
を対話的に削除します。変数を削除するには、Day
を右クリックし、[削除] を選択します。これで、[クリーニング ステップ] パネルに変数の削除がステップとして表示されます。timetable の時間再調整
データの概要では、timetable 内の欠落しているタイムスタンプ値および重複しているタイムスタンプ値が示されます。timetable を並べ替え、固有の行時間を設定するには、アプリの [ホーム] タブの [クリーニング メソッド] セクションにある [timetable の時間再調整] をクリックします。選択方法として
[入力の一意の行時間]
を指定し、集計するために[総和]
メソッドを使用します。クリーニング パラメーターを受け入れてクリーニング ステップを追加し、timetable を更新します。時間再調整パラメーターを受け入れると、更新されたデータの概要で、欠落しているタイムスタンプ値も重複しているタイムスタンプ値も存在せず、タイムスタンプが時系列順に並べ替えられていることがわかります。
ご使用の timetable で時間再調整が不要な場合は、対話的に
Timestamp
または別の timetable 変数によって並べ替えることができます。[データ] タブの変数ヘッダー内の矢印 をクリックして、並べ替えオプションにアクセスします。データの平滑化
自転車交通量が各週の特定の曜日に急増しているため、平滑化により、各週内のノイズを低減し、年を通した自転車交通量トレンドを把握しやすくすることができます。データを平滑化するには、[データの平滑化] クリーニング メソッドを使用します。平滑化法として
[移動平均値]
を選択し、平滑化の中央 7 日間ウィンドウを指定します。クリーニング パラメーターを受け入れてクリーニング ステップを追加し、timetable を更新します。データの正規化
3 つの数値変数
Total
、Westbound
、およびEastbound
のスケールが異なっているため、正規化を使用して標準偏差によってスケーリングします。データを正規化するには、[データの正規化] クリーニング メソッドを使用します。正規化方式として[スケール]
を選択し、スケール タイプとして[標準偏差]
を選択します。このクリーニング ステップのプレビューをより明確に表示するには、可視化の凡例にある元のデータをクリアします。クリーニング パラメーターを受け入れてクリーニング ステップを追加し、timetable を更新します。
timetable のエクスポート
[エクスポート]、[ワークスペースにエクスポート] を選択して、クリーニングした timetable を MATLAB ワークスペースにエクスポートします。
あるいは、[エクスポート]、[スクリプトの生成] または [エクスポート]、[関数の生成] を選択して、timetable クリーニング コードをエクスポートします。
パラメーター
インジケーターの選択
— 欠損として扱う値
標準インジケーターのみを使用
| 非標準のインジケーターの指定
以下の値のいずれかを選択して、欠損値インジケーターを指定します。
インジケーター | インジケーター パラメーター | 説明 |
---|---|---|
標準インジケーターのみを使用 | 該当なし | 標準インジケーターのみを使用して欠損値を検出します。 標準の欠損値はデータ型によって異なります。
|
非標準のインジケーターの指定 | Indicators | 単一引用符内に、欠損として扱う非標準インジケーター値をコンマ区切りでリストします。例: '–99, "N/A" ' |
クリーニング メソッド
— 欠損データを処理するメソッド
欠損を埋める
| 欠損の削除
以下のメソッドの値のいずれか、および必要に応じて追加のメソッド パラメーターを選択して、欠損データを処理する方法を指定します。
メソッド | メソッド パラメーター | 説明 |
---|---|---|
欠損を埋める | Max gap to fill | 欠損値を埋めます。この指定値よりも大きいデータのギャップは埋められません (正のスカラー)。Fill method パラメーターを参照してください。 |
Units | 欠損値を埋めます。ギャップ サイズの単位のタイプを指定します。 | |
欠損の削除 | 該当なし | 欠損エントリが入っているデータ行を削除します。 |
埋め込みメソッド
— 欠損データを置き換えるメソッド
定数値
| 前の値
| 次の値
| ...
以下のメソッドの値のいずれか、および必要に応じて追加のメソッド パラメーターを選択して、欠損データを埋める方法を指定します。
メソッド | メソッド パラメーター | 説明 |
---|---|---|
定数値 | Constant value | 定数スカラー値を使用します。 |
前の値 | 該当なし | 前の非欠損値を使用します。 |
次の値 | 該当なし | 次の非欠損値を使用します。 |
最も近い値 | 該当なし | x 軸で定義される最も近い非欠損値を使用します。 |
線形内挿 | 該当なし | 隣接する非欠損値の線形内挿を使用します。 |
スプライン内挿 | 該当なし | 区分的 3 次スプライン内挿を使用します。 |
形状保持 3 次内挿 (PCHIP) | 該当なし | 形状維持区分的 3 次スプライン内挿を使用します。 |
修正 Akima 3 次内挿 | 該当なし | 修正 Akima 3 次エルミート内挿を使用します。 |
移動中央値 | Moving window type | 現在の要素について移動ウィンドウをセンタリングするか、非対称的に配置します。 |
Window length | 移動ウィンドウの長さを指定します (正のスカラー)。 | |
Right half window length (移動ウィンドウのタイプが [非対称] の場合) | 現在の要素の後のウィンドウ単位の数を指定して、ウィンドウの配置を定義します (正のスカラー)。 | |
Units | 移動ウィンドウ単位のタイプを指定します。 | |
移動平均値 | Moving window type | 現在の要素について移動ウィンドウをセンタリングするか、非対称的に配置します。 |
Window length | 移動ウィンドウの長さを指定します (正のスカラー)。 | |
Right half window length (移動ウィンドウのタイプが [非対称] の場合) | 現在の要素の後のウィンドウ単位の数を指定して、ウィンドウの配置を定義します (正のスカラー)。 | |
Units | 移動ウィンドウ単位のタイプを指定します。 | |
k 最近傍法 | Num neighbor rows | 埋め込み値の平均に対する最近傍の数 (k ) を指定します。 |
Distance function | データの行間の距離を、ユークリッド距離またはスケーリングされたユークリッド距離として定義します。 |
クリーニング メソッド
— 外れ値データを処理するメソッド
外れ値の埋め込み
| 外れ値の削除
以下のメソッドの値のいずれかを選択して、外れ値データを処理する方法を指定します。
メソッド | 説明 |
---|---|
外れ値の埋め込み | 外れ値を埋めます。Fill method パラメーターを参照してください。 |
外れ値の削除 | 外れ値が入っているデータ行を削除します。 |
埋め込みメソッド
— 外れ値データを置き換えるメソッド
定数値
| 中心値
| しきい値までクリップ
| ...
以下のメソッドの値のいずれかを選択して、外れ値データを置き換える埋め込みメソッドを指定します。
メソッド | 説明 |
---|---|
定数値 | 指定した定数スカラー値を使用します。 |
中心値 | find メソッドで求めた中心値を使用します。 |
しきい値までクリップ | find メソッドで求めた下限しきい値よりも小さい要素の下限しきい値を使用します。find メソッドで求めた上限しきい値よりも大きい要素の上限しきい値を使用します。 |
前の値 | 前の非外れ値を使用します。 |
次の値 | 次の非外れ値を使用します。 |
最も近い値 | 最も近い非外れ値を使用します。 |
線形内挿 | 隣接する非外れ値の線形内挿を使用します。 |
スプライン内挿 | 区分的 3 次スプライン内挿を使用します。 |
形状保持 3 次内挿 (PCHIP) | 形状維持区分的 3 次スプライン内挿を使用します。 |
修正 Akima 3 次内挿 | 修正 Akima 3 次エルミート内挿を使用します。 |
検出メソッド
— 外れ値データを特定するメソッド
中央値
| 平均値
| 四分位数
| ...
以下のメソッドの値のいずれか、および追加のメソッド パラメーターを選択して、外れ値データを特定する検出メソッドを指定します。
メソッド | メソッド パラメーター | 説明 |
---|---|---|
中央値 | Threshold factor | 外れ値は、スケーリングされた中央絶対偏差 (MAD) の指定したしきい値を超えて中央値から離れている要素と定義されます。入力データ A の場合、スケーリングされた MAD は c*median(abs(A-median(A))) と定義されます。ここで、c=-1/(sqrt(2)*erfcinv(3/2)) です。 |
平均値 | Threshold factor | 外れ値は、標準偏差の指定したしきい値を超えて平均値から離れている要素と定義されます。このメソッドは [中央値] より高速ですが、ロバスト性は低下します。 |
四分位数 | Threshold factor | 外れ値は、上位四分位数 (75%) から上に、または下位四分位数 (25%) から下に、四分位範囲の指定したしきい値を超えて離れている要素と定義されます。このメソッドは、入力データが正規分布でない場合に便利です。 |
Grubbs | Threshold factor | 外れ値の検出にグラブス検定を使用します。これにより、仮説検定に基づいて反復ごとに 1 つの外れ値が除去されます。このメソッドは、入力データが正規分布していることを前提としています。 |
一般化極値スチューデント化偏差 (GESD) | Threshold factor | 外れ値に対して一般化 ESD 検定を使用して、外れ値を検出します。この反復メソッドは [Grubbs] に似ていますが、複数の外れ値が相互にマスキングしている場合に、より効果的に機能します。 |
移動中央値 | Threshold factor | 外れ値は、指定したウィンドウでの局所中央値から、スケーリングされた局所 MAD の指定したしきい値を超えて離れている要素と定義されます。 |
Moving window type | 現在の要素について移動ウィンドウをセンタリングするか、非対称的に配置します。 | |
Window length | 移動ウィンドウの長さを指定します (正のスカラー)。 | |
Right half window length (移動ウィンドウのタイプが [非対称] の場合) | 現在の要素の後のウィンドウ単位の数を指定して、ウィンドウの配置を定義します (正のスカラー)。 | |
Units | 移動ウィンドウ単位のタイプを指定します。 | |
移動平均値 | Threshold factor | 外れ値は、指定したウィンドウでの局所平均値から、局所標準偏差の指定したしきい値を超えて離れている要素と定義されます。 |
Moving window type | 現在の要素について移動ウィンドウをセンタリングするか、非対称的に配置します。 | |
Window length | 移動ウィンドウの長さを指定します (正のスカラー)。 | |
Right half window length (移動ウィンドウのタイプが [非対称] の場合) | 現在の要素の後のウィンドウ単位の数を指定して、ウィンドウの配置を定義します (正のスカラー)。 | |
Units | 移動ウィンドウ単位のタイプを指定します。 | |
百分位数 | Lower threshold | 外れ値は、上限および下限しきい値により指定される百分位数範囲外の要素として定義されます。 |
Upper threshold | 外れ値は、上限および下限しきい値により指定される百分位数範囲外の要素として定義されます。 |
正規化メソッド
— データを正規化するメソッド
Z スコア
| ノルム
| 範囲
| ...
以下のメソッドの値のいずれか、および必要に応じて追加のメソッド パラメーターを選択して、データを正規化するメソッドを指定します。
メソッド | メソッド パラメーター | 説明 |
---|---|---|
Z スコア | Z-score type |
|
ノルム | P-Norm | p ノルム (正のスカラー、または無限大ノルムの場合 Inf ) でデータをスケーリング。 |
範囲 | Left limit | 左と右の範囲制限のあるデータの範囲を [a b] の形式の区間 (ただし、a < b ) に再スケーリング。 |
Right limit | 左と右の範囲制限のあるデータの範囲を [a b] の形式の区間 (ただし、a < b ) に再スケーリング。 | |
中央値 IQR | 該当なし | 中央値が 0、四分位数間範囲が 1 となるようにデータをセンタリングおよびスケーリング。 |
Center | Center Type |
|
スケール | Scale type |
|
センタリングとスケーリング | Center Type |
|
Scale type |
|
平滑化法
— ノイズの多いデータを平滑化するメソッド
移動平均値
| 移動中央値
| ガウス フィルター
| ...
以下のメソッドの値のいずれかを選択して、ノイズの多いデータの平滑化メソッドを指定します。
メソッド | 説明 |
---|---|
移動平均値 | 移動平均値を使用します。このメソッドは、データの周期的なトレンドを低減するのに便利です。 |
移動中央値 | 移動中央値を使用します。このメソッドは、外れ値が存在する場合にデータの周期的なトレンドを低減するのに便利です。 |
ガウス フィルター | ガウス加重移動平均値を使用します。 |
局所線形回帰 (Lowess) | 線形回帰を使用します。このメソッドは計算量が多くなる場合がありますが、不連続点は少なくなります。 |
局所二次回帰 (Loess) | 2 次回帰を使用します。このメソッドは局所線形回帰より計算量がやや多くなります。 |
ロバストな Lowess | ロバスト線形回帰を使用します。このメソッドは、計算量の多い局所線形回帰のバージョンですが、外れ値に対してよりロバストになります。 |
ロバストな Loess | ロバスト 2 次回帰を使用します。このメソッドは、計算量の多い局所二次回帰のバージョンですが、外れ値に対してよりロバストになります。 |
Savitzky-Golay 多項式フィルター | Savitzky-Golay 多項式フィルターを使用します。指定された多項式の次数に従って平滑化し、各ウィンドウで近似します。このメソッドは、データが急速に変動する場合に他のメソッドより効果的です。 |
平滑化パラメーター
— データ平滑化のオプション
平滑化係数
| 移動ウィンドウ
以下のパラメーターの値のいずれか、および追加のパラメーター オプションを選択して、データ平滑化のオプションを指定します。
パラメーター | パラメーター オプション | 説明 |
---|---|---|
平滑化係数 | Smoothing factor | 平滑化の量 (正のスカラー) を指定します。 |
移動ウィンドウ | Moving window type | 現在の要素について移動ウィンドウをセンタリングするか、非対称的に配置します。 |
Window length | 移動ウィンドウの長さを指定します (正のスカラー)。 | |
Right half window length (移動ウィンドウのタイプが [非対称] の場合) | 現在の要素の後のウィンドウ単位の数を指定して、ウィンドウの配置を定義します (正のスカラー)。 | |
Units | 移動ウィンドウ単位のタイプを指定します。 |
選択方法
— 行時間を指定する方法
タイム ステップ
| サンプル レート
以下のメソッドの値のいずれか、および追加のメソッド パラメーターを選択して、時間再調整された行時間の選択方法を指定します。
メソッド | メソッド パラメーター | 説明 |
---|---|---|
タイム ステップ | Time step | 出力テーブル内の連続する等間隔の行時間の間の時間の長さを指定します (正のスカラー)。 |
Time step units | タイム ステップの単位を指定します。 | |
サンプル レート | Sample rate | 時間単位あたりの出力テーブル内のサンプル数を指定します (正のスカラー)。 |
Sample rate units | サンプル レートの単位を指定します。 |
メソッド
— 時間再調整のメソッド
欠損値で埋める
| 定数で埋める
| 前の値で埋める
| ...
以下のメソッドの値のいずれかを選択して、時間再調整メソッドを指定します。
メソッド | 説明 |
---|---|
欠損値で埋める | 欠損データ インジケーター (たとえば数値変数の場合は NaN ) を使用します。 |
定数で埋める | 指定された定数値を使用します。既定値は 0 です。 |
前の値で埋める | 行時間のベクトルの末尾から開始して、入力 timetable 内で先行する最近傍からデータをコピーします。重複する行時間がある場合、重複の最後のものを使用します。 |
次の値で埋める | 行時間のベクトルの先頭から開始して、入力 timetable 内で後続の最近傍からデータをコピーします。重複する行時間がある場合、重複の最初のものを使用します。 |
最も近い値で埋める | 入力 timetable の最近傍からデータをコピーします。 |
線形内挿 | 線形内挿を使用します。 |
スプライン内挿 | 区分的 3 次スプライン内挿を使用します。 |
形状保持 3 次内挿 (PCHIP) | 形状維持区分的 3 次内挿を使用します。 |
修正 Akima 3 次内挿 | 修正 Akima 3 次エルミート内挿を使用します。 |
総和 | 各時間ビン内の値の合計を使用します。 |
平均値 | 各時間ビン内の平均値を使用します。 |
総乗 | 各時間ビン内の値の積を使用します。 |
最小値 | 各時間ビン内の最小値を使用します。 |
最大値 | 各時間ビン内の最大値を使用します。 |
値の数 | 各時間ビン内の値の数を使用します。 |
ビンの最初の値 | 各時間ビン内の最初の値を使用します。 |
ビンの最後の値 | 各時間ビン内の最後の値を使用します。 |
カスタム | 関数ハンドルによって指定された関数を使用します。 |
スタックする変数
— 結合する変数
table 変数
結合する 1 つ以上の table 変数を選択します。
新しい table 変数の名前
— 新しい table 変数の名前が格納される変数
table 変数
新しい table 変数の名前が格納される table 変数を選択します。
新しい table 変数の値
— 複数の変数にスタック解除する変数
table 変数
複数の table 変数にスタック解除する table 変数を選択します。
グループ化
— 行のグループを定義する変数
table 変数
行のグループを定義する 1 つ以上の table 変数を選択します。
新しい table 変数値の集計
— データ値を単一値に集計する関数
総和
| 平均値
| 中央値
| ...
以下の値のいずれかを選択して、データ値を単一値に集計する関数を指定します。
関数 | 説明 |
---|---|
総和 | 各値グループの合計を使用します。 |
平均値 | 各値グループの平均値を使用します。 |
中央値 | 各値グループの中央値を使用します。 |
最頻値 | 各値グループの最頻値を使用します。 |
最大値 | 各値グループの最大値を使用します。 |
最小値 | 各値グループの最小値を使用します。 |
First | 各値グループの最初の値を使用します。 |
固有 | 各値グループ内の固有の値の数を使用します。 |
カウント | 各値グループ内の値の数を使用します。 |
カスタム | 関数ハンドルによって指定された関数を使用します。 |
ヒント
データ変数で対話的に並べ替えるには、[データ] タブの変数ヘッダー内の矢印 をクリックして、並べ替えオプションにアクセスします。[クリーニング ステップ] パネルに並べ替えがステップとして表示されます。
データの変数を対話的に名前変更するには、[変数] パネル内の変数名をダブルクリックします。[クリーニング ステップ] パネルに名前変更がステップとして表示されます。
データから変数を対話的に削除するには、[変数] パネル内の変数名を右クリックし、[削除] を選択します。[クリーニング ステップ] パネルに削除がステップとして表示されます。
前に実行したクリーニング ステップを変更するには、次のいずれかの操作を実行します。
[クリーニング ステップ] パネルで特定のステップをクリックして、クリーニング パラメーターを表示または編集する。
[クリーニング ステップ] パネルで特定のステップを新しい場所にドラッグして、クリーニング ステップが実行される順序を変更する。
[クリーニング ステップ] パネルで特定のクリーニング ステップをクリアするか、特定のステップを右クリックして [下のステップを無効にする] を選択して、クリーニング ステップを無効にする。
入力データまたはクリーニングされたデータのみを表示するには、[可視化] タブでプロットの凡例内の要素を選択またはクリアします。
バージョン履歴
R2022a で導入R2023b: k
の最近傍の行から取得した近傍点の平均で欠損エントリを埋めます。
[欠損データの削除] クリーニング メソッドを使用するために [k 最近傍法]
埋め込みメソッドを使用して、近傍点の平均で欠損エントリを埋めます。近傍の数を指定し、ユークリッド距離またはスケーリングされたユークリッド距離として行間の距離を定義します。
R2023a: MAT ファイルとしてのセッションの保存
データおよびクリーニング ステップが含まれたバイナリ MAT ファイルとして、データ クリーナー アプリ セッションを保存します。セッション ファイルを保存するには、[ホーム] タブの [ファイル] セクションで [保存] を選択します。
R2022b: table のデータをクリーニング
MATLAB ワークスペースまたはファイルから table のデータをインポートおよびクリーニングします。以前は、クリーニングできたのは timetable データのみでした。
R2022b: スパークラインと要約統計量の表示
[データ] ビューにはスパークラインと要約統計量が表示され、各 table または timetable 変数のデータを迅速に可視化および解釈できます。スパークラインをポイントすると、特定の点に関連する詳細情報が表示されます。
参考
ツール
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)