8

タイトルに示されているように、欠損値を持つ 2 つの時系列間の DTW 距離を計算するために DTW (Dynamic Time Warping) を使用できるかどうか疑問に思っています。

2 つの時系列が 2 つの気象観測所の毎日の気温であり、同じ長さ (たとえば 365 日) であり、欠損値が 2 つの時系列の異なる日にあるとします。

これが可能な場合、R の dtw パッケージは欠損値を処理できますか? のように dtw() で設定できるパラメーターが見つかりませんでしたna.rm = T

どうもありがとう!

提案をありがとうthelatemail。以下は、2 つの時系列の単純化された例です。各時系列には 52 要素のみが含まれ、欠損値は に設定されていNAます。

TS1 = c(-3.26433,  -5.09096,    NA, -8.4158,    -5.85485,   -3.49234,   -7.64666,   -4.90124,   NA, -4.68836,   -1.38114,   1.55527,    2.81872,    2.44261,    3.57963,    6.19983,    7.42515,    8.41524,    6.32686,    10.0144,    9.53251,    13.4781,    12.3585,    10.6706,    10.2647,    16.6848,    16.4855,    20.1482,  NA,   21.5734,    20.3946,    20.8824,    18.0325,    18.5813,    17.5453,    16.3315,    14.3068,    11.3164,   9.96398, 5.53102,    9.55094,    9.05897,    6.81199,    5.20343,    1.63158,    -0.661077,  -4.33853,   -6.53655,   NA,   -10.8646, 1.11843,    1.23786)

TS2 = c(-5.76852,  -10.2207,    -11.8465,   NA, -1.70019,   -3.60319,   -5.7718,    -3.81106,   -5.62284,   -3.57516,        0.314511,  0.64058,    0.476162,   NA, 4.23757,    5.15417,    7.29422,    NA, 1.57376,    9.28236,    8.05182,    13.7175,    9.5453, 10.2417,    9.32423,    18.214, 18.3726,    16.661, 20.6563,    22.2901,  22.1109,  19.129, 15.8615,    16.7817,    17.247, 15.9921,    14.5804,    11.3693,    10.9349,    10.1196,  3.7467,   9.09229,    6.91285,    NA, 4.20934,    -0.566403,  -2.94184,   -3.81432,   -10.0212,   -15.9876,    -2.56286,  -1.88976)
4

3 に答える 3

8

おそらくそうではありません。パッケージのマニュアルを調べましたが、欠落している値や NA 値については何もありません。また、データをフィードしようとしましdtw()たが、失敗しました:

Error in dtw(TS1, TS2) : 
  No warping paths exists that is allowed by costraints

しかし、すべての NA 値を 0 に変更すると、簡単に機能しました。

したがって、唯一の解決策がこのパッケージである場合は、DTW パッケージ フォーラムに投稿するか、不足しているデータを自分で処理する必要があります。ここでいくつかのヒントを見つけたり、パッケージの機能を使用しna()fSeriesたりすることができます*。

*このパッケージは利用できなくなりました。代わりにtimeSeriesパッケージを使用することをお勧めします。

于 2012-11-22T05:11:16.753 に答える