回答:
データには一切触れません。これをNaNとの自己相関に使用します。
「データに触れない」とは、データやタイムステップを削除したり、0または平均値で置き換えたりしないことを意味します。これは、特定のタイムラグの線形依存性に関する情報を危険にさらすことになります。また、ギャップの値をシミュレートすることも避けます。「サンプル」の自己相関に関心がある場合は、とにかく最高のシミュレーション手法でさえ、データ自体に基づいて、自己相関に関する情報を追加しません。NaNを処理するために、MATLAB(上記のリンク)の自己相関関数と部分自己相関関数を部分的に再コード化しました。NaNを含むすべてのデータカップルは計算から除外されます。これはラグごとに行われます。それは私のために働いた。どんな提案も受け入れられます。
欠損値の影響を受けないアルゴリズムがいくつかあるため、推奨される解決策はそれらを探すことです(たとえばacf
、自己相関のR )。
一般的に、行く方法は、観測値が欠落しているデータを単に破棄するか(非常に痛いかもしれません)、または単に値を代入することです-隣人の平均は、滑らかな系列と小さなギャップには十分かもしれませんが、もちろんありますスプライン、ランダム/最も頻繁な値、モデルからの補完などを使用した、他のより強力な方法
ここには2つの問題があります。1つ目は、MATLABでの自己相関回答に意味のある数値フレームワークを提供することです。これを実現するには、データベクトルの時系列部分をストレッチまたはパッチする必要があります。この問題の「データ整合性」コンポーネントが最も基本的です。
次に、ベクトルの「値」コンポーネントを処理する方法を決定する必要があります...これは、想定するのに最適なもの(たとえば、小さい、欠落しているタイムスタンプと対応するNaN)に関して、特定のアプリケーションに大きく依存します。または、Nullはその近傍から安全に補間される可能性があります...より大きなギャップでは、値をゼロに設定することがおそらくより安全です...または上で推奨されているように入力します。 。