自己相関およびニューラルネットワークにMatlabを使用する場合、時系列データのギャップ/ NaNを処理する方法は?


9

時系列の測定(高さ-1次元シリーズ)があります。観測期間中、いくつかの時点で測定プロセスがダウンしました。したがって、結果のデータは、データにギャップがあったNaNのベクトルです。これは、MATLABを使用して、自己相関の計算(autocorr)とニューラルネットワークの適用()の際に問題を引き起こしていますnnstart

これらのギャップ/ NaNはどのように処理されるべきですか?これらをベクターから削除するだけですか?または、それらのエントリを補間された値に置き換えますか?(もしそうなら、MATLABでどうやって)

回答:


4

データには一切触れません。これをNaNとの自己相関に使用します。

http://www.mathworks.com/matlabcentral/fileexchange/43840-autocorrelation-and-partial-autocorrelation-with-nans/content/nanautocorr.m

「データに触れない」とは、データやタイムステップを削除したり、0または平均値で置き換えたりしないことを意味します。これは、特定のタイムラグの線形依存性に関する情報を危険にさらすことになります。また、ギャップの値をシミュレートすることも避けます。「サンプル」の自己相関に関心がある場合は、とにかく最高のシミュレーション手法でさえ、データ自体に基づいて、自己相関に関する情報を追加しません。NaNを処理するために、MATLAB(上記のリンク)の自己相関関数と部分自己相関関数を部分的に再コード化しました。NaNを含むすべてのデータカップルは計算から除外されます。これはラグごとに行われます。それは私のために働いた。どんな提案も受け入れられます。


ようこそ@ファビオ:「データに触れない」という意味について、もう少し説明してもらえますか?何も削除しないという意味ですか?また、リンク先のコンテンツを紹介し、これがOPに役立つ理由を説明するのにも役立ちます。
モモ

こんにちは、モモ、コメントありがとう。「データに触れない」とは、データやタイムステップを削除したり、0または平均値で置き換えたりしないことを意味します。これは、特定のタイムラグの線形依存性に関する情報を危険にさらすことになります。NaNを処理するために、MATLAB(上記のリンク)の自己相関関数と部分自己相関関数を部分的に再コード化しました。NaNを含むすべてのデータカップルは計算から除外されます。これはラグごとに行われます。それは私のために働いた。どんな提案も受け入れられます。
Fabio

3

欠損値の影響を受けないアルゴリズムがいくつかあるため、推奨される解決策はそれらを探すことです(たとえばacf、自己相関のR )。

一般的に、行く方法は、観測値が欠落しているデータを単に破棄するか(非常に痛いかもしれません)、または単に値を代入することです-隣人の平均は、滑らかな系列と小さなギャップには十分かもしれませんが、もちろんありますスプライン、ランダム/最も頻繁な値、モデルからの補完などを使用した、他のより強力な方法


2
欠損値のあるacfは通常の方法で計算されますが、欠損値は合計で「スキップ」されます(つまり、特定のラグのacf数式は、合計で除算された合計のように見えます。これらの合計のそれぞれで、欠損値はスキップされます)。これは、元のデータから欠損値を削除することと同じではありません。matlabの問題は、NaNをスキップしないことであり、それを計算に含めるとすべてがNaNに変換されます。
ゼロ

1

介入検出を使用して、有用なARIMA構造および現地時間の傾向やレベルシフトを利用して、欠落している値を補完します。


1

ここには2つの問題があります。1つ目は、MATLABでの自己相関回答に意味のある数値フレームワークを提供することです。これを実現するには、データベクトルの時系列部分をストレッチまたはパッチする必要があります。この問題の「データ整合性」コンポーネントが最も基本的です。

次に、ベクトルの「値」コンポーネントを処理する方法を決定する必要があります...これは、想定するのに最適なもの(たとえば、小さい、欠落しているタイムスタンプと対応するNaN)に関して、特定のアプリケーションに大きく依存します。または、Nullはその近傍から安全に補間される可能性があります...より大きなギャップでは、値をゼロに設定することがおそらくより安全です...または上で推奨されているように入力します。 。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.