การย้าย ค่าเฉลี่ย คำนวณ ขั้นตอนวิธี


Moving Average ตัวอย่างนี้สอนวิธีการคำนวณค่าเฉลี่ยเคลื่อนที่ของชุดข้อมูลเวลาใน Excel ค่าเฉลี่ยเคลื่อนที่จะใช้เพื่อทำให้จุดสูงสุดและที่ราบสูงเป็นไปอย่างราบรื่นเพื่อให้ทราบถึงแนวโน้มต่างๆได้ง่ายขึ้นอันดับแรกลองดูที่ชุดข้อมูลเวลาของเรา คลิกการวิเคราะห์ข้อมูลคลิกที่นี่เพื่อโหลด Add-In Toolkit การวิเคราะห์ 3 เลือก Moving Average และคลิก OK.4 คลิกในกล่อง Input Range และเลือกช่วง B2 M2 5. คลิกที่ช่อง Interval และพิมพ์ 6.6 คลิกที่ Output Range และเลือกเซลล์ B3.8 วาดกราฟของค่าเหล่านี้การอธิบายเนื่องจากเราตั้งค่าช่วงเป็น 6 ค่าเฉลี่ยเคลื่อนที่คือค่าเฉลี่ยของ 5 จุดข้อมูลก่อนหน้าและ จุดข้อมูลปัจจุบันเป็นผลให้ยอดและหุบเขาถูกทำให้ราบรื่นกราฟแสดงแนวโน้มการเพิ่มขึ้น Excel ไม่สามารถคำนวณค่าเฉลี่ยเคลื่อนที่สำหรับจุดข้อมูล 5 จุดแรกเนื่องจากไม่มีจุดข้อมูลก่อนหน้านี้มากพอ 9 ทำซ้ำขั้นตอนที่ 2 ถึง 8 สำหรับช่วง 2 และช่วงเวลา 4. บทสรุป The la rger ช่วงเวลาที่มากขึ้นยอดและหุบเขาจะเรียบออกที่มีขนาดเล็กช่วงเวลาใกล้เคียงค่าเฉลี่ยเคลื่อนที่เป็นจุดข้อมูลจริงฉันต้องการที่จะใช้ขั้นตอนวิธีซ้ำซึ่งจะคำนวณถัวเฉลี่ยถ่วงน้ำหนักกฎหมายน้ำหนักเฉพาะไม่สำคัญ, แต่ควรใกล้เคียงกับ 1 สำหรับค่าล่าสุดและใกล้เคียงกับ 0 ถึงขั้นตอนที่เก่าที่สุดควรเป็น iterative คือไม่ควรจำค่าก่อนหน้าทั้งหมดควรทราบค่าที่ใหม่ที่สุดเพียงอย่างใดอย่างหนึ่งและข้อมูล aggregative ใด ๆ ที่ผ่านมาเช่นค่าก่อนหน้าของ ค่าเฉลี่ยผลรวม ฯลฯ นับเช่นขั้นตอนต่อไปนี้สามารถ be. It จะให้น้ำหนักลดลงชี้แจงซึ่งอาจจะไม่ดีเป็นไปได้ที่จะมีขั้นตอนลดน้ำหนักหรือสิ่งที่ความต้องการสำหรับการชั่งน้ำหนักกฎหมายดังต่อไปนี้ 1 น้ำหนักลดลงในอดีตที่ผ่านมา 2 ฉันมีระยะเวลาเฉลี่ยหรือลักษณะเฉพาะเพื่อให้ค่าแก่ช่วงเวลานี้มีความสำคัญมากน้อยกว่าที่ใหม่กว่า 3 ฉันควรจะสามารถตั้งค่าระยะเวลานี้ฉันต้องการ Supp ต่อไปนี้ ose vi เป็นค่าที่ v1 เป็นครั้งแรกยังสมมุติ wi เป็นน้ำหนัก แต่ w0 เป็น LAST. So หลังจากค่าแรกมาฉันมีค่าเฉลี่ยแรกหลังจาก v2 ค่าที่สองมาฉันควรมี average. With ค่าถัดไปฉันควรมี ทราบว่ารายละเอียดน้ำหนักที่มีการเคลื่อนไหวกับฉันในขณะที่ฉันย้ายไปตามลำดับค่าฉัน e แต่ละค่าไม่ได้มีน้ำหนักของตัวเองตลอดเวลาเป้าหมายของฉันคือการมีน้ำหนักนี้ลดลงในขณะที่ไป past. But งานของฉันคือ มีค่าเฉลี่ยใหม่ในแต่ละครั้งที่ค่าใหม่มาถึงมีค่าเก่า reweighted งาน OP. Your ของคุณเป็นไปไม่ได้เกือบแม้จะมีแผนการถ่วงน้ำหนักที่เรียบง่ายเป็นพิเศษคุณจะขอให้มีหน่วยความจำ O 1 ค่าเฉลี่ยผลผลิตที่มีการเปลี่ยนแปลงโครงร่างถ่วงน้ำหนักตัวอย่างเช่นเป็น ค่าใหม่จะถูกส่งผ่านไปสำหรับบางส่วนที่เปลี่ยนลำดับน้ำหนักเกือบพลการนี้เป็นไปไม่ได้เนื่องจากการฉีดเมื่อคุณรวมตัวเลขเข้าด้วยกันคุณจะสูญเสียข้อมูลจำนวนมหาศาลตัวอย่างเช่นแม้ว่าคุณจะมีเวกเตอร์น้ำหนักที่คุณไม่สามารถกู้คืนได้ ต้นฉบับ VA lue เวกเตอร์หรือในทางกลับกันมีเพียงสองกรณีที่ฉันสามารถคิดถึงตำแหน่งที่คุณจะได้รับไปกับน้ำหนักตัวนี้เช่นเดียวกับ 2,2,2 2 นี้เทียบเท่ากับอัลกอริทึมเฉลี่ย on-line ซึ่งคุณ don t ต้องการเพราะ ค่าเก่าไม่ได้ถูก reweighted น้ำหนักญาติของคำตอบก่อนไม่เปลี่ยนแปลงตัวอย่างเช่นคุณสามารถทำน้ำหนักของ 8,4,2,1 และเพิ่มในองค์ประกอบใหม่ที่มีน้ำหนัก arbitrary เช่น 1 แต่คุณต้องเพิ่มทั้งหมดก่อนหน้าโดย ตัวคูณเช่นเดียวกันเช่น 16,8,4,2 1 ดังนั้นในแต่ละขั้นตอนคุณจะเพิ่มน้ำหนักโดยพลการใหม่และการปรับเทียบใหม่โดยพลการของอดีตดังนั้นคุณมี 2 องศาของเสรีภาพเพียง 1 ถ้าคุณต้องการที่จะเก็บ จุดผลิตภัณฑ์ของคุณเป็นปกติน้ำหนักตัวเวิร์กที่คุณได้รับจะมีลักษณะคล้าย ๆ กันดังนั้นรูปแบบการถ่วงน้ำหนักใด ๆ ที่คุณสามารถทำให้มีลักษณะเหมือนที่จะใช้งานได้เว้นแต่คุณจะต้องรักษาสิ่งที่เป็นปกติโดยรวมน้ำหนักซึ่งในกรณีนี้คุณต้องแบ่ง ค่าเฉลี่ยใหม่โดยผลรวมใหม่ซึ่งคุณสามารถคำนวณได้โดยการเก็บเฉพาะ O 1 หน่วยความจำเพียงคูณ ค่าเฉลี่ยก่อนหน้าโดย s ใหม่ซึ่งจะแจกจ่ายโดยนัยไป dot-product เป็นน้ำหนักและ tack on new new new value. eded 29 มีนาคมที่ 21 27. ที่นี่ฉันสมมติว่าคุณต้องการน้ำหนักที่จะรวมถึง 1 ตราบเท่าที่ เนื่องจากคุณสามารถสร้างน้ำหนักสัมพัทธ์ได้โดยไม่ต้องมีการเปลี่ยนแปลงในอนาคตคุณสามารถจบลงด้วยโซลูชันที่เลียนแบบพฤติกรรมนี้นั่นคือสมมุติว่าคุณกำหนดน้ำหนักของคุณเป็นลำดับและกำหนดอินพุทเป็นลำดับโดยคำนึงถึงผลรวมของฟอร์ม s0 i0 s1 i1 s2 i2 sn ใน sum s0 s1 s2 sn โปรดสังเกตว่าเป็นไปได้นิดหน่อยที่จะคำนวณ incrementally นี้กับคู่ของ counters รวมแน่นอน CalculWeightFromCounter ในกรณีนี้ shouldn t สร้างน้ำหนักที่รวมถึงหนึ่ง - เคล็ดลับที่นี่เป็นที่ เราเฉลี่ยโดยหารด้วยผลรวมของน้ำหนักเพื่อให้ในที่สุดน้ำหนักจริงดูเหมือนจะรวมถึงหนึ่งเคล็ดลับที่แท้จริงคือวิธีการที่คุณคำนวณ CalculateFromCounter คุณสามารถกลับเคาน์เตอร์ตัวเองเช่น แต่ทราบว่าสุดท้ายถ่วงน้ำหนัก จำนวน wou ld ไม่ได้อยู่ใกล้ผลรวมของเคาน์เตอร์ที่จำเป็นเพื่อให้คุณไม่สามารถจบลงด้วยคุณสมบัติที่แน่นอนที่คุณต้องการมันยากที่จะพูดตั้งแต่ตามที่ได้กล่าวไว้คุณได้ทิ้งปัญหาเปิดธรรม 28 มีนาคมที่ 21 45.The ปัญหาคือน้ำหนักที่เปลี่ยนแปลงไปตามค่าใหม่แต่ละอันในกรณีของคุณไม่ใช่ Suzan Cioc 29 มี.ค. ที่ 14 43 น้ำหนักที่ใช้จริงมีการเปลี่ยนแปลงตามค่าใหม่แต่ละส่วนน้ำหนักจะถูกหารด้วยจำนวนที่มากกว่า ว่าน้ำหนักที่ใช้จริงเสมอผลรวม 1 Kaganar 29 มีนาคมที่ 12 14 45. นี่คือยาวเกินไปที่จะโพสต์ในความคิดเห็น แต่อาจเป็นประโยชน์รู้. สมมุติว่าคุณมี w0 vn wn v0 เราจะเรียก w 0 nvn 0 สำหรับระยะสั้นแล้วขั้นตอนต่อไปคือ w0 vn1 wn1 v0 และนี่คือ w 0 n1 v n1 0 เป็นระยะสั้นซึ่งหมายความว่าเราต้องมีวิธีการคำนวณ w 1 n1 vn 0 จาก w 0 nvn 0. เป็นไปได้ว่า vn 0 คือ 0 0, z, 0 0 โดยที่ z อยู่ที่ตำแหน่งหนึ่ง x ถ้าไม่มีพื้นที่เก็บข้อมูลใด ๆ เพิ่มเติม fzxzwx 1 โดยที่ wx คือน้ำหนักของตำแหน่ง x. Rearrangin g สมการ, wx 1 fzwxz ดี wx 1 ดีกว่าคงที่สำหรับค่าคงที่ x ดังนั้น fzwxz จะดีกว่าคงที่ดังนั้น f ต้องปล่อยให้ z propagate นั่นคือ fzwxzfw x แต่ที่นี่อีกครั้งเรามีปัญหาโปรดทราบว่าถ้า z ซึ่งอาจเป็นหมายเลขใด ๆ สามารถแพร่กระจายผ่าน f แล้ว wx แน่นอนสามารถดังนั้น fzwxwxfz ดังนั้น fwxwxfz แต่สำหรับ xwx คงที่เป็นค่าคงที่และทำให้ค่าคงที่ดีกว่าคงที่ wx เป็นค่าคงที่ดังนั้น fz จะดีกว่าคงที่เพื่อให้ wxfz คงที่ดังนั้น fwxwxc ที่ c คือค่าคงตัวดังนั้น fxcx โดยที่ c เป็นค่าคงที่เมื่อ x เป็นค่าน้ำหนักนั่นคือน้ำหนักแต่ละอันเป็นค่าหลายค่าของก่อนหน้านี้ดังนั้นน้ำหนักจึงเป็นรูปแบบ x x x โปรดสังเกตว่าข้อมูลนี้มีเพียงข้อมูล f เท่านั้น เป็นค่าที่รวบรวมล่าสุดทราบว่าในบางจุดคุณจะลดลงในกรณีนี้เว้นแต่ว่าคุณยินดีที่จะเก็บข้อมูลที่ไม่คงที่ของข้อมูลแทนข้อมูลของคุณคุณไม่สามารถแสดงเวกเตอร์ความยาวที่ไม่มีขีด จำกัด ของตัวเลขจริงด้วยจำนวนจริง แต่คุณ สามารถประมาณได้ อย่างใดในปริมาณคงที่แน่นอนของการจัดเก็บ แต่นี้จะเป็นเพียงการประมาณแม้ว่าฉัน haven t พิสูจน์อย่างจริงจังมันเป็นข้อสรุปของฉันว่าสิ่งที่คุณต้องการเป็นไปไม่ได้ที่จะทำด้วยความแม่นยำสูง แต่คุณอาจจะสามารถ ใช้พื้นที่ log n ซึ่งอาจรวมถึง O 1 สำหรับแอพพลิเคชั่นที่เป็นประโยชน์หลายอย่างในการสร้างการประมาณคุณภาพคุณอาจจะสามารถใช้งานได้แม้แต่น้อยตอบ: 29 มี.ค. ที่ผ่านมา 23 01. ฉันพยายามเขียนโค้ดบางอย่างใน Java ตามที่กล่าวแล้วว่า " เป้าหมายของคุณไม่สามารถทำได้คุณสามารถนับค่าเฉลี่ยจากจำนวนที่จำได้ครั้งสุดท้ายเท่านั้นหากคุณไม่จำเป็นต้องเป็นค่าที่แน่นอนคุณสามารถประมาณค่าที่เก่ากว่าได้โดยพยายามจดจำค่า 5 ค่าล่าสุดและเก่าทั้งหมดที่มีค่า SUMMED เท่ากับ 5 ค่าจดจำ 5 SUMs ล่าสุดจากนั้นความซับซ้อนเป็น O 2n สำหรับการจดจำค่า nnn ล่าสุดค่านี้เป็นค่าประมาณที่หยาบมากคุณสามารถปรับขนาด LastValues ​​และ lasAggregatedSums ได้ตามที่คุณต้องการดูภาพ Ascii-Art นี้ที่พยายามจะแสดงกราฟของ ค่าสุดท้ายแสดงให้เห็นว่าข้อมูลที่เก่ากว่าของคอลัมน์เก่าจะจำได้ว่าเป็นค่าที่รวมกันไม่ได้เป็นรายบุคคลและมีเพียง 5 ค่าที่เก่าที่สุดจะจดจำได้เป็นรายบุคคลความท้าทาย 1 ตัวอย่างของฉันไม่นับน้ำหนัก แต่ฉันคิดว่ามันไม่ใช่ปัญหาสำหรับคุณในการเพิ่มน้ำหนัก สำหรับ lastAggregatedSums เหมาะสม - ปัญหาเดียวคือว่าถ้าคุณต้องการลดน้ำหนักสำหรับค่าเก่ามันจะยากเพราะ array จะหมุนจึงไม่ง่ายที่จะทราบว่าน้ำหนักที่สมาชิกแถวบางทีคุณอาจจะปรับเปลี่ยนขั้นตอนวิธี เสมอเปลี่ยนค่าในอาร์เรย์แทนหมุนแล้วเพิ่มน้ำหนัก shouldn t เป็นปัญหาความท้าทาย 2 อาร์เรย์จะเริ่มต้นด้วย 0 ค่าและค่าเหล่านั้นจะนับถึงค่าเฉลี่ยจากจุดเริ่มต้นแม้ว่าเรา haven t ได้รับค่าเพียงพอถ้า คุณใช้อัลกอริทึมเป็นเวลานานคุณอาจไม่ต้องห่วงว่ากำลังเรียนรู้อยู่บ้างในตอนเริ่มต้นถ้าคุณทำคุณสามารถโพสต์การเปลี่ยนแปลงได้ตอบ 21 ม. ค. 14 15. 59.Y คำตอบของเรา 2017 Stack Exchange, Inc. Moving Average - MA. BREAKING DOWN Moving Average - MA เป็นตัวอย่าง SMA พิจารณาการรักษาความปลอดภัยโดยมีราคาปิดดังต่อไปนี้เกินกว่า 15 วัน 1 สัปดาห์ 5 วัน 20, 22, 24, 25, 23.Week 2 5 วัน 26, 28, 26, 29, 27.Week 3 5 วัน 28, 30, 27, 29, 28. MA - 10 วันเฉลี่ยจะออกจากราคาปิดของ 10 วันแรกเป็นข้อมูลแรก จุดจุดข้อมูลถัดไปจะลดราคาเร็วที่สุดเพิ่มราคาในวันที่ 11 และใช้ค่าเฉลี่ยและอื่น ๆ ตามที่แสดงด้านล่างดังที่ระบุไว้ก่อนหน้านี้ MAs ล่าช้าในการดำเนินการในปัจจุบันราคาเพราะพวกเขาจะขึ้นอยู่กับราคาที่ผ่านมาอีกต่อไประยะเวลา สำหรับ MA ที่มากขึ้นล่าช้าดังนั้น MA 200 วันจะมีมากขึ้นของความล่าช้ากว่า MA 20 วันเพราะมีราคาสำหรับที่ผ่านมา 200 วันความยาวของ MA ที่จะใช้ขึ้นอยู่กับวัตถุประสงค์การค้า, MAs สั้นที่ใช้สำหรับการซื้อขายระยะสั้นและ MAs ระยะยาวเหมาะสำหรับนักลงทุนระยะยาวนักลงทุนและผู้ค้าจะติดตามนักลงทุนและนักลงทุนรายใหญ่อย่างต่อเนื่อง และต่ำกว่าค่าเฉลี่ยเคลื่อนที่นี้ถือเป็นสัญญาณการซื้อขายที่สำคัญนอกจากนี้ MMA ยังให้สัญญาณการซื้อขายที่สำคัญด้วยตัวเองหรือเมื่อสองค่าเฉลี่ยข้าม MA ที่เพิ่มขึ้นแสดงให้เห็นว่าการรักษาความปลอดภัยอยู่ในขาขึ้นขณะที่ MA ที่หดตัวบ่งชี้ว่าอยู่ในขาลง ในทำนองเดียวกันโมเมนตัมสูงขึ้นจะได้รับการยืนยันจากการพังทลายของสัญญาณซึ่งเกิดขึ้นเมื่อ MA ระยะสั้นทะลุเหนือโมเมนตัมด้าน MA ระยะยาวได้รับการยืนยันโดยการขึ้นเครื่องหมาย Crossover ซึ่งเกิดขึ้นเมื่อ MA ระยะสั้นทะลุต่ำกว่า MA ระยะยาว

Comments

Popular Posts