24 saatlik yağış değerleri listesini toplam saat başına dönüştür


11

Diyelim ki, her biri önceki 24 saatte tarihe göre sıralanan yağmur miktarını gösteren, saat bazında yağış değerleri listem var. Örneğin:

{
    '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
}

Her saatte ne kadar yağmur yağdığını belirlemek için bir strateji / algoritma var mı? Başımı bunun etrafına dolamıyorum. Sadece farkları toplamak kadar basit olmadığını biliyorum.

Veri Kümesinin Görselleştirilmesi

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

Herhangi bir yardım için çok teşekkürler.


Does .6" - 5/23 11:00 dan yağmur 24/05 10:59 yağmur düştü olduğu ve zaman 0,6" o ortalama ya da ortalama bu dönemde yağmur .6" nin?
Sistem Çalışmıyor

Eski. Önceki 24 saat için saat başına yağmurun toplamı. O son saatin nasıl "kopacağını" anlamak istiyorum.
Mike Griffith

1
Bu şaşırtıcı derecede zor. Kaydettiğiniz her değer, toplanan 24 bilinmeyen numaradan oluşur. Bunu çözmek için 24 denkleme ihtiyacınız vardır, bu da onlarda aynı bilinmeyenlere sahip 24 denklemdir, çünkü bu sürgülü bir pencereniz olduğu için durum böyle değildir. Bunun "çözülemez" olduğunu hayal bile edemiyorum, ama bana öyle geliyor. Bunu düşünmenin başka bir yolu: P(N-x)Eklediğiniz her şey için bilinmeyen bir tane kazanıyorsunuz , sonuçta denklemlerin ve bilinmeyenlerin sayısı kendilerini tekrar dışarı çıkarıyor.
sebastiangeiger

3
Bunun için daha iyi bir soru olup olmadığını merak ediyorum: cstheory.stackexchange.com
FrustratedWithFormsDesigner

2
@FrustratedWithFormsDesigner veya math.stackexchange.com ?
CaffGeek

Yanıtlar:


8

Veri kümesinin her zaman ardışık 24 saatlik pencerelerden oluştuğunu varsayarsak (yani, ilk veri noktası 1 saatlik bir pencere değildir) ...

Bu, en azından genel durumda çözülebilir bir problem değildir, çünkü en az iki yağmur modelinin bir veri setiyle eşleştiği bir karşı örnek vardır.

  • Durum 1: Her gün saat 12: 30'da sonsuza kadar 24 "yağmur yağar.
  • Durum 2: Sonsuza dek her saat 30 dakika sonra 1 "yağmur yağıyor.

Her iki durumda da, P(N) = 24"herkes için N.

Bu tek bir veri kümesinden türetilebilecek tek bir senaryo olmadığından, sorun genel anlamda çözülemez.


Bir yana, sorunun her zaman çözümsüz olmasının mutlaka doğru olmadığını da gösterebiliriz . En basit haliyle , eğer P(N) = 0"herkes Niçin hesaba katılması gereken tek bir yağmur şekli varsa: her saatte sıfır inç yağmur.


Bu nedenle, veri seti ile ilgili hangi özelliklerin sorunu çözülebilir kıldığını belirlemek daha ilginç bir sorundur. En az bir ile bir veri kümesi varsa Trivially, Nöyle ki P(N) = 0", o zaman bir çözüm vardır.

Sorunu belirli bir veri kümesi için çözülebilir yapacak başka özellikler olsaydı şaşırmazdım. Bunları bulmak eğlenceli bir mücadele olmalı. Aynı zamanda, hiçbirinin var olamayacağını kanıtlamak da aynı derecede eğlencelidir.


5

0 yağış periyodu bulana kadar veriyi tekrarlamanız gerekir, ardından SnOrus'un açıkladığı gibi o noktadan ileriye doğru hesaplarsınız. Hiçbir veri noktası 0 ise, en erken girişi zamanın başlangıcından 1 saat sonra tanımlanmadıkça çözülemeyeceğini düşünmüyorum.

aynı şeyi tersine yaparak, 0 okumadan geriye doğru hesaplamak da mümkün olabilir (ancak arka arkaya en az 24 0 alırsınız).


Bunu mümkün kılan veriler üzerindeki ilginç kısıtlama, yağışın asla negatif olamayacağıdır, bu nedenle sıfır değeri ile önceki 24 saatin sıfır olması gerektiğini bilirsiniz.
Scott Whitlock

0

P (n) - P (n-1)> = 0 ile sınırlı

Burada P (), n'den önceki 24 saat boyunca kaydedilen yağış miktarıdır.

... önceki saatte yağmur miktarını vermeli P(n).


Bu 12:00 için -.1 inç hesaplar. Kulağa pek hoş gelmiyor. 23 inçte saat 11: 00'de 24 saat ölçü ise .2
Edward Strange

N "5/24 12:00 pm" ise, P (N) 5/23 ile 12:00 pm arasında 5/24 ile 11:59 am arasında bir pencere içerir. Daha sonra P (N-1) 5: 23'ten 11: 00'den 5: 24'e, 10:59'dan bir pencere içerir. 11: 00-11: 59 arasında pencerede ne olduğunu bilmek istiyorum, ama sadece ikisini çıkarmak da önceki gün ekstra bir "pencere" tanıtıyor. Görsel sunum için güncellenmiş açıklamaya bakın.
Mike Griffith

@MikeGriffith: Düzenlememi görün. Haklı olduğuma inanıyorum, ama sonucu> = 0 ile sınırlamanız gerekiyor. (<= 0 yağmur olmadığını gösterir). Sorunu yanlış anlamadığım sürece.
Steven Evers

@SnOrfus: Bu noktada hala iki bilinmeyen değeriniz var.
Daenyth

0

Bu tam bir cevap değil, işteyim ve üzerinde çok fazla zaman geçirdim ... ayrıca önsezimin doğru olup olmadığını görmek için daha fazla veriye ihtiyacım var.

P (x) 'e x zamanındaki 24 saatlik ölçüyü çağıralım.

Aşağıdaki örtüşme senaryosunu göz önünde bulundurun:

|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.

Bu nedenle H25'i hesaplamanız gerekir. Çözümün P (X), P (X-1) ve P (X-24) 'ten oluşturulan bir sistemde bir yerde duracağına inanıyorum.


0

Art arda iki saat n (şimdi) ve n-1 (şimdiki saat) için, 24 saatlik yağış sayılarından (P) oluşan yirmi dört saatlik yağış toplamına (T) sahipsiniz:

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)

Yani:

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

(Terimler P (n-1) ... P (n-23) hem T (n) hem de T (n-1) 'de kopyalanır, böylece onları çıkarmak 0 verir.) Yeniden düzenleme, elde edersiniz:

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

Şimdi, P (n-24) 'ün ne olduğunu bilmediğiniz sürece P (n)' nin ne olduğunu bulamazsınız. P (n-24) hesaplamak için verilerde daha ileri gidebilirsiniz, ancak bunu elde etmek için P (n-25) ve benzeri reklam sonsuzuna ihtiyacınız vardır. Öyleyse ihtiyacınız olan şey, 24 saatten daha uzun bir süre önce herhangi bir saat için yağış değeridir. Buna sahipseniz, sonraki tüm saatler için saatlik yağış miktarını hesaplayabilirsiniz.


1
+1 "İhtiyacınız olan şey, 24 saatten daha uzun bir süre önce herhangi bir saat için yağış değeridir." Veya 24 saatlik bir süre için 0 "değeri.
CaffGeek

@Chad Kesinlikle almanın bir yolu.
Caleb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.