24 시간 강수량 값 목록을 총 시간 단위로 변환


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
}

각 시간에 얼마나 많은 비가 내 렸는지 결정하기위한 전략 / 알고리즘이 있습니까? 나는 이것에 머리를 감쌀 수 없다. 나는 그것이 diff를 합산하는 것만 큼 간단하지 않다는 것을 알고 있습니다.

데이터 세트 시각화

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

도움을 주셔서 감사합니다.


합니까 0.6 - "5/23 11 : 00 ~ 비의를 5/24 10시 59분 비가 아래로 떨어졌다 그 시간 범위 0.6에서 것을 의미한다"또는 평균 기간 동안 비가 0.6 "의?
시스템 다운

전자. 지난 24 시간 동안의 시간별 비의 합계입니다. 지난 시간에 어떻게 "분리"하는지 알아 내고 싶습니다.
마이크 그리피스

1
놀랍게도 어렵다. 기록한 모든 값은 24 개의 알 수없는 숫자로 구성됩니다. 이를 해결하려면 24 개의 방정식이 필요합니다. 즉 24 개의 등식이 있으며 정확히 알 수없는 것과 같지만 슬라이딩 윈도우가 있기 때문입니다. 나는 이것이 "해결 불가능한 것"이라고 상상할 수 없지만, 그것은 나에게 보인다. 그것에 대해 생각하는 또 다른 방법 : 당신은 당신이 P(N-x)추가 할 때마다 하나의 미지의 것을 얻고 있습니다. 그래서 결국에는 방정식과 미지의 수는 다시 나타납니다.
sebastiangeiger


2
@FrustratedWithFormsDesigner 또는 math.stackexchange.com ?
CaffGeek

답변:


8

데이터 세트가 항상 연속 24 시간 창으로 구성되어 있다고 가정하면 (즉, 첫 번째 데이터 요소는 1 시간 창이 아님) ...

적어도 일반적인 경우 에는 적어도 두 개의 강우 패턴이 하나의 데이터 세트에 매핑되는 반례가 존재하기 때문에 해결할 수없는 문제아닙니다 .

  • 사례 1 : 매일 오전 12시 30 분에 24시 비가 내립니다.
  • 사례 2 : 매시간 30 분마다 1 인치의 비가 계속 내립니다.

두 경우 P(N) = 24"모두 N.

이 하나의 데이터 세트에서 파생 될 수있는 시나리오가 없기 때문에 일반적인 의미로는 문제를 해결할 수 없습니다.


따로, 우리는 문제가 항상 해결 불가능 하다는 것이 반드시 사실이 아님을 증명할 수도 있습니다 . 가장 간단히 말해서, P(N) = 0"모든 경우 에 N, 그것을 설명 할 수있는 비 패턴은 오직 하나뿐입니다 : 매 시간마다 0 인치의 비.


따라서 데이터 세트의 특성으로 인해 문제를 해결하는 것이 더 흥미로운 문제입니다. 당신은 적어도 하나의 데이터 세트의 경우 사소, N등을 그 P(N) = 0", 그럼 당신은 해결책을 가지고 있습니다.

주어진 데이터 세트에 대해 문제를 해결할 수있는 다른 속성이 있다면 놀라지 않을 것입니다. 그것들을 찾는 것은 재미있는 도전이되어야합니다. 동시에 존재 할 수 없다는 것을 증명하는 것도 똑같이 즐겁습니다.


5

강수 기간이 0이 될 때까지 데이터를 반복 한 다음 SnOrus가 설명한대로 해당 지점부터 앞으로 계산해야합니다. 데이터 포인트가 0이 아닌 경우 가장 이른 항목이 시간 시작 후 1 시간이되도록 정의하지 않는 한이 문제를 해결할 수 없다고 생각합니다.

0 판독 값에서 시간을 거꾸로 계산하여 동일한 작업을 반대로 수행 할 수도 있습니다 (행에 최소 24 개의 0이 표시되지만).


이를 가능하게하는 데이터에 대한 흥미로운 제약은 강수가 절대 음수 일 수 없다는 것입니다. 따라서 값이 0이면 이전 24 시간이 0이어야한다는 것을 알 수 있습니다.
Scott Whitlock

0

P (n)-P (n-1)> = 0에 바인딩 됨

여기서 P ()는 n 이전 24 시간 동안 기록 된 강수량입니다.

... 한 시간 전에 비가 내릴 것입니다 P(n).


12:00에 -.1 인치를 계산합니다. 거의 들리지 않습니다. .2 인치가 23 일 11:00의 24 시간 측정 인 경우 정답은 .1이어야합니다.
Edward Strange

N이 "5/24 12:00 pm"인 경우 P (N)은 오전 5시 23 분부터 오후 5시 24 분까지, 오전 5시 24 분부터 오전 11시 59 분까지의 창을 포함합니다. 그런 다음 P (N-1)에는 오전 5시 23 분부터 11시 오전 5시 24 분까지, 오전 10시 59 분에 창이 있습니다. 오전 11시에서 11시 59 분까지 창에서 무슨 일이 있었는지 알고 싶지만 두 개를 빼면 전날에 여분의 "창"이 나타납니다. 시각적 표현은 업데이트 된 설명을 참조하십시오.
Mike Griffith

@ MikeGriffith : 내 편집을 참조하십시오. 나는 옳았다 고 생각하지만 결과를> = 0으로 묶어야합니다. (<= 0은 비가 내리지 않았 음을 나타냅니다). 내가 문제를 오해하지 않는 한.
Steven Evers

@ SnOrfus : 그 시점에서 여전히 두 개의 알 수없는 값이 있습니다.
데니스

0

이것은 완전한 대답이 아니며, 직장에 있고 이미 그것에 많은 시간을 보냈습니다 ... 더 나아가 내 직감이 올바른지 확인하려면 더 많은 데이터가 필요합니다.

시간 x에서 24 시간 단위로 P (x)를 호출합니다.

다음과 같은 오버랩 시나리오를 고려하십시오.

|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-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 "따라서 필요한 것은 24 시간보다 긴 1 시간의 강수량입니다." 또는 24 시간 동안 0 "의 값.
CaffGeek

@ 차드 그것은 확실히 그것을 얻는 한 가지 방법입니다.
Caleb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.