mcpField
M
matlab-analyze-data

matlab-analyze-data

github.com/matlabデータ・データベース1.2k133 回インストール1 日前に更新
リポジトリ

matlab-analyze-data について

テーブル、タイムテーブル、配列を扱う MATLAB データ分析コードの生成を支援するスキルです。最新の MATLAB 関数を重視し、コード作成前に関連するリファレンスの確認を求めます。

主な機能

  1. 01テーブル構造と分布の調査
  2. 02欠損値と外れ値の処理
  3. 03テーブルの変換、抽出、集計
  4. 04時系列とグリッド配列の処理
  5. 05トピック別リファレンスの参照

活用シーン

  1. 01欠損値や重複の確認
  2. 02時系列のリサンプリングと同期
  3. 03グループ別統計量の計算
  4. 04テーブルデータの抽出と正規化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-analyze-data

インストール後、Claude Code で/matlab-analyze-dataを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

manifest.yaml
references/
answering-data-questions.md
array-and-grid-data.md
data-cleaning.md
data-transformation.md
data-types.md
eventtables.md
exploration.md
grouping-and-aggregation.md
smoothing-and-trends.md
tables-and-timetables.md

詳細

MATLAB データ分析

テーブルとタイムテーブルを使用するデータ分析タスク向けに、MATLAB の慣用的なコードを生成します。

使用する場合

  • テーブルの調査、クリーンアップ、変換、集計など、テーブルデータに関するあらゆるタスク
  • 時系列分析:リサンプリング、同期、トレンド検出、平滑化
  • テーブル内のデータに関する質問への回答(上位 N 件、フィルタリング、グループ比較)
  • データのクリーンアップ:欠損値、外れ値、型変換、正規化

使用しない場合

  • データに関するコンテキストがないタスク(扱うテーブル、タイムテーブル、配列、日付/時刻値がない)
  • 主な目的がデータ分析ではなく可視化やプロットである(代わりに matlab-build-chart を使用)
  • 純粋な記号演算、シミュレーション、アプリ構築
  • ファイルの読み込みまたは書き込み(CSV、Excel、Parquet、MAT-file。代わりに matlab-import-export-data を使用)
  • データがメモリに収まらない、またはアウトオブコア処理が必要である(代わりに matlab-choose-big-data-solution を使用)
  • パスワード、トークン、API キーの保存または取得(代わりに matlab-secure-credentials を使用)
  • データがリレーショナルデータベースにある(代わりに matlab-use-database または matlab-use-duckdb を使用)
  • ラベル付き信号ファイルから ML トレーニングパイプラインを構築する(代わりに matlab-prepare-signal-data を使用)
  • テーブルデータを使った分類器のトレーニング、または ML モデルの精度比較(代わりに matlab-classify-tabular-data を使用)
  • 教師あり ML モデルの最適化を目的とした特徴量の設計または選択(代わりに matlab-engineer-tabular-features を使用)
  • コードの移行、または非推奨 API の置き換え(代わりに matlab-modernize-code を使用)

ルーティング:関連するすべてのトピックのリファレンスを読む

このスキルでは、数値配列、センサーマトリックス、グリッドデータなど、テーブル、時系列、配列ベースのデータワークフローに使用する MATLAB の中核的な関数を扱います。これらの関数は table、timetable、数値配列をネイティブに扱い、欠損データを正しく処理し、パフォーマンスが最適化されています。レガシーな代替手段(accumarray、nanmean、datenum など)よりも、ここで推奨する最新の関数(groupsummary、datetime、fillmissing、smoothdata2 など)を優先してください。ユーザーが明示的に別の方法を求めた場合に限り、例外としてください。

以下の各セクションには、リファレンスファイルへのリンクがあります。コードを書く前に、関連するすべてのトピックのリファレンスファイルを必ず読んでください。 リファレンスファイルには、正しい構文、よくある落とし穴、サイレントバグを防ぐ「避ける」パターンが記載されています。読み飛ばすと、非推奨の方法を使用したり、既知の落とし穴に陥ったりするおそれがあります。読み終えたら、回答の先頭に Reference files read: [list] と記載してください。

主な関数 — 利用可能なリリース

このスキルの関数の多くは R2023a 以前から利用できます。以下の関数には、より新しいリリースが必要です。

関数利用可能なリリース用途
paddata, trimdata, resizeR2023b配列を目標の長さに合わせてパディング、トリミング、またはサイズ変更します
smoothdata2R2023b長方形ウィンドウを使って 2 次元グリッドデータを平滑化します
kdeR2023b1 変量データのカーネル密度推定を行います
clipR2024a値を範囲内に収めます
islocalmax2, islocalmin2R2024a2 次元グリッドデータの局所極値を検出します
summary(機能強化版)R2024b配列(数値、datetime、duration、logical)をサポートし、Statistics、DataVariables、Detail の名前と値の引数を追加します
isapproxR2024b計算値の比較で == の代わりに使用する、許容誤差を考慮した浮動小数点比較です
isbetween(数値)R2024b要素が数値範囲内にあるかを確認します
numuniqueR2025a変数内の異なる値の数を数えます
allbetweenR2025aすべての値が範囲内にあることを検証します
alluniqueR2025aすべての値が一意であることを検証します

データの把握

データがすでにワークスペース変数にある場合は、分析コードを書く前に、その構造と内容を把握してください。

トピック:

  • 構造、形状、変数の型を要約する
  • 欠損データの量と場所を確認する
  • 分布を把握する(数値データの四分位数、カテゴリデータの値の出現回数)
  • 変数間の相関や関係を見つける
  • 重複、一意なキー、カーディナリティを確認する
  • 時間範囲、規則性、時間的パターンを調べる

関数: summary, head, size, jsonencode, anymissing, allfinite, ismissing, groupcounts, numunique, allunique, kde, corrcoef, pivot, unique, isregular, isuniform, retime

参照: exploration.md


データ型

レガシーな代替手段ではなく、最新の MATLAB の型を使用してください。最新の型は処理が高速で、読みやすく、テーブル関数との相性も優れています。

トピック:

  • 日付と時刻(解析、算術演算、タイムゾーン、年/月/日/時の抽出)
  • 経過時間とカレンダーオフセット
  • テキストデータ(文字列の比較、検索、分割、編集)
  • カテゴリデータ(順序付きランキング、レベルの統合/名前変更/並べ替え)

関数: datetime, dateshift, year, month, day, weekday, quarter, hour, timeofday, ymd, hms, hours, days, minutes, seconds, calmonths, caldays, string, matches, contains, startsWith, extractAfter, extractBefore, replace, erase, strip, split, count, categorical, mergecats, renamecats, removecats, reordercats, countcats

参照: data-types.md


テーブルとタイムテーブル

テーブルは、表形式データを格納する主要なコンテナーです。データにタイムスタンプ、時間ベクトル、または既知のサンプルレートがある場合は、timetable を使用してください。時間を考慮した操作(間隔を自動的に考慮した平滑化、補完、再サンプリング)が可能になります。

トピック:

  • テーブルの作成と構成(変数と行、メタデータ、プロパティ)
  • 型による変数の選択。ドットインデックス、波括弧、丸括弧の使い分け
  • インポート後の変数型の変換
  • 不均一な間隔のデータの処理(SamplePoints)
  • 時系列の再サンプリング、整列、同期
  • 日付範囲または時間許容差によるフィルタリング
  • レガシーな timeseries オブジェクトの変換

関数: table, timetable, table2timetable, vartype, convertvars, retime, synchronize, lag, timerange, withtol, timeseries2timetable, table2array, array2table

参照: tables-and-timetables.md


イベントテーブル

イベント、エピソード、フェーズ(センサーの異常、嵐、メンテナンス時間帯、アラームなど)をタイムテーブルの行に付与または注釈付けする場合は、eventtable を使用してください。タイムテーブル自体に、論理値の列、文字列ラベル、カテゴリ状態変数を追加しないでください。

トピック:

  • タイムスタンプとラベルからイベントテーブルを作成する(瞬時または区間)
  • イベントをタイムテーブルに関連付ける
  • イベントのプロパティでタイムテーブルの行をフィルタリングする
  • データのパターン(ピーク、しきい値の交差)からイベントを抽出する
  • エクスポートやグループ化のために、イベントデータをタイムテーブルの行に反映する
  • プロットでイベントを自動的に重ねて表示する

関数: eventtable, eventfilter, extractevents, syncevents, withtol, stackedplot

参照: eventtables.md


データクリーニング

MATLAB の組み込み検出関数と補完関数を使用して、欠損値や外れ値を処理します。欠損値の判定に == を使用しないでください。補完または削除を行う前に、standardizeMissing を使用して番兵値を変換します。

トピック:

  • 欠損値の検出(NaN、NaT、missing 文字列、未定義のカテゴリカル値)
  • プレースホルダー値("N/A"、-999、"")を標準の欠損値に変換
  • 欠損箇所の補完(補間、前方補完、移動ウィンドウ、型ごとの方法)
  • 長い欠損区間に対する補完の制限
  • 集計(mean、std、min、max)での欠損値のスキップ — 正しい呼び出し構文
  • 外れ値の検出、削除、置換
  • 値が想定範囲内かどうかの確認、および範囲内への制限

関数: ismissing、anymissing、standardizeMissing、fillmissing、rmmissing、isoutlier、rmoutliers、filloutliers、isbetween、allbetween、clip

参照: data-cleaning.md


データ変換

テーブルの変数をフィルター、並べ替え、形状変更、正規化、ビニング、結合、および管理します。行ごとのループや手動の if-else 連鎖ではなく、ベクトル化演算と組み込み関数を使用します。

トピック:

  • 条件または値の範囲による行のフィルター
  • 並べ替え、および上位/下位 N 行の取得
  • 行または変数に対する関数の適用
  • 変数の名前変更、並べ替え、追加、削除、分割、結合
  • 型の変換とインプレース変換の適用
  • 連続値のカテゴリへのビニング
  • 正規化、スケーリング、z スコア化
  • ワイド形式とロング形式の間での形状変更(ピボット、スタック、スタック解除)
  • キー変数によるテーブルの結合/マージ

関数: sortrows、topkrows、rowfun、varfun、convertvars、renamevars、movevars、addvars、removevars、splitvars、mergevars、discretize、normalize、clip、rescale、isapprox、isbetween、pivot、stack、unstack、rows2vars、innerjoin、outerjoin、join

参照: data-transformation.md


グループ化と集計

グループ別統計には groupsummary を基本的に使用します。findgroups+accumarray や手動のループは使用しません。グループごとの行フィルターには groupfilter、グループごとの正規化には grouptransform、クロス集計には pivot を使用します。

トピック:

  • グループ別の統計量の計算(平均、合計、標準偏差、最小値、最大値、カスタム統計量)
  • オンザフライでのビニング(数値のエッジ、時間単位/月単位/季節単位の時間ビン)
  • 欠損グループまたは空のグループの処理
  • グループレベルの条件(例:グループの最小サイズ)に基づく行のフィルター
  • グループごとの外れ値の削除
  • 各グループ内での正規化(z スコア、再スケーリング)
  • 件数または集計値のクロス集計

関数: groupsummary、groupcounts、groupfilter、grouptransform、pivot、findgroups

参照: grouping-and-aggregation.md


平滑化、トレンド、パターン

平滑化には統合されたエントリポイントである smoothdata を使用します(Curve Fitting Toolbox が必要な smooth は使用しません)。トレンドの除去/分解には detrend または trenddecomp を使用し、パターンの検出には islocalmax/islocalmin/ischange を使用します。

トピック:

  • ノイズの多いデータの平滑化(移動平均、ガウス、Savitzky-Golay、中央値)
  • ウィンドウサイズの選択(要素数と、タイムスタンプ付きデータでの期間)
  • 線形または多項式トレンドの除去
  • トレンドと季節性の分離(季節分解)
  • ピーク、谷、局所的な極値の検出
  • 平均、分散、傾きの急激な変化の検出
  • 分布の要約(ビン数、ヒストグラム)

関数: smoothdata、movmean、movmedian、detrend、trenddecomp、islocalmax、islocalmin、ischange、histcounts、histogram

参照: smoothing-and-trends.md


配列とグリッドデータ

データが均質な数値データで、かつ自然な2次元データ/グリッドである場合、パフォーマンスが重要な場合、または上流のツールから提供される場合は、配列を使用します。2次元グリッドには専用の2次元関数を使用してください。1次元関数を行や列に対してループ処理しないでください。

トピック:

  • 配列のまま扱う場合とテーブルに変換する場合
  • 特定の次元に沿った処理(行単位と列単位)
  • std、var、movstd、movvar における次元引数のよくある落とし穴
  • 配列計算での NaN の処理(自動では処理されません)
  • 移動統計量と累積統計量
  • 配列のパディング、トリミング、または目標の長さへのサイズ変更
  • グリッド上での2次元空間平滑化、欠損値の補完、ピーク検出
  • グループ化ベクトルを使ったグループ化処理

関数: smoothdata2、fillmissing2、islocalmax2、islocalmin2、paddata、trimdata、resize、mink、maxk、bounds、rms、prctile、quantile、iqr、cumsum、cummax、cummin、cumprod、movmean、movmedian、movsum、movstd、movvar、isuniform、isregular

参照: array-and-grid-data.md


データに関する質問への回答

データに関する特定の質問(上位 N 件、フィルタリング、検索、比較)に回答するタスクでは、並べ替え方向、欠損データ、値の解釈に関するよくある間違いを避けるため、戦略のリファレンスを参照してください。

トピック:

  • 最大値/最小値、上位/下位 N 件の検索
  • 別の列の順位に基づく列内の値の検索
  • 回答における欠損値やプレースホルダー値の考慮
  • 置換やマッピングを行わずに、生のデータ値を返す
  • 条件に一致する行数のカウント(テキストの完全一致と部分一致)

関数: topkrows、sortrows、groupsummary、standardizeMissing、isapprox、matches、contains、height、nnz

参照: answering-data-questions.md


Copyright 2026 The MathWorks, Inc.

コメント