ค่าเฉลี่ยเคลื่อนที่โดยใช้ชุดข้อมูลแบบเดิมค่าเฉลี่ยหมายถึงค่าสถิติแรกที่เป็นประโยชน์และมีประโยชน์มากที่สุดแห่งหนึ่งในการคำนวณ เมื่อข้อมูลอยู่ในรูปแบบของชุดเวลาซีรี่ส์หมายถึงการวัดที่เป็นประโยชน์ แต่ไม่ได้สะท้อนถึงลักษณะพลวัตของข้อมูล ค่าเฉลี่ยที่คำนวณจากช่วงสั้น ๆ ก่อนหน้าช่วงเวลาปัจจุบันหรือตรงกลางของช่วงเวลาปัจจุบันมักมีประโยชน์มากกว่า เนื่องจากค่าเฉลี่ยดังกล่าวจะแปรผันหรือเคลื่อนย้ายเนื่องจากระยะเวลาปัจจุบันจะเคลื่อนที่จากเวลา t 2, t 3 เป็นต้นเรียกว่าค่าเฉลี่ยเคลื่อนที่ (Mas) ค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ยคือ (โดยปกติ) ค่าเฉลี่ยที่ไม่มีการถัวเฉลี่ยของค่าก่อนหน้า k ค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักแบบเลขยกกำลังเป็นหลักเหมือนกับค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ย แต่มีส่วนร่วมกับค่าเฉลี่ยที่ถ่วงน้ำหนักโดยความใกล้ชิดกับเวลาปัจจุบัน เนื่องจากไม่มีตัวอักษร แต่เป็นชุดค่าเฉลี่ยเคลื่อนที่ทั้งหมดสำหรับชุดใดก็ตามชุดของ Mas สามารถถูกจัดวางลงบนกราฟวิเคราะห์เป็นชุดและใช้ในการสร้างแบบจำลองและการคาดการณ์ ช่วงของแบบจำลองสามารถสร้างโดยใช้ค่าเฉลี่ยเคลื่อนที่และเป็นที่รู้จักในรูปแบบ MA ถ้าโมเดลดังกล่าวรวมกับโมเดลอัตถิภาวนิยม (AR) รูปแบบคอมโพสิตที่เป็นที่รู้จักกันในชื่อ ARMA หรือ ARIMA (แบบบูรณาการ) ค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายเนื่องจากชุดเวลาสามารถถือได้ว่าเป็นชุดของค่า, t 1,2,3,4, n ค่าเฉลี่ยของค่าเหล่านี้สามารถคำนวณได้ ถ้าเราคิดว่า n มีขนาดใหญ่มากและเราเลือกจำนวนเต็ม k ซึ่งน้อยกว่า n เราสามารถคำนวณชุดค่าเฉลี่ยบล็อกหรือค่าเฉลี่ยเคลื่อนที่ที่สั้น ๆ (ของคำสั่ง k): แต่ละค่าจะแสดงค่าเฉลี่ยของค่าข้อมูลในช่วงเวลาสังเกตการณ์ k โปรดทราบว่า MA ที่เป็นไปได้ครั้งแรกของคำสั่ง k GT0 คือสำหรับ t k โดยทั่วไปเราสามารถลด subscript พิเศษในนิพจน์ด้านบนและเขียนได้: ค่านี้ระบุว่าค่าเฉลี่ยที่เวลา t เป็นค่าเฉลี่ยที่ง่ายของค่าที่สังเกตได้ ณ เวลา t และขั้นตอน k-1 ก่อนหน้า ถ้าใช้น้ำหนักที่ลดการมีส่วนร่วมของการสังเกตที่ไกลออกไปในเวลาค่าเฉลี่ยเคลื่อนที่จะกล่าวได้ว่าเป็นแบบเรียบ ค่าเฉลี่ยเคลื่อนที่มักใช้เป็นรูปแบบของการคาดการณ์โดยที่ค่าประมาณสำหรับชุดในเวลา t 1, S t1 ถูกนำมาเป็น MA สำหรับระยะเวลาถึงและรวมถึงเวลา t เช่น. การประมาณในปัจจุบันคำนวณจากค่าเฉลี่ยที่บันทึกไว้ก่อนหน้านี้และรวมถึงวันวาน (สำหรับข้อมูลรายวัน) ค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายสามารถเห็นได้ว่าเป็นรูปแบบการทำให้เรียบ ในตัวอย่างที่แสดงด้านล่างชุดข้อมูลมลพิษทางอากาศที่แสดงในบทนำสู่หัวข้อนี้ได้รับการเพิ่มขึ้นโดยเส้นค่าเฉลี่ยเคลื่อนที่ 7 วัน (MA) ซึ่งแสดงเป็นสีแดง ที่สามารถมองเห็นได้สาย MA ช่วยให้จุดสูงสุดและร่องในข้อมูลเป็นไปอย่างราบรื่นและเป็นประโยชน์ในการระบุแนวโน้ม สูตรคำนวณการคำนวณล่วงหน้าหมายถึงจุดข้อมูล k -1 จุดแรกไม่มีค่า MA แต่หลังจากนั้นการคำนวณจะขยายไปยังจุดข้อมูลสุดท้ายในชุดข้อมูล ค่าเฉลี่ยของวัน PM10 แหล่งที่มาของ Greenwich: London Air Quality Network, londonair. org. uk เหตุผลหนึ่งในการคำนวณค่าเฉลี่ยเคลื่อนที่แบบง่ายๆในลักษณะที่อธิบายไว้คือค่าที่คำนวณได้สำหรับช่วงเวลาทั้งหมดตั้งแต่เวลา tk ขึ้นไปจนถึงปัจจุบันและ เป็นวัดใหม่ที่ได้รับสำหรับเวลา t 1, MA สำหรับเวลา t 1 สามารถเพิ่มไปยังชุดที่คำนวณแล้ว นี่เป็นขั้นตอนง่ายๆสำหรับชุดข้อมูลแบบไดนามิก อย่างไรก็ตามมีบางประเด็นเกี่ยวกับแนวทางนี้ มีเหตุผลที่จะยืนยันว่าค่าเฉลี่ยในช่วง 3 ช่วงสุดท้ายกล่าวคือควรตั้งอยู่ที่เวลา t -1 ไม่ใช่เวลา t และสำหรับ MA มากกว่าจำนวนคู่ของระยะเวลาบางทีมันควรจะอยู่ที่จุดกึ่งกลางระหว่างสองช่วงเวลา การแก้ปัญหานี้คือการใช้การคำนวณ MA ซึ่งอยู่ตรงกลางซึ่ง MA ในเวลา t เป็นค่าเฉลี่ยของชุดสมมาตรของค่ารอบ t แม้จะมีประโยชน์อย่างเห็นได้ชัด แต่วิธีนี้ใช้ไม่ได้โดยทั่วไปเนื่องจากต้องการข้อมูลที่พร้อมใช้งานสำหรับเหตุการณ์ในอนาคตซึ่งอาจจะไม่ใช่กรณีนี้ ในกรณีที่การวิเคราะห์ทั้งหมดเป็นชุดที่มีอยู่การใช้ Mas ไว้ตรงกลางอาจเป็นที่นิยมกว่า ค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายอาจถือได้ว่าเป็นรูปแบบหนึ่งของการปรับให้เรียบลบองค์ประกอบความถี่สูงบางส่วนของชุดเวลาและเน้นแนวโน้ม (แต่ไม่ลบ) ในลักษณะเดียวกันกับแนวคิดทั่วไปของการกรองแบบดิจิทัล แท้จริงค่าเฉลี่ยเคลื่อนที่คือรูปแบบของตัวกรองเชิงเส้น คุณสามารถใช้การคำนวณค่าเฉลี่ยเคลื่อนที่เป็นชุดที่ได้รับการปรับให้เรียบขึ้นแล้วเช่นการปรับให้เรียบหรือกรองชุดที่เรียบขึ้นไปแล้ว ตัวอย่างเช่นมีค่าเฉลี่ยเคลื่อนที่ของลำดับที่ 2 เราสามารถพิจารณาว่าคำนวณโดยใช้น้ำหนักดังนั้น MA ที่ x 2 0.5 x 1 0.5 x 2 ในทำนองเดียวกัน MA ที่ x 3 0.5 x 2 0.5 x 3 ถ้าเรา เราใช้ 0.5 x 2 0.5 x 3 0.5 (0.5 x 1 0.5 x 2) 0.5 (0.5 x 2 0.5 x 3) 0.25 x 1 0.5 x 2 0.25 x 3 เช่นการกรองแบบ 2 ขั้นตอน กระบวนการ (หรือ convolution) ได้สร้างค่าเฉลี่ยเคลื่อนที่แบบสมมาตรที่มีการถ่วงน้ำหนักที่มีการเปลี่ยนแปลงโดยมีน้ำหนัก หลาย convolutions สามารถผลิตค่าเฉลี่ยเคลื่อนที่ถ่วงน้ำหนักค่อนข้างซับซ้อนซึ่งบางส่วนมีการใช้งานเฉพาะในสาขาพิเศษเช่นในการคำนวณการประกันชีวิต ค่าเฉลี่ยเคลื่อนที่สามารถใช้ในการลบเอฟเฟ็กต์เป็นระยะ ๆ หากคำนวณด้วยระยะเวลาเป็นระยะ ๆ ตามที่ทราบ ตัวอย่างเช่นเมื่อมีข้อมูลรายเดือนข้อมูลตามฤดูกาลสามารถเปลี่ยนแปลงได้โดยการใช้ค่าเฉลี่ยเคลื่อนที่ 12 เดือนที่สมมาตรกับทุกเดือนที่มีการถ่วงน้ำหนักอย่างเท่าเทียมกันยกเว้นกรณีที่ 1 และครั้งสุดท้ายที่มีการถ่วงน้ำหนักด้วย 12 เนื่องจากมี เป็นเวลา 13 เดือนในรูปแบบสมมาตร (ปัจจุบัน, t. - 6 เดือน) ทั้งหมดถูกแบ่งโดย 12 ขั้นตอนที่คล้ายกันสามารถนำมาใช้สำหรับระยะเวลาที่กำหนดไว้อย่างชัดเจน ค่าเฉลี่ยเคลื่อนที่ที่ถ่วงน้ำหนัก (Expedential Weighted Moving Average - EWMA) โดยใช้สูตรค่าเฉลี่ยเคลื่อนที่แบบง่ายๆ: การสังเกตทั้งหมดมีการถ่วงน้ำหนักอย่างเท่าเทียมกัน ถ้าเราเรียกว่าน้ำหนักเท่ากันนี้อัลฟา t แต่ละ k น้ำหนักจะเท่ากับ 1 k ดังนั้นผลรวมของน้ำหนักจะเป็น 1 และสูตรจะเป็น: เราได้เห็นแล้วว่าการใช้งานหลายขั้นตอนนี้ส่งผลให้น้ำหนักที่แตกต่างกัน ด้วยค่าเฉลี่ยเคลื่อนที่ที่ถ่วงน้ำหนักแบบยกกำลังให้ความสำคัญกับค่าเฉลี่ยจากการสังเกตการณ์ที่ถูกลบออกไปในเวลามากขึ้นจะลดลงด้วยเหตุนี้จึงเน้นเหตุการณ์ที่เกิดขึ้นเมื่อเร็ว ๆ นี้ โดยทั่วไปจะมีการปรับค่าพารามิเตอร์การทำให้ราบเรียบ alpha lt1 เป็น 0lt และสูตรจะได้รับการแก้ไขเพื่อให้: สูตรสมมาตรของสูตรนี้จะมีรูปแบบดังนี้: ถ้าน้ำหนักในรูปแบบสมมาตรถูกเลือกให้เป็นเงื่อนไขของข้อกำหนดของการขยายตัวแบบสองส่วน (1212) 2q พวกเขาจะรวมกันเป็น 1 และเมื่อ q กลายเป็นขนาดใหญ่จะใกล้เคียงกับการแจกแจงแบบปกติ นี่คือรูปแบบของการถ่วงน้ำหนักของเคอร์เนลโดยมีฟังก์ชัน Binomial ทำหน้าที่เป็นฟังก์ชันเคอร์เนล การแกว่งสองขั้นตอนที่อธิบายไว้ในหมวดย่อยก่อนหน้านี้คือการจัดเรียงนี้อย่างแม่นยำด้วย q 1 ซึ่งให้น้ำหนัก ในการทำให้เรียบเรียบขึ้นจำเป็นต้องใช้ชุดของน้ำหนักที่รวมกันเป็น 1 และลดขนาดทางเรขาคณิต น้ำหนักที่ใช้มีรูปแบบดังนี้: เพื่อแสดงให้เห็นว่าน้ำหนักเหล่านี้รวมกันเป็น 1 ให้พิจารณาการขยายตัวเป็น 1 เป็นชุด เราสามารถเขียนและขยายนิพจน์ในวงเล็บโดยใช้สูตรทวินาม (1- x) p. โดยที่ x (1-) และ p -1 ซึ่งจะให้: ค่านี้จะให้รูปแบบของค่าเฉลี่ยเคลื่อนที่ที่ถ่วงน้ำหนักของแบบฟอร์ม: ผลรวมนี้สามารถเขียนเป็นความสัมพันธ์ที่เกิดซ้ำได้ซึ่งช่วยลดความซับซ้อนในการคำนวณและหลีกเลี่ยงปัญหาที่ระบบการถ่วงน้ำหนัก ควรมีความยาวไม่ จำกัด สำหรับน้ำหนักที่จะรวมกันเป็น 1 (สำหรับค่าอัลฟ่าเล็กน้อยนี่ไม่ใช่กรณีปกติ) สัญกรณ์ที่ใช้โดยผู้เขียนที่แตกต่างกันจะแตกต่างกันออกไป บางคนใช้ตัวอักษร S เพื่อระบุว่าสูตรนั้นเป็นตัวแปรที่ราบรื่นและเขียนว่า: ในขณะที่ทฤษฎีวรรณคดีควบคุมมักใช้ Z แทน S สำหรับค่าที่ถ่วงน้ำหนักหรือเรียบเรียงเป็นพหุคูณ (ดูตัวอย่างเช่น Lucas and Saccucci, 1990, LUC1 , และเว็บไซต์ NIST สำหรับรายละเอียดเพิ่มเติมและตัวอย่างการทำงาน) สูตรที่อ้างถึงข้างต้นมาจากผลงานของ Roberts (1959, ROB1) แต่ Hunter (1986, HUN1) ใช้การแสดงออกของรูปแบบ: ซึ่งอาจเหมาะสมกว่าสำหรับการใช้ในขั้นตอนการควบคุมบางอย่าง ด้วยค่า alpha 1 ค่าประมาณเฉลี่ยคือค่าที่วัดได้ (หรือมูลค่าของรายการข้อมูลก่อนหน้า) ด้วยค่าประมาณ 0.5 ค่าเฉลี่ยของค่าเฉลี่ยเคลื่อนที่ของการวัดในปัจจุบันและก่อนหน้า ในรูปแบบการคาดการณ์ S t. มักใช้เป็นประมาณการหรือค่าพยากรณ์ในช่วงเวลาต่อไปนั่นคือค่าประมาณสำหรับ x ณ เวลา t ดังนั้นเราจึงได้แสดงให้เห็นว่าค่าพยากรณ์ที่ t 1 เป็นค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักแบบ บวกกับส่วนประกอบที่แสดงถึงข้อผิดพลาดในการทำนายถ่วงน้ำหนักเอปไซลอน เวลา t สมมติว่ามีชุดเวลาและต้องมีการคาดการณ์ค่าอัลฟาต้อง นี้สามารถประมาณจากข้อมูลที่มีอยู่โดยการประเมินผลรวมของข้อผิดพลาดการทำนายกำลังสองได้รับกับค่าที่แตกต่างของ alpha สำหรับแต่ละ t 2,3 การตั้งค่าการประมาณครั้งแรกเป็นค่าข้อมูลที่สังเกตครั้งแรก x 1. ในแอ็พพลิเคชันควบคุมค่าของอัลฟามีความสำคัญในการใช้ในการกำหนดขีด จำกัด การควบคุมด้านบนและด้านล่างและมีผลต่อระยะเวลาในการทำงานโดยเฉลี่ย (ARL) ก่อนที่ข้อ จำกัด ในการควบคุมเหล่านี้จะเสีย (ภายใต้สมมติฐานว่าชุดข้อมูลเวลาเป็นชุดของตัวแปรอิสระแบบสุ่มที่แจกแจงแบบเดียวกันโดยมีความแปรปรวนร่วมกัน) ภายใต้สถานการณ์เช่นนี้ความแปรปรวนของสถิติการควบคุม: คือ (ลูคัสและ Saccucci, 1990): ขีด จำกัด ของการควบคุมมักจะตั้งค่าเป็นทวีคูณที่คงที่ของความแปรปรวนของการไม่ทำงานนี้เช่น - ค่าเบี่ยงเบนมาตรฐาน 3 เท่า ถ้าตัวอย่างเช่น alpha 0.25 และข้อมูลที่ได้รับการตรวจสอบจะถือว่ามีการแจกแจงแบบปกติ N (0,1) เมื่ออยู่ในการควบคุมขีด จำกัด ของการควบคุมจะเป็น - 1.134 และกระบวนการนี้จะถึงหนึ่งหรือขีด จำกัด อื่น ๆ ใน 500 ขั้นตอน โดยเฉลี่ย. Lucas และ Saccucci (1990 LUC1) ได้รับค่า ARLs สำหรับค่า alpha และภายใต้สมมติฐานต่างๆโดยใช้กระบวนการ Markov Chain พวกเขาจัดทำเป็นตารางผลลัพธ์รวมถึงการให้ ARLs เมื่อค่าเฉลี่ยของกระบวนการควบคุมได้รับการเปลี่ยนแปลงโดยค่าเบี่ยงเบนมาตรฐานหลายค่าหลายค่า ตัวอย่างเช่นเมื่อมีการเปลี่ยนแปลง 0.5 กับ alpha 0.25 ค่า ARL จะน้อยกว่า 50 ขั้นตอนเวลา วิธีการที่อธิบายข้างต้นเป็นที่รู้จักกันในชื่อเดียวเรียบ เป็นขั้นตอนที่ใช้ครั้งเดียวกับชุดเวลาและจากนั้นการวิเคราะห์หรือการควบคุมกระบวนการจะดำเนินการในชุดข้อมูลที่เกิดเรียบ หากชุดข้อมูลมีส่วนประกอบของเทรนด์ตามฤดูกาลหรืออาจใช้การทำให้เรียบแบบทวีคูณแบบสองขั้นตอนหรือสามขั้นตอนเพื่อใช้เป็นแนวทางในการลบลักษณะเหล่านี้ (ดูเพิ่มเติมที่ส่วนการพยากรณ์อากาศด้านล่างและตัวอย่างการทำงานของ NIST) CHA1 Chatfield C (1975) การวิเคราะห์ไทม์ซีรี่ส์: ทฤษฎีและการปฏิบัติ แชปแมนและฮอลล์, ลอนดอน HUN1 เธ่อเจเอส (1986) ค่าเฉลี่ยถ่วงน้ำหนักแบบเลขยกกำลัง J ของ Quality Technology, 18, 203-210 LUC1 Lucas J M, Saccucci M S (1990) แผนการควบคุมค่าเฉลี่ยเคลื่อนที่ที่ถ่วงน้ำหนักแบบทวีคูณ: คุณสมบัติและการปรับปรุง Technometrics, 32 (1), 1-12 ROB1 Roberts S W (1959) การควบคุมแผนภูมิการทดสอบขึ้นอยู่กับค่าเฉลี่ยเคลื่อนที่ทางเรขาคณิต Technometrics, 1, 239-2505.2 Smoothing Time Series Smoothing มักจะทำเพื่อช่วยให้เราดูรูปแบบแนวโน้มเช่นในชุดข้อมูลได้ดียิ่งขึ้น โดยทั่วๆไปจะทำให้เกิดความขรุขระไม่สม่ำเสมอเพื่อให้เห็นสัญญาณที่ชัดเจนขึ้น สำหรับข้อมูลตามฤดูกาลเราอาจปรับฤดูกาลตามฤดูกาลเพื่อให้เราสามารถระบุแนวโน้มได้ Smoothing ไม่ได้ให้แบบจำลอง แต่อาจเป็นขั้นตอนแรกที่ดีในการอธิบายคอมโพเนนต์ต่างๆของชุด ตัวกรองคำบางครั้งใช้เพื่ออธิบายขั้นตอนการทำให้ราบรื่น ตัวอย่างเช่นถ้าค่าที่ราบรื่นสำหรับเวลาหนึ่ง ๆ ถูกคำนวณเป็นชุดค่าผสมเชิงเส้นของการสังเกตสำหรับรอบเวลาอาจกล่าวได้ว่าเราใช้ตัวกรองเชิงเส้นกับข้อมูล (ไม่เหมือนกับการบอกว่าผลลัพธ์เป็นเส้นตรงด้วย ทาง) การใช้ค่าเฉลี่ยเคลื่อนที่ระยะยาวแบบเดิมคือในแต่ละจุดที่เรากำหนดค่าเฉลี่ยของค่าที่สังเกตได้รอบ ๆ ช่วงเวลาโดยเฉพาะ (อาจจะถ่วงน้ำหนัก) ตัวอย่างเช่นในเวลา t ค่าเฉลี่ยเคลื่อนที่ที่ศูนย์กลางของความยาว 3 ที่มีน้ำหนักเท่ากับจะเป็นค่าเฉลี่ยของค่าในช่วง t -1 t และ t1 หากต้องการลดฤดูกาลออกจากซีรีส์เพื่อให้เราสามารถมองเห็นแนวโน้มได้ดีขึ้นเราจะใช้ค่าเฉลี่ยเคลื่อนที่ที่มีช่วงเวลายาวนาน ดังนั้นในชุดที่ราบเรียบแต่ละค่าที่ราบเรียบได้รับการเฉลี่ยในทุกฤดูกาล ซึ่งอาจทำได้โดยการดูค่าเฉลี่ยเคลื่อนที่แบบด้านเดียวซึ่งคุณจะเฉลี่ยค่าทั้งหมดสำหรับข้อมูลปีก่อน ๆ ที่มีค่าหรือเป็นค่าเฉลี่ยเคลื่อนที่ที่ศูนย์กลางซึ่งคุณใช้ค่าทั้งก่อนและหลังเวลาปัจจุบัน สำหรับข้อมูลรายไตรมาสเช่นเราสามารถกำหนดค่าที่ราบรื่นสำหรับเวลา t เป็น (x t x t -1 x t-2 x t-3) 4 ซึ่งเป็นค่าเฉลี่ยของเวลานี้และ 3 ไตรมาสก่อนหน้า ในโค้ด R รหัสนี้จะเป็นตัวกรองแบบด้านเดียว ค่าเฉลี่ยเคลื่อนที่ที่ศูนย์กลางทำให้เกิดความยากลำบากเมื่อเรามีจำนวนช่วงเวลาในช่วงเวลาตามฤดูกาล (เช่นที่เรามักทำ) เพื่อให้เป็นไปตามฤดูกาลในข้อมูลรายไตรมาส เพื่อระบุแนวโน้มการประชุมตามปกติคือการใช้ค่าเฉลี่ยเคลื่อนที่ที่เรียบในเวลา t คือการทำให้เป็นไปตามฤดูกาลในข้อมูลรายเดือน เพื่อที่จะระบุแนวโน้มการประชุมตามปกติคือการใช้ค่าเฉลี่ยเคลื่อนที่ที่เรียบในเวลา t คือนั่นคือเราใช้น้ำหนัก 124 กับค่าในเวลา t6 และ t6 และน้ำหนัก 112 ถึงค่าทั้งหมดตลอดเวลาระหว่าง t5 และ t5 ในคำสั่งกรอง R ให้ระบุตัวกรองสองหน้าให้ดีเมื่อเราต้องการใช้ค่าที่มาทั้งก่อนและหลังการปรับให้เรียบ โปรดทราบว่าในหน้า 71 หนังสือของเราผู้เขียนใช้น้ำหนักที่เท่ากันทั่วทั้งค่าเฉลี่ยเคลื่อนที่ตามฤดูกาล ที่ถูกเกินไป ตัวอย่างเช่นราบเรียบรายไตรมาสอาจจะเรียบในเวลา t เป็นเดือนที่นุ่มนวลอาจใช้น้ำหนัก 113 กับค่าทั้งหมดจากครั้ง t-6 ถึง t6. รหัสที่ผู้เขียนใช้ในหน้า 72 ใช้ประโยชน์จากคำสั่ง rep ที่ทำซ้ำค่าเป็นจำนวนครั้งที่กำหนด พวกเขาไม่ได้ใช้พารามิเตอร์ตัวกรองภายในคำสั่ง filter ตัวอย่างที่ 1 การผลิตเบียร์รายไตรมาสในประเทศออสเตรเลียในบทที่ 1 และบทที่ 4 เราได้ศึกษาการผลิตเบียร์เป็นรายไตรมาสในออสเตรเลีย โค้ด R ต่อไปนี้สร้างชุดข้อมูลที่ราบรื่นขึ้นเพื่อให้เราเห็นรูปแบบแนวโน้มและวางแผนรูปแบบแนวโน้มนี้ในกราฟเดียวกับชุดข้อมูลเวลา คำสั่งที่สองจะสร้างและเก็บชุดที่ราบรื่นไว้ในวัตถุที่เรียกว่า trendpattern โปรดสังเกตว่าในตัวกรองคำสั่งพารามิเตอร์ที่ชื่อว่าตัวกรองจะให้ค่าสัมประสิทธิ์สำหรับการทำให้เรียบและด้านข้างของเรา 2 ทำให้มีการคำนวณค่าความเรียบที่ศูนย์กลาง beerprod scan (beerprod. dat) ตัวกรอง trendpattern (beerprod, ตัวกรอง c (18, 14, 14, 18), sides2) พล็อต (beerprod, type b, แนวโน้มการเคลื่อนที่โดยเฉลี่ยรายปีหลัก) เส้น (trendpattern) นี่คือผลลัพธ์: เรา อาจลบรูปแบบแนวโน้มออกจากค่าข้อมูลเพื่อดูลักษณะตามฤดูกาลได้ดีขึ้น นี่คือวิธีการที่จะทำได้: seasonals beerprod - แนวโน้ม plotpattern (seasonals, ชนิด b, หลักตามฤดูกาลสำหรับการผลิตเบียร์) ผลดังนี้: ความเป็นไปได้อื่น ๆ สำหรับการเรียบชุดเพื่อดูแนวโน้มเป็นตัวกรองฟิลเตอร์ตัวกรองด้านเดียว (beerprod, filter c (14, 14, 14, 14) ด้าน 1) ด้วยเหตุนี้ค่าที่เรียบจะเป็นค่าเฉลี่ยของปีที่ผ่านมา ตัวอย่างที่ 2 การว่างงานรายเดือนในสหรัฐอเมริกาในการทำการบ้านสัปดาห์ที่ 4 คุณได้ดูตัวเลขการว่างงานในสหรัฐฯประจำเดือนสำหรับปีพ. ศ. 2491-2517 นี่คือการปรับให้เรียบเพื่อดูแนวโน้ม (trendunemploy, maintrend in U. S. Unemployment, 1948-1978, xlab Year) เฉพาะแนวโน้มที่ราบรื่นถูกวางแผนไว้ (2) แนวโน้มการไหลเวียนโลหิต คำสั่งที่สองจะระบุลักษณะของเวลาตามปฏิทินของชุดข้อมูล ที่ทำให้พล็อตมีแกนที่มีความหมายมากขึ้น พล็อตดังต่อไปนี้ สำหรับซีรี่ส์ที่ไม่ได้ใช้ตามฤดูกาลคุณไม่ต้องพึ่งพาช่วงเวลาใด ๆ สำหรับการทำให้เรียบคุณควรทดสอบกับค่าเฉลี่ยเคลื่อนที่ของช่วงเวลาที่แตกต่างกัน ระยะเวลาดังกล่าวอาจสั้นลง มีวัตถุประสงค์เพื่อขจัดขอบหยาบเพื่อดูแนวโน้มหรือรูปแบบที่อาจมีอยู่ Other Smoothing Methods (มาตรา 2.4) ส่วนที่ 2.4 อธิบายทางเลือกที่ซับซ้อนและมีประโยชน์มากมายสำหรับการปรับให้เรียบโดยเฉลี่ย รายละเอียดอาจดูไม่สมบูรณ์ แต่ไม่เป็นไรเพราะเราไม่ต้องการรับรายละเอียดมากเกินไปสำหรับวิธีการเหล่านี้ จากวิธีการอื่นที่ได้อธิบายไว้ในส่วน 2.4 อาจมีการใช้ lowess (การถดถอยถ่วงน้ำหนักแบบถ่วงน้ำหนักในประเทศ) อย่างกว้างขวางที่สุด ตัวอย่างที่ 2 ต่อเนื่องพล็อตต่อไปนี้เป็นเส้นแนวโน้มที่เรียบสำหรับชุดการว่างงานในสหรัฐฯซึ่งพบว่าใช้ lowess เรียบกว่าซึ่งเป็นจำนวนมาก (23) มีส่วนทำให้การคาดการณ์เรียบแต่ละครั้ง โปรดทราบว่าสิ่งนี้ทำให้ชุดมีความขันสูงกว่าค่าเฉลี่ยเคลื่อนที่ คำสั่งที่ใช้คือการว่างงาน (การว่างงาน, เริ่มต้น c (1948,1), freq12) พล็อต (lowess (การว่างงาน, f 23), Lowess หลักของการทำให้ราบรื่นของการว่างงานในสหรัฐ) Single Exponential Smoothing สมการพยากรณ์พื้นฐานสำหรับการเรียบง่ายแบบทวีคูณ เราคาดว่าค่าของ x ในเวลา t1 จะเป็นค่าที่รวมถ่วงน้ำหนักของค่าที่สังเกตได้ ณ เวลา t และค่าพยากรณ์ที่เวลา t แม้ว่าวิธีการนี้จะเรียกว่าวิธีการปรับให้เรียบ (smoothing method) ซึ่งใช้เป็นหลักในการคาดการณ์ระยะสั้น ค่าของเรียกว่าการปรับให้ราบเรียบ ด้วยเหตุผลใด 0.2 เป็นทางเลือกที่นิยมเริ่มต้นของโปรแกรม นี่ทำให้น้ำหนักของ. 2 ในการสังเกตการณ์ล่าสุดและน้ำหนัก 1 .2 .8 ในการคาดการณ์ล่าสุด มีค่าค่อนข้างน้อยการทำให้ราบเรียบจะค่อนข้างกว้างขึ้น ด้วยค่าที่ค่อนข้างใหญ่การทำให้ราบเรียบนั้นค่อนข้างน้อยลงเมื่อน้ำหนักมากขึ้นจะทำให้ค่าที่สังเกตได้ นี่คือวิธีการคาดการณ์ล่วงหน้าที่ง่ายกว่าหนึ่งขั้นตอนที่เห็นได้ชัดก่อนว่าไม่ได้ต้องการแบบจำลองสำหรับข้อมูล ในความเป็นจริงวิธีนี้เทียบเท่ากับการใช้รูปแบบ ARIMA (0,1,1) โดยไม่มีค่าคงที่ ขั้นตอนที่เหมาะสมที่สุดคือให้พอดีกับรูปแบบ ARIMA (0,1,1) กับชุดข้อมูลที่สังเกตได้และใช้ผลลัพธ์เพื่อหาค่าของ นี่เป็นวิธีที่ดีที่สุดในแง่ของการสร้างสิ่งที่ดีที่สุดสำหรับข้อมูลที่ได้สังเกตมาแล้ว แม้ว่าเป้าหมายจะราบเรียบและการคาดการณ์ล่วงหน้าหนึ่งก้าวความเท่าเทียมกันของรูปแบบ ARIMA (0.1,1) จะนำมาซึ่งจุดดีขึ้น เราไม่ควรสุ่มสี่สุ่มห้าใช้การทำให้เรียบตามที่ระบุเนื่องจากกระบวนการอ้างอิงอาจไม่ได้รับการสร้างแบบจำลองโดย ARIMA (0,1,1) ARIMA (0,1,1) และ Exponential Smoothing Equivalence พิจารณาอาร์เรย์ (0,1,1) ด้วยค่าเฉลี่ย 0 สำหรับความแตกต่างแรก xt - x t-1: เริ่มต้น amp amp amp amp xt theta1 wt amp amp xt theta1 (xt สิ่งที่ t) amp amp (1 theta1) xt - theta1 มีแนวโน้ม ถ้าเราปล่อยให้ (1 1) และดังนั้น - (1) 1 เราจะเห็นความเท่าเทียมกันของสมการ (1) ข้างต้น ทำไมถึงเรียกวิธีนี้ว่า Exponential Smoothing นี่จะให้ผลลัพธ์ต่อไปนี้: เริ่ม amp amp amp amp alpha xt (อัลฟา 1 alpha x alpha alpha x 1 alpha alpha xt alpha 1 alpha) ในรูปแบบนี้โดยการแทนที่อย่างต่อเนื่องสำหรับค่าที่คาดการณ์ไว้ทางด้านขวาของสมการ สิ่งนี้นำไปสู่: alpha alpha (1 alpha) x alpha (1-alpha) 2 x จุด alpha (1-alpha) jx alpha alpha (1-alpha) x1 text สมการ 2 แสดงให้เห็นว่าค่าพยากรณ์ที่คาดว่าจะเป็นค่าเฉลี่ยถ่วงน้ำหนัก ของค่าที่ผ่านมาทั้งหมดของซีรีส์ด้วยการเปลี่ยนน้ำหนักอย่างมากในขณะที่เราย้ายกลับมาอยู่ในซีรีส์ การเพิ่มประสิทธิภาพ Exponential ที่เหมาะสมที่สุดใน R โดยพื้นฐานแล้วเราเพียงแค่ใส่ข้อมูล ARIMA (0,1,1) และกำหนดค่าสัมประสิทธิ์ เราสามารถตรวจสอบพอดีของราบรื่นโดยการเปรียบเทียบค่าที่คาดการณ์ไว้กับชุดจริง การเพิ่มความลื่นไหลชี้แจงมีแนวโน้มที่จะถูกนำมาใช้เป็นเครื่องมือในการคาดการณ์มากกว่าความเรียบลื่นจริงดังนั้นเราจึงต้องการดูว่าเรามีความเหมาะสมหรือไม่ ตัวอย่างที่ 3 n การสังเกตการณ์รายเดือน 100 ลอการิทึมของดัชนีราคาน้ำมันในสหรัฐอเมริกา ชุดข้อมูลคือ ARIMA (0.1,1) พอดีใน R ให้ค่าสัมประสิทธิ์ (0.3877) ของ MA (1) ดังนั้น (1 1) 1.3877 และ 1- -0.3877 สมการพยากรณ์ความเรียบของการเสวนาคือหมวก 1.3877xt - 0.3877hat t เวลา 100 ค่าที่สังเกตได้ของชุดคือ x 100 0.86601 ค่าที่คาดการณ์ไว้สำหรับซีรีส์ในเวลานั้นคือดังนั้นการคาดการณ์เวลา 101 คือหมวก 1.3877x - 0.3877 วินาที 1.3877 (0.86601) -0.3877 (0.856789) 0.8696 ต่อไปนี้เป็นวิธีการที่เรียบเนียนขึ้นกับชุดข้อมูล มันพอดี เป็นสัญญาณที่ดีสำหรับการคาดการณ์จุดประสงค์หลักสำหรับเรื่องนี้ที่นุ่มนวลขึ้น นี่คือคำสั่งที่ใช้ในการสร้างเอาท์พุทสำหรับตัวอย่างนี้: พล็อตการสแกน oilindex (oildata. dat) (oilindex, b, log หลักของดัชนีดัชนีน้ำมัน) expsmoothfit arima (oilindex, order c (0,1,1)) expsmoothfit เพื่อดูผลลัพธ์ของ Arima ที่คาดการณ์ค่าการจัดเตรียมน้ำมัน (oilindex, typeb, Exponential Smoothing หลักของ Log of Oil Index) เส้น (คาดการณ์) 1.3877oilindex100-0.3877predicteds100 การคาดการณ์สำหรับเวลา 101 Double Exponential Smoothing การปรับความเปรียบเปรยแบบทวีคูณสองครั้งอาจใช้เมื่อเอาเปรียบ แนวโน้ม (ระยะยาวหรือระยะสั้น) แต่ไม่มีฤดูกาล โดยพื้นฐานแล้ววิธีการนี้จะสร้างการคาดการณ์โดยการรวมการประมาณค่าของแนวโน้ม (ความลาดเอียงของเส้นตรง) และระดับ (โดยทั่วไปการสกัดเส้นตรง) ใช้น้ำหนักหรือน้ำหนักที่ต่างกันสองแบบเพื่อปรับปรุงส่วนประกอบทั้งสองนี้ในแต่ละครั้ง ระดับที่ราบรื่นมากหรือน้อยเท่ากับการเรียบอย่างเรียบง่ายของค่าข้อมูลและแนวโน้มที่ราบรื่นมากหรือน้อยเท่ากับการทำให้เรียบแบบเรียบง่ายของความแตกต่างแรก ขั้นตอนนี้เทียบเท่ากับการติดตั้งรุ่น ARIMA (0,2,2) โดยไม่มีค่าคงที่ที่สามารถนำมาใช้กับพอดีกับ ARIMA (0,2,2) (1-B) 2 xt (1teta1B theta2B2) น้ำหนัก การนำทาง 6.2 ค่าเฉลี่ยเคลื่อนที่ 40 เลขหมาย, ลำดับที่ 5 41 ในคอลัมน์ที่สองของตารางนี้จะแสดงค่าเฉลี่ยเคลื่อนที่ของลำดับที่ 5 แสดงค่าประมาณของรอบการหมุนเวียน ค่าแรกในคอลัมน์นี้คือค่าเฉลี่ยของห้าข้อสังเกตแรก (1989-1993) ค่าที่สองในคอลัมน์ 5-MA คือค่าเฉลี่ยของค่า 1990-1994 และอื่น ๆ แต่ละค่าในคอลัมน์ 5-MA คือค่าเฉลี่ยของการสังเกตในระยะเวลาห้าปีที่ตรงกลางกับปีที่สอดคล้องกัน ไม่มีค่าสำหรับสองปีแรกหรือสองปีที่ผ่านมาเนื่องจากเราไม่มีข้อสังเกตสองด้าน ในสูตรด้านบนคอลัมน์ 5-MA มีค่าหมวกกับ k2 หากต้องการดูว่ามีการคาดการณ์แนวโน้มของวงจรแนวโน้มใดเราจะคำนวณพล็อตพร้อมกับข้อมูลต้นฉบับในรูปที่ 6.7 พล็อต 40 elecsales, main quotResidential ขายไฟฟ้า quot, ylab quotGWhquot สังเกตว่าแนวโน้ม (สีแดง) นุ่มนวลกว่าข้อมูลเดิมและจับภาพการเคลื่อนไหวหลักของชุดข้อมูลเวลาโดยไม่มีความผันผวนเล็กน้อยทั้งหมด วิธีเฉลี่ยเคลื่อนที่ไม่อนุญาตให้มีการประมาณค่า T ซึ่ง t อยู่ใกล้กับปลายของชุดดังนั้นเส้นสีแดงจึงไม่ขยายไปยังขอบของกราฟทั้งสองด้าน ต่อมาเราจะใช้วิธีการประเมินแนวโน้มรอบแนวโน้มที่มีความซับซ้อนมากขึ้นซึ่งจะอนุญาตให้มีการประมาณใกล้จุดสิ้นสุด ลำดับของค่าเฉลี่ยเคลื่อนที่จะเป็นตัวกำหนดความเรียบของการประมาณแนวโน้มรอบ โดยทั่วไปคำสั่งที่มีขนาดใหญ่หมายถึงเส้นโค้งที่นุ่มนวล กราฟต่อไปนี้แสดงผลของการเปลี่ยนแปลงลำดับของค่าเฉลี่ยเคลื่อนที่สำหรับข้อมูลการขายไฟฟ้าที่อยู่อาศัย ค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายเช่นนี้มักเป็นคำสั่งแปลก ๆ (เช่น 3, 5, 7, ฯลฯ ) ซึ่งเป็นสมมาตร: ในค่าเฉลี่ยเคลื่อนที่ของคำสั่ง m2k1 มีการสังเกตก่อนหน้านี้ k สังเกตการณ์ในภายหลังและการสังเกตการณ์กลาง ที่มีค่าเฉลี่ย แต่ถ้ามมก็จะไม่สมมาตรอีกต่อไป ค่าเฉลี่ยเคลื่อนที่ของค่าเฉลี่ยเคลื่อนที่ (moving average) ค่าเฉลี่ยเคลื่อนที่ (moving average) เป็นค่าเฉลี่ยเคลื่อนที่ เหตุผลหนึ่งในการทำเช่นนี้คือการทำให้สมมุติฐานค่าเฉลี่ยของค่าเฉลี่ยที่เท่ากัน ตัวอย่างเช่นเราอาจใช้ค่าเฉลี่ยเคลื่อนที่ของลำดับที่ 4 จากนั้นให้ใช้ค่าเฉลี่ยเคลื่อนที่อื่นของคำสั่งที่ 2 ต่อผลลัพธ์ ในตารางที่ 6.2 ข้อมูลนี้ถูกสร้างขึ้นในช่วงไม่กี่ปีแรกของข้อมูลการผลิตเบียร์รายไตรมาสของออสเตรเลีย beer2 lt - หน้าต่าง 40 ausbeer เริ่ม 1992 41 ma4 lt-ma 40 beer2 ลำดับที่ 4. ศูนย์ FALSE 41 ma2x4 lt-ma 40 beer2 ลำดับที่ 4. ศูนย์ TRUE 41 สัญกรณ์ 2times4-MA ในคอลัมน์สุดท้ายหมายถึง 4-MA ตามด้วย 2-MA ค่าในคอลัมน์สุดท้ายจะได้รับโดยการคำนวณค่าเฉลี่ยเคลื่อนที่ของลำดับที่ 2 ของค่าในคอลัมน์ก่อนหน้า ตัวอย่างเช่นสองค่าแรกในคอลัมน์ 4-MA คือ 451.2 (443410420532) 4 และ 448.8 (410420532433) 4 ค่าแรกในคอลัมน์ 2times4-MA คือค่าเฉลี่ยของทั้งสอง: 450.0 (451.2448.8) 2. เมื่อ 2-MA ตามค่าเฉลี่ยเคลื่อนที่ของลำดับคู่ (เช่น 4) จะเรียกว่าค่าเฉลี่ยเคลื่อนที่ที่ศูนย์กลางของคำสั่ง 4 เนื่องจากผลลัพธ์นี้สมมาตร เพื่อดูว่าเป็นกรณีนี้เราสามารถเขียน 2times4-MA ดังต่อไปนี้: เริ่มต้นแอมป์หมวก frac Bigfrac (y y y y) frac (y y y y) frac18y frac18y frac18y frac end ตอนนี้มันเป็นค่าเฉลี่ยถ่วงน้ำหนักของการสังเกต แต่มันเป็นสมมาตร การรวมกันของค่าเฉลี่ยเคลื่อนที่อื่น ๆ ก็เป็นไปได้ ตัวอย่างเช่นมักใช้ 3times3-MA และประกอบด้วยค่าเฉลี่ยเคลื่อนที่ของคำสั่งที่ 3 ตามด้วยค่าเฉลี่ยเคลื่อนที่อื่นของคำสั่ง 3 โดยทั่วไปคำสั่ง MA แม้แต่จะต้องตามด้วยคำสั่ง MA ที่ทำให้เป็นสมมาตร ในทำนองเดียวกันคำสั่งแปลก ๆ ของ MA ควรเป็นไปตามคำสั่งแบบแปลก ๆ ของ MA การประมาณแนวโน้มรอบกับข้อมูลตามฤดูกาลการใช้ค่าเฉลี่ยเคลื่อนที่โดยรวมที่ใช้บ่อยที่สุดคือการประมาณแนวโน้มรอบจากข้อมูลตามฤดูกาล พิจารณา 2times4-MA: frac18y frac18y frac18y เมื่อนำไปใช้กับข้อมูลรายไตรมาสในแต่ละไตรมาสจะได้รับน้ำหนักเท่ากันเป็นครั้งแรกและครั้งสุดท้ายที่ใช้กับไตรมาสเดียวกันในปีต่อเนื่อง ดังนั้นความแปรผันตามฤดูกาลจะได้รับการเฉลี่ยและค่าที่ได้จากหมวกจะมีการเปลี่ยนแปลงตามฤดูกาลเพียงเล็กน้อยหรือไม่มีเลย ผลที่คล้ายกันจะได้รับโดยใช้ 2times 8-MA หรือ 2times 12-MA โดยทั่วไปแล้ว 2times m-MA จะเท่ากับค่าเฉลี่ยเคลื่อนที่ที่ถ่วงน้ำหนักของคำสั่ง m1 กับการสังเกตทั้งหมดที่มีน้ำหนัก 1 เมตรยกเว้นเงื่อนไขแรกและครั้งสุดท้ายที่ใช้น้ำหนัก 1 (2 เมตร) ดังนั้นถ้าระยะเวลาตามฤดูกาลเป็นไปได้และมีคำสั่ง m ให้ใช้ 2times m-MA เพื่อประมาณแนวโน้มรอบ ถ้าระยะเวลาตามฤดูกาลเป็นเลขคี่และจากคำสั่ง m ให้ใช้ m-MA เพื่อประมาณวัฏจักรของแนวโน้ม โดยเฉพาะช่วงเวลา 2 เดือน 12-MA สามารถใช้ในการประมาณวัฏจักรของข้อมูลรายเดือนและ 7-MA สามารถใช้ในการประมาณแนวโน้มรอบของข้อมูลรายวัน ตัวเลือกอื่น ๆ สำหรับคำสั่งของ MA มักจะส่งผลให้ประมาณการแนวโน้มรอบถูกปนเปื้อนตามฤดูกาลในข้อมูล ตัวอย่าง 6.2 การผลิตอุปกรณ์ไฟฟ้ารูปที่ 6.9 แสดงค่า 2times12-MA ที่ใช้กับดัชนีการสั่งซื้ออุปกรณ์ไฟฟ้า สังเกตว่าเส้นเรียบแสดงให้เห็นว่าไม่มีฤดูกาลใดใกล้เคียงกับวัฏจักรของแนวโน้มที่แสดงในรูปที่ 6.2 ซึ่งใช้วิธีการที่ซับซ้อนมากขึ้นกว่าค่าเฉลี่ยเคลื่อนที่ ทางเลือกอื่น ๆ สำหรับคำสั่งของค่าเฉลี่ยเคลื่อนที่ (ยกเว้น 24, 36 ฯลฯ ) จะส่งผลให้เส้นเรียบที่แสดงความผันผวนบางฤดูกาล พล็อต 40 elecequip, ylab quot คำสั่งซื้อใหม่ indexquot col quotgrayquot การผลิตอุปกรณ์ไฟฟ้าหลัก (Euro area) 41 บรรทัด 40 ma 40 elecequip, order 12 41. col quotredquot 41 ค่าเฉลี่ยถ่วงน้ำหนักการรวมกันของค่าเฉลี่ยเคลื่อนที่จะส่งผลให้ค่าเฉลี่ยเคลื่อนที่ถ่วงน้ำหนัก ตัวอย่างเช่น 2x4-MA ที่พูดถึงข้างต้นจะเทียบเท่ากับน้ำหนัก 5-MA ที่มีน้ำหนักให้โดย frac, frac, frac, frac, frac โดยทั่วไปแล้ว m-MA ที่ถ่วงน้ำหนักสามารถเขียนเป็น hat t sum k aj y โดยที่ k (m-1) 2 และน้ำหนักจะได้จาก a, dots, ak เป็นสิ่งสำคัญที่น้ำหนักทั้งหมดรวมกันเพื่อให้หนึ่งและว่าพวกเขาจะสมมาตรเพื่อให้ aj a. ง่าย m-MA เป็นกรณีพิเศษที่น้ำหนักทั้งหมดมีค่าเท่ากับ 1m ข้อได้เปรียบที่สำคัญของค่าเฉลี่ยเคลื่อนที่ที่ถ่วงน้ำหนักคือให้ค่าประมาณของวงจรแนวโน้ม แทนที่จะสังเกตการป้อนและออกจากการคำนวณที่น้ำหนักเต็มน้ำหนักของพวกเขาจะเพิ่มขึ้นอย่างช้าๆและจากนั้นค่อยๆลดลงส่งผลให้เส้นโค้งเรียบ ใช้ชุดน้ำหนักที่เฉพาะเจาะจงบางชุด บางส่วนของข้อมูลเหล่านี้มีให้ในตารางที่ 6.3.width ของหน้าต่างที่เคลื่อนที่ต้องเป็นจำนวนเต็มระหว่าง 1 ถึง n ตัวเลือกในการเลือกอัลกอริทึมที่แตกต่างกัน C - รุ่นที่เขียนด้วย C. สามารถจัดการกับตัวเลขที่ไม่ จำกัด เช่น NaNs และ Infs (เช่น mean (x, na. rm TRUE)) ทำงานได้เร็วที่สุดสำหรับ endrulemean เร็ว - วินาทีเร็วยิ่งขึ้นรุ่น C อัลกอริทึมนี้ไม่สามารถใช้ได้กับตัวเลขที่ไม่ จำกัด นอกจากนี้ยังทำงานได้เร็วที่สุดสำหรับ endrule นอกเหนือจากค่าเฉลี่ย R - โค้ดที่เขียนช้าลงใน R. มีประโยชน์สำหรับการแก้จุดบกพร่องและเป็นเอกสารประกอบ แน่นอน - เช่นเดียวกับ C. ยกเว้นว่าการเพิ่มทั้งหมดจะดำเนินการโดยใช้อัลกอริทึมที่ติดตามและแก้ไขสตริงอักขระข้อผิดพลาดรอบตัวเสริมที่ระบุถึงวิธีการคำนวณค่าที่จุดเริ่มต้นและจุดสิ้นสุดของข้อมูล เฉพาะค่าแรกและช่วงสุดท้ายของ k2 ที่ปลายทั้งสองข้างเท่านั้นโดยที่ k2 เป็นแบนด์วิดท์ครึ่งแบนด์ k2 k2 หมายถึง - ใช้ฟังก์ชันพื้นฐานกับส่วนเล็กและเล็กของอาร์เรย์ เทียบเท่ากับ: for (i in 1: k2) outi mean (x1: (ik2)). ตัวเลือกนี้จะใช้ใน C ถ้า algC (x) -2k2 (out out (k21): (n-k2)) - การตัดส่วนปลายของอาร์เรย์ (ฝัง (x, k), 1, ค่าเฉลี่ย) และฟังก์ชันที่เกี่ยวข้องอื่น ๆ เก็บ - เติมปลายด้วยตัวเลขจาก x เวกเตอร์ (out1: k2 x1: k2) ค่าคงที่ - เติมปลายด้วยค่าที่คำนวณครั้งแรกและครั้งสุดท้ายในอาร์เรย์เอาต์พุต (out1: k2 outk21) NA - เติมปลายด้วย NAs (out1: k2 NA ) func - เช่นเดียวกับค่าเฉลี่ย แต่ implimented ใน R. ตัวเลือกนี้อาจจะช้ามากและรวมส่วนใหญ่สำหรับการทดสอบคล้ายกับ endrule ใน runmed ฟังก์ชันซึ่งมีตัวเลือกต่อไปนี้: ldquo c (median, เก็บ, คงที่) rdquo. specifies ว่าผล ควรเป็นศูนย์กลาง (ค่าเริ่มต้น) ชิดซ้ายหรือชิดขวา หากค่าเฉลี่ยที่สิ้นผลการจัดตำแหน่งไปทางซ้ายหรือขวาจะลดลงเมื่อใช้งานช้าลงเทียบเท่ากับฟังก์ชัน endrule func นอกเหนือจากค่าสิ้นสุดผลลัพธ์ของ y runmean (x, k) เป็นเช่นเดียวกับ ldquo สำหรับ (j (1k2): (n-k2)) yjmean (x (j-k2) :( jk2)) rdquo แรงจูงใจหลักในการเขียนชุดของฟังก์ชั่นนี้คือความช้าในการทำงานของหน้าต่างส่วนใหญ่ที่มีอยู่ใน R และแพคเกจ ยกเว้น runmed ฟังก์ชั่นทั้งหมดที่ระบุไว้ในส่วนดูยังช้ากว่าการใช้ ldquo ที่ไม่มีประสิทธิภาพ (ฝัง (x, k), 1, FUN) rdquo ความเร็วสัมพัทธ์ของฟังก์ชัน runmean คือ O (n) ฟังก์ชัน EndRule ใช้หนึ่งในห้าวิธี (ดูอาร์กิวเมนต์ endrule) เพื่อประมวลผลจุดสิ้นสุดของอาร์เรย์ป้อนข้อมูล x ในโค้ดเวอร์ชันปัจจุบันตัวเลือก endrulemean เริ่มต้นจะถูกคำนวณภายในโค้ด C ที่ทำเพื่อปรับปรุงความเร็วในกรณีที่มีหน้าต่างบานใหญ่ ในกรณีของ runmean (. algexact) จะมีการใช้อัลกอริทึมพิเศษ (ดูหัวข้อการอ้างอิง) เพื่อให้แน่ใจว่าข้อผิดพลาดในการปัดเศษจะไม่เกิดขึ้น เป็นผลให้ runmean มีความแม่นยำมากกว่าตัวกรอง (x, rep (1k, k)) และ runmean (. algC) ส่งกลับเวกเตอร์ตัวเลขหรือเมตริกซ์ที่มีขนาดเท่ากับ x เฉพาะในกรณี endruletrim เวกเตอร์ที่ส่งออกจะสั้นลงและเมทริกซ์เอาท์พุทจะมีแถวน้อยลง ฟังก์ชัน runmean (. algexact) ใช้รหัสโดย Vadim Ogranovich ซึ่งใช้รหัส Python (ดูการอ้างอิงครั้งล่าสุด) โดย Gabor Grothendieck อ้างอิงเกี่ยวกับการแก้ไขข้อผิดพลาด round-off ที่ใช้ใน runmean Shewchuk, โจนาธานปรับความแม่นยำลอยตัวจุดคณิตศาสตร์และ Predicates Geometric รวดเร็วแข็งแรง www-2.cs. cmu. eduafscsprojectquakepublicpapersrobust-arithmetic. ps ข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไขข้อผิดพลาดแบบกลมสามารถดูได้ที่: aspn. activestateASPNCookbookPythonRecipe393090 ลิงก์ที่เกี่ยวข้องกับ: moving mean - mean kernapply กรอง. เปื่อย STL rollmean จากห้องสมุดสวนสัตว์, subsums จากไลบรารีมายากล, ฟังก์ชั่นการเคลื่อนย้ายหน้าต่างอื่น ๆ จากแพคเกจนี้: runmin runmax runquantile runmad และ rund runmed ทำงานโดยทั่วไปของหน้าต่าง: ใช้ (ฝัง (x, k), 1, FUN) (เร็วที่สุด) ทำงานจากแพคเกจ gtools (ช้ามากสำหรับวัตถุประสงค์นี้) subsums จากไลบรารีมายากลสามารถเรียกใช้การทำงานของหน้าต่างบนข้อมูลด้วย มิติข้อมูลใด ๆ แพ็คเกจ caTools เวอร์ชัน 1.12
Comments
Post a Comment