Thursday 6 July 2017

เฉลี่ยเคลื่อนที่ Haskell


ฉัน m ทำงานในการเรียนรู้ Haskell ดังนั้นฉันพยายามที่จะใช้ฟังก์ชันเฉลี่ยเคลื่อนไหวนี่คือรหัสของฉัน. ที่ผู้ใช้โทร mAverage มีความยาวเฉลี่ยและรายชื่อค่าเช่น mAverage 4 1,2 100. แต่เมื่อฉันทำงาน รหัสในการป้อนข้อมูล mAverage 4 1,2 100000 ฉันได้รับว่าจะใช้เวลา 3 วินาทีใน ghci ใช้ชุด s และใช้กิกะไบต์ของหน่วยความจำนี้ดูเหมือนไม่มีประสิทธิภาพมากสำหรับฉันเป็นฟังก์ชันเทียบเท่าใช้เศษของสองใน Python Is มีวิธีการที่ฉันจะทำให้โค้ดของฉันมีประสิทธิภาพมากขึ้น # 27 ธันวาคม 16 ที่ 19 59 วิธีหนึ่งที่จะทำหน้าต่างบานเลื่อนคือการผ่านในผลรวมแรกเป็น Float pass ในรายการเดิมที่จะใช้ในการลบออกจากปัจจุบัน sum และรายการต้นฉบับที่มี k รายการลดลงเพื่อใช้ในการเพิ่มผลรวมปัจจุบันแล้วผลรวมถัดไปคือผลรวมที่ส่งผ่านไปในลบองค์ประกอบแรกของรายการลบพร้อมด้วยองค์ประกอบแรกของรายการเพิ่มเติม Chai T Rex Dec 27 16 at 20 33. ถ้าคุณต้องการเรียนรู้สิ่งใหม่ ๆ คุณสามารถดูวิธีการแก้ปัญหาที่ดีนี้ f หรือ Moving Average ปัญหานี้เขียนขึ้นโดยนักเรียนคนหนึ่งของฉันดังนั้นฉันจึงไม่ได้อ้างสิทธิ์ในการเป็นผู้ประพันธ์ฉันชอบมันมากเพราะปัญหานี้สั้นมากปัญหาเดียวที่นี่คือฟังก์ชันเฉลี่ยฟังก์ชันดังกล่าวไม่เป็นที่น่าพอใจ แต่คุณสามารถใช้ Beautiful folds ได้โดย Gabriel Gonzalez และใช่ฟังก์ชันนี้จะใช้เวลา O k ที่ k คือขนาดของหน้าต่างสำหรับคำนวณค่าเฉลี่ยของหน้าต่างฉันคิดว่ามันดีกว่าเพราะคุณสามารถเผชิญกับข้อผิดพลาดจุดลอยถ้าคุณพยายามที่จะเพิ่มเฉพาะองค์ประกอบใหม่ไปที่หน้าต่างและลบสุดท้ายโอ้ก็ยังใช้รัฐ monad. UPD หลังจากตรวจทานโค้ดบางส่วนฉันสังเกตเห็นว่าไม่จำเป็นต้องใช้ folds ที่นี่เพื่อคำนวณค่าเฉลี่ยคุณทราบว่าความยาวจะเป็น n เสมอดังนั้นคุณจึงสามารถใส่ค่าเฉลี่ยของฟังก์ชันลงในตำแหน่งที่ตอบได้ Dec 27 16 at 23 26.Here sa solution สำหรับ you. The ความคิดที่จะสแกนสองรายการหนึ่งที่เริ่มต้นเฉลี่ยหน้าต่างและอื่นที่จะสิ้นสุดการท้ายท้ายของรายการค่าใช้จ่ายมากที่สุดเท่าที่การสแกนส่วนที่เราข้ามอีกครั้งและเราไม่ได้คัดลอกอะไรถ้า ขนาดหน้าต่างมักจะเป็น ค่อนข้างใหญ่เราสามารถคำนวณ remaindata พร้อมกับการนับรวม initialdata ในหนึ่ง go. We สร้างรายชื่อของผลรวมบางส่วนตามที่อธิบายไว้ในความคิดเห็นของฉันแล้วหารด้วยความกว้างของหน้าต่างที่จะได้รับค่าเฉลี่ยในขณะที่ slidingAverage คำนวณค่าเฉลี่ยสำหรับหน้าต่างตำแหน่งลำเอียง ความกว้างไปทางขวา centeredSlidingAverage คำนวณค่าเฉลี่ยที่ศูนย์กลางโดยใช้ความกว้างของหน้าต่างครึ่งหนึ่งไปทางซ้ายและทางขวาเมื่อฉันลองความยาว slidingAverage 10 1 1000000 จะใช้เวลาน้อยกว่าที่สองใน MBP ของฉันเนื่องจากความเกียจคร้าน centeredSlidingAverage ใช้เวลาประมาณเดียวกัน ตอบ 27 ธ. ค. 16 ที่ 22 25. คำตอบของคุณ 2017 Stack Exchange, Inc. ตัวบ่งชี้ค่าเฉลี่ยความยาวเฉลี่ยเคลื่อนที่มีความละเอียดอ่อนและระบุถึงแนวโน้มใหม่ ๆ ก่อนหน้านี้ แต่ยังให้สัญญาณเตือนที่ผิดพลาดมากขึ้นค่าเฉลี่ยเคลื่อนที่ที่ยาวขึ้นมีความน่าเชื่อถือมากกว่า แต่ไม่ตอบสนองน้อย เพียงหยิบขึ้นมาใช้แนวโน้มขนาดใหญ่ใช้ค่าเฉลี่ยเคลื่อนที่ที่เท่ากับครึ่งความยาวของวัฏจักรที่คุณกำลังติดตามถ้าความยาวรอบสูงสุดถึงสูงสุดคือประมาณ 30 วันแล้ว ค่าเฉลี่ยเคลื่อนที่ 15 วันมีความเหมาะสมหาก 20 วันค่าเฉลี่ยเคลื่อนที่ 10 วันมีความเหมาะสมผู้ค้าบางรายจะใช้ค่าเฉลี่ยเคลื่อนที่ 14 และ 9 วันสำหรับรอบข้างต้นด้วยความหวังในการสร้างสัญญาณเล็กน้อยก่อนตลาดอื่น ๆ ตัวเลข Fibonacci จาก 5, 8, 13 และ 21.100 ถึง 200 วัน 20 ถึง 40 สัปดาห์ค่าเฉลี่ยเคลื่อนที่เป็นช่วงที่ได้รับความนิยมสำหรับรอบที่ยาวขึ้น 20 ถึง 65 วัน 4 ถึง 13 สัปดาห์ค่าเฉลี่ยเคลื่อนที่จะเป็นประโยชน์สำหรับรอบกลางและ 5- 20 วันสำหรับรอบระยะสั้น ระบบค่าเฉลี่ยที่ง่ายที่สุดในการสร้างสัญญาณเมื่อราคาข้ามค่าเฉลี่ยเคลื่อนที่ไปนานเมื่อราคาข้ามไปเหนือค่าเฉลี่ยเคลื่อนที่จากด้านล่างให้สั้นลงเมื่อราคาข้ามไปด้านล่างค่าเฉลี่ยเคลื่อนที่จากด้านบนระบบมีแนวโน้มที่จะ whipsaws ในตลาดมากมาย, ด้วยราคาที่ข้ามไปมาระหว่างค่าเฉลี่ยเคลื่อนที่ทำให้เกิดสัญญาณเท็จจำนวนมากด้วยเหตุนี้ระบบเฉลี่ยเคลื่อนที่มักใช้ตัวกรองเพื่อลด whipsaws. More ระบบที่ซับซ้อนใช้ ave ย้ายมากกว่าหนึ่ง ค่าเฉลี่ยเคลื่อนที่สองเส้นใช้ค่าเฉลี่ยเคลื่อนที่เร็วกว่าเป็นค่าทดแทนสำหรับราคาปิด 3. ค่าเฉลี่ยเคลื่อนที่ใช้ค่าเฉลี่ยเคลื่อนที่ที่สามเพื่อระบุเมื่อราคาอยู่ในช่วงค่าเฉลี่ยเคลื่อนที่หลายค่าใช้ค่าเฉลี่ยเคลื่อนที่หกตัวและค่าเฉลี่ยเคลื่อนที่หกตัวที่เคลื่อนที่ช้า ยืนยันแต่ละอื่น ๆ ค่าเฉลี่ยเคลื่อนที่ที่มีการย้ายที่เป็นประโยชน์จะเป็นประโยชน์สำหรับจุดประสงค์เพื่อวัตถุประสงค์ในการลดจำนวน whipsaws. Keltner Channels ใช้แผนภูมิที่วางแผนไว้ที่ช่วงจริงหลายช่วงเพื่อกรองค่าเฉลี่ยของค่าไขว้เฉลี่ยที่เคลื่อนที่ได้ MACD Moving Average Convergence Divergence บ่งชี้ความแตกต่าง ของทั้งสองระบบค่าเฉลี่ยเคลื่อนที่วางแผนเป็น oscillator ซึ่งลบค่าเฉลี่ยเคลื่อนที่ช้าจากค่าเฉลี่ยเคลื่อนที่อย่างรวดเร็ว. ทบทวน Twiggs ประจำสัปดาห์ของตลาดทั่วโลกจะช่วยให้คุณระบุความเสี่ยงของตลาดปรับปรุง timing. Given ของคุณว่าเราอยู่ในภาษาโดยไม่มีอาร์เรย์, ฉันสมมติว่าคุณเป็นผู้เริ่มใช้ภาษาทั้งสองวิธีควรแก้ไขข้อมูลเพิ่มเติมในคำถามเองซึ่งเป็นวิธีที่ผู้ใช้คนอื่นทำ nt ต้องไล่ข้อมูลจากความคิดเห็นฉัน don t มีเวลาที่จะให้คำตอบที่สมบูรณ์ แต่ควรจะเป็นไปได้กับ zipWith หางและเล็กน้อยของการเล่นซอ Zeta 6 พ. ย. 16 ที่ 10 43.Moving เฉลี่ยสามารถคำนวณด้วย mealy เครื่องที่รัฐภายในเป็นค่าก่อนหน้าฉันจะแสดงค่าเฉลี่ยเคลื่อนที่มากกว่าสามอาร์กิวเมนต์ตัวอย่างคุณสามารถซอกับตัวเองเช่นทำให้มันเป็น parametrisable size. Mealy เครื่องเป็นหลักรัฐเริ่มต้นและการป้อนข้อมูลของรัฐเพื่อการทำงานของรัฐออกใหม่ ลองสมมติว่าสถานะเริ่มต้นเป็นเลขศูนย์ทั้งหมดและเขียนฟังก์ชันสำหรับค่าเฉลี่ยเคลื่อนที่มากกว่า 3. ขณะนี้เรามีชิ้นส่วนทั้งหมดให้ใช้เครื่องบนอินพุทคุณสามารถลดค่าที่ผลิตได้เป็นครั้งแรกเนื่องจากสถานะภายในของเครื่องกำลังร้อนขึ้น . สำหรับเครื่องขนาดเฉลี่ยโดยพลการคุณสามารถใช้เป็นโครงสร้างข้อมูลที่ดีมากเมื่อคุณกดไปที่ปลายด้านหนึ่งในขณะที่ป๊อปจากที่อื่นแล้วรายการที่เชื่อมโยงเดียวทำไมฉัน m พูดคุยเกี่ยวกับเครื่อง Mealy เพราะในบางจุดคุณจะมีโอกาสมากที่สุด วิ่งไปที่ si tuation ที่คุณจำเป็นต้องใช้ห้องสมุดสตรีมมิ่งในท่อหรือท่อ Haskell วิธี Mealy เครื่องแล้วจะเป็นทางออกที่เหมาะสมเท่านั้นนอกจากนี้คุณสามารถสร้างโมเดล autoregressive ด้วย

No comments:

Post a Comment