24時間降水量のリストを1時間ごとの合計値に変換する


11

時間ごとの降水量のリストがあり、それぞれが過去24時間に発生した雨の量を日付順に並べたものだとします。例えば:

{
    '2012-05-24 12:00': 0.5, // .5" of rain from 5/23 12:00 - 5/24 11:59
    '2012-05-24 11:00': 0.6, // .6" of rain from 5/23 11:00 - 5/24 10:59
    '2012-05-24 10:00': 0.6, // .6" of rain from 5/23 10:00 - 5/24 09:59
    ...
    '2012-05-23 10:00': 0
}

各時間に降った雨の量を判断するための戦略/アルゴリズムはありますか?これに頭を包むことはできないようです。私はそれが単に差分を合計するほど簡単ではないことを知っています。

データセットの視覚化

P(N)    [.....======================]
P(N-1)  [....======================.]
P(N-2)  [...======================..]
P(N-3)  [..======================...]
I want  [..........................=]

助けてくれてありがとう。


DOES 0.6"雨の5/23 11時から- 5月24日10:59その時にスパン0.6"という意味では雨のが倒れたり平均その期間中に雨の0.6"の?
システムダウン

前者。過去24時間の、時間ごとの雨量の合計です。私はその最後の1時間を「打ち切る」方法を見つけ出したいと思います。
マイクグリフィス

1
これは驚くほど難しい。記録するすべての値は、合計された24の不明な数値で構成されています。それを解決するには24個の方程式が必要です。つまり、まったく同じ未知数を持つ24個の方程式ですが、スライディングウィンドウがあるためです。これが「解決不可能」であるとは想像できませんが、私には確実に見えます。それについて考える別の方法:P(N-x)追加するたびに1つの未知数が得られるため、最終的に方程式と未知数の数が再び増えます。
セバスチャンガイガー


2
@FrustratedWithFormsDesigner、またはmath.stackexchange.com
CaffGeek

回答:


8

データセットが常に連続する24時間のウィンドウで構成されていると仮定します(つまり、最初のデータポイントは1時間のウィンドウではありません)。

少なくとも2つの雨パターンが1つのデータセットにマッピングされる反例が存在するためこれは少なくとも一般的なケースでは解決可能な問題ではありません

  • ケース1:毎日午前12時30分に24インチ雨が降り続けます。
  • ケース2:毎時30分に1インチの雨が永遠に降る。

どちらの場合でも、あなたP(N) = 24"のすべてのためにN

この1つのデータセットから派生できるシナリオは1つもないため、一般的な意味で問題を解決することはできません。


余談ですが、問題が常に解決できないことは必ずしも真実ではないことを示すこともできます。最も単純なのは、P(N) = 0"すべての場合、Nそれを説明できる雨パターンは1つだけであるということです。1時間に0インチの雨です。


したがって、データセットのどの特性が問題を解決可能にするかを特定することは、より興味深い問題です。自明、あなたは少なくとも一つのデータセットを持っている場合NようP(N) = 0"、そして、あなたは解決策を持っているし。

特定のデータセットに対して問題を解決できる他のプロパティがあったとしても、私は驚かないでしょう。それらを見つけることは楽しいチャレンジです。同時に、何も存在できないことを証明することも同様に楽しいです。


5

降水期間が0になるまでデータを反復処理する必要があります。その後、SnOrusが説明するように、その時点から前方に計算します。データポイントが0でない場合、最初のエントリを時間の開始から1時間後に定義しない限り、これより前のポイントは未定義であるため、これを解決できるとは思いません。

0の読み取り値から時間を遡って計算し、同じことを逆に実行することも可能です(ただし、少なくとも24個の0が連続して取得されます)。


これを可能にするデータの興味深い制約は、降水量が負になることはないため、値がゼロの場合、過去24時間はゼロでなければならないことを知っています。
スコットホイットロック

0

P(n)-P(n-1)は0以上に制限されます

ここで、P()はnの24時間前に記録された降水量です。

...の1時間前に雨の量を与えるべきですP(n)


これは、12:00に対して-.1インチを計算します。ありそうにない。.2インチが23日の11:00に24時間測定された場合、正解は.1になります
エドワードストレンジ

Nが「5/24 12:00 pm」の場合、P(N)には、午後12:00の5/23から午前11:59の5/24までのウィンドウが含まれます。次に、P(N-1)には、午前11:00の5/23から午前10:59の5/24までのウィンドウが含まれます。11:00 am-11:59amのウィンドウで何が起こったのかを知りたいのですが、2つを差し引くだけで前日に余分な「ウィンドウ」が発生します。視覚的表現については、更新された説明を参照してください。
マイクグリフィス

@MikeGriffith:編集をご覧ください。私は正しかったと思いますが、結果を> = 0にバインドする必要があります(<= 0は雨が降っていないことを示します)。問題を誤解していない限り。
スティーブンエバーズ

@SnOrfus:その時点ではまだ2つの未知の値があります。
デニーズ

0

これは完全な答えではありません、私は仕事をしており、すでに多くの時間を費やしています...さらに、私の推測が正しいかどうかを確認するには、より多くのデータが必要です。

P(x)を時間xでの24時間測定と呼びましょう。

次の重複シナリオを考慮してください。

|H1|H2|H3.............|H23|H24|H25|H26 ................ |H46|H47|H48|
|-----------------P(X)--------|-----------------P(X-24)-------------|
   |----------------------P(X-1)--|

P(X)-P(X-1)+ H25 = H1。

したがって、H25を計算する必要があります。ソリューションは、P(X)、P(X-1)、およびP(X-24)から作成されたシステムのどこかに置かれると信じています。


0

2時間連続したn(現在)とn-1(現在の1時間前)の場合、24時間の降水量(P)で構成される24時間の降水量の合計(T)があります。

T(n) = P(n) + P(n-1) + P(n-2) + ... + P(n-22) + P(n-23)
T(n-1) = P(n-1) + P(n-2) + P(n-3) +... + P(n-23) + P(n-24)

そう:

T(n) - T(n-1) = P(n) - P(n-24)

(用語P(n-1)... P(n-23)はT(n)とT(n-1)の両方で複製されるため、それらを減算すると0になります。)再配置すると、次のようになります。

P(n) = T(n) - T(n-1) + P(n-24)

現在、P(n-24)が何であるかを知らない限り、P(n)が何であるかを理解することはできません。さらにデータに戻ってP(n-24)を計算できますが、それを得るにはP(n-25)などが必要です。必要なのは、24時間よりも前の1時間の降水量です。その場合は、後続のすべての時間の1時間ごとの降水量を計算できます。


1
+1「必要なのは、24時間よりも前の1時間の降水量です。」または、24時間の値が0 "。
CaffGeek

@Chadそれは確かにそれを得る一つの方法です。
カレブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.