แปลงรายการค่าเร่งรัด 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
}

มีกลยุทธ์ / อัลกอริทึมในการพิจารณาปริมาณน้ำฝนที่ตกลงมาในแต่ละชั่วโมงหรือไม่? ฉันไม่สามารถห่อหัวของฉันรอบนี้ ฉันรู้ว่ามันไม่ตรงไปตรงมาเหมือนกับการสรุปความแตกต่าง

การแสดงชุดข้อมูล

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

ขอบคุณมากสำหรับความช่วยเหลือใด ๆ


ไม่0.6" ฝนจาก 5/23 ตั้งแต่เวลา 11:00 - 10:59 5/24หมายถึงการที่ในช่วงเวลาที่ 0.6" ฝนตกลงหรือเฉลี่ยของ 0.6" ฝนตกในช่วงเวลานั้น?
ระบบลง

อดีต. มันคือผลรวมของฝนโดยชั่วโมงสำหรับ 24 ชั่วโมงก่อนหน้า ฉันต้องการทราบวิธีการ "หยุด" ในชั่วโมงที่แล้ว
Mike Griffith

1
ยากนี้อย่างแปลกใจ ทุกค่าที่คุณบันทึกจะประกอบด้วยตัวเลขที่ไม่รู้จักจำนวน 24 หมายเลข คุณจะต้องมี 24 สมการเพื่อแก้ปัญหานั่นก็คือ 24 สมการที่มีค่าไม่ทราบแน่นอนเหมือนกันในพวกมัน แต่เพราะคุณมีหน้าต่างบานเลื่อนที่ไม่ใช่กรณี ฉันไม่สามารถจินตนาการได้ว่านี่เป็น "แก้ไม่ตก" แต่แน่นอนว่ามันดูเหมือนกับฉัน อีกวิธีในการคิดเกี่ยวกับสิ่งนี้: คุณได้สิ่งหนึ่งที่ไม่รู้จักสำหรับทุก ๆP(N-x)สิ่งที่คุณเพิ่มดังนั้นในท้ายที่สุดจำนวนของสมการและสิ่งที่ไม่รู้จักจะออกมาอีกครั้ง
sebastiangeiger

3
ฉันสงสัยว่านี่จะเป็นคำถามที่ดีกว่าสำหรับ: cstheory.stackexchange.com หรือไม่
FrustratedWithFormsDesigner

2
@FrustratedWithFormsDesigner หรือmath.stackexchange.com ?
CaffGeek

คำตอบ:


8

สมมติว่าชุดข้อมูลประกอบด้วยหน้าต่าง 24 ชั่วโมงติดต่อกันเสมอ (เช่นจุดข้อมูลแรกไม่ใช่หน้าต่าง 1 ชั่วโมง) ...

นี่ไม่ใช่ปัญหาที่แก้ไขได้อย่างน้อยในกรณีทั่วไปเนื่องจากมีตัวอย่างที่มีอยู่อย่างน้อยสองรูปแบบของฝนที่แมปกับชุดข้อมูลหนึ่ง

  • กรณีที่ 1: ฝนตก 24 "เวลา 12:30 น. ทุกวันตลอดไป
  • กรณีที่ 2: ฝนตก 1 "เมื่อ 30 นาทีที่ผ่านมาทุกชั่วโมงตลอดไป

ในทั้งสองกรณีของคุณทั้งหมดP(N) = 24"N

เนื่องจากไม่มีสถานการณ์จำลองใดที่สามารถได้รับจากชุดข้อมูลนี้หนึ่งปัญหาจึงไม่สามารถแก้ไขได้โดยทั่วไป


นอกจากนี้เรายังสามารถแสดงให้เห็นว่าไม่จำเป็นต้องเป็นความจริงที่ว่าปัญหาจะไม่สามารถแก้ไขได้เสมอ ส่วนใหญ่ก็ถ้าP(N) = 0"ทั้งหมดNมีเพียงหนึ่งรูปแบบฝนไปได้ที่จะบัญชีสำหรับมันศูนย์นิ้วของฝนที่ทุกชั่วโมง


ดังนั้นจึงเป็นปัญหาที่น่าสนใจมากขึ้นในการระบุลักษณะของชุดข้อมูลที่ทำให้สามารถแก้ไขปัญหาได้ นิด ๆ ถ้าคุณมีชุดข้อมูลที่มีอย่างน้อยหนึ่งNเช่นนั้นP(N) = 0"แล้วคุณมีวิธีการแก้ปัญหา

ฉันจะไม่แปลกใจถ้ามีคุณสมบัติอื่น ๆ ที่จะทำให้ปัญหาแก้ไขได้สำหรับชุดข้อมูลที่กำหนด การค้นหาสิ่งเหล่านั้นควรเป็นสิ่งที่ท้าทาย ในขณะเดียวกันการพิสูจน์ว่าไม่มีใครมีความสนุกสนานเท่ากัน


5

คุณจำเป็นต้องวนซ้ำข้อมูลจนกว่าคุณจะพบระยะเวลาการเร่งรัด 0 จากนั้นคุณคำนวณไปข้างหน้าจากจุดนั้นตามที่ SnOrus อธิบาย หากไม่มีจุดข้อมูลเป็น 0 ฉันไม่คิดว่าจะสามารถแก้ไขได้เว้นแต่คุณจะกำหนดรายการแรกสุดให้เป็น 1 ชั่วโมงหลังจากจุดเริ่มต้นของเวลาเพื่อให้คะแนนเร็วกว่าที่ไม่ได้กำหนด

มันอาจเป็นไปได้ที่จะคำนวณย้อนหลังจากการอ่าน 0 โดยทำสิ่งเดียวกันในสิ่งที่ตรงกันข้าม (แม้ว่าคุณจะได้อย่างน้อย 24 0 วินาทีในแถว)


ข้อ จำกัด ที่น่าสนใจของข้อมูลที่ทำให้สิ่งนี้เป็นไปได้คือการตกตะกอนจะไม่เป็นลบดังนั้นด้วยค่าศูนย์คุณรู้ว่า 24 ชั่วโมงก่อนหน้าต้องเป็นศูนย์
Scott Whitlock

0

P (n) - P (n-1) ถูกผูกไว้กับ> = 0

โดยที่ P () คือปริมาณการตกตะกอนที่บันทึกไว้เป็นเวลา 24 ชั่วโมงก่อนถึง n

... P(n)ควรให้ปริมาณฝนในชั่วโมงก่อนที่จะ


นั่นจะคำนวณ -.1 นิ้วเป็นเวลา 12:00 น. ฟังดูไม่น่าจะเป็นไปได้ หาก .2 นิ้วเป็นหน่วยวัด 24 ชั่วโมงเวลา 11.00 น. ของวันที่ 23 คำตอบที่ถูกต้องควรเป็น. 1
Edward Strange

หาก N คือ "5/24 12:00 pm" P (N) จะมีหน้าต่างตั้งแต่ 5/23 เวลา 12:00 น. ถึง 5/24 เวลา 11:59 น. จากนั้น P (N-1) จะมีหน้าต่างตั้งแต่ 5/23 เวลา 11:00 น. ถึง 5/24 เวลา 10:59 น ฉันต้องการทราบว่าเกิดอะไรขึ้นในหน้าต่างตั้งแต่ 11:00 น. - 11:59 น. แต่เพียงการลบทั้งสองยังแนะนำ "หน้าต่าง" เพิ่มเติมในวันก่อน ดูคำอธิบายที่อัปเดตสำหรับการแสดงภาพ
Mike Griffith

@MikeGriffith: ดูการแก้ไขของฉัน ฉันเชื่อว่าฉันพูดถูก แต่คุณต้อง จำกัด ผลลัพธ์ไว้ที่> = 0 (<= 0 จะบ่งบอกว่าไม่มีฝน) ถ้าฉันไม่เข้าใจปัญหา
Steven Evers

@SnOrfus: คุณยังมีค่าที่ไม่รู้จักสองค่า ณ จุดนั้น
Daenyth

0

นี่ไม่ใช่คำตอบที่สมบูรณ์ฉันอยู่ในที่ทำงานและใช้เวลาไปกับมันอยู่แล้ว ... ต่อไปฉันต้องการข้อมูลเพิ่มเติมเพื่อดูว่าลางสังหรณ์ของฉันถูกต้องหรือไม่

ลองเรียก P (x) การวัด 24 ชั่วโมง ณ เวลา 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

สำหรับสองชั่วโมงติดต่อกัน n (ตอนนี้) และ n-1 (ชั่วโมงก่อนหน้านี้) คุณมีผลรวมการเร่งรัดยี่สิบสี่ชั่วโมง (T) ซึ่งประกอบด้วยตัวเลขการเร่งรัด 24 ชั่วโมง (P):

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) คืออะไรเว้นแต่คุณจะรู้ว่า P (n-24) คืออะไร คุณสามารถย้อนกลับไปที่ข้อมูลเพิ่มเติมเพื่อคำนวณ P (n-24) แต่เพื่อให้ได้สิ่งที่คุณต้องการ P (n-25) และอื่น ๆ ที่อยู่บน infinitum สิ่งที่คุณต้องการคือค่าการตกตะกอนสำหรับชั่วโมงเดียวที่นานกว่า 24 ชั่วโมง หากคุณมีสิ่งนั้นคุณสามารถคำนวณการเร่งรัดรายชั่วโมงสำหรับชั่วโมงต่อมาทั้งหมด


1
+1 "สิ่งที่คุณต้องการคือค่าการเร่งรัดสำหรับชั่วโมงเดียวที่นานกว่า 24 ชั่วโมง" หรือค่า 0 "เป็นระยะเวลา 24 ชั่วโมง
CaffGeek

@Chad นั่นเป็นวิธีหนึ่งที่จะได้มา
Caleb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.