Sunday, 23 July 2017

ง่าย เฉลี่ยเคลื่อนที่ รหัส Matlab


ใช้ MATLAB ฉันสามารถหาค่าเฉลี่ยเคลื่อนที่ 3 วันของคอลัมน์เฉพาะของเมตริกซ์และต่อค่าเฉลี่ยเคลื่อนที่กับเมตริกซ์นั้นได้ฉันพยายามคำนวณค่าเฉลี่ยเคลื่อนที่ 3 วันจากด้านล่างจนถึงด้านบนของเมทริกซ์ ฉันได้ให้รหัสของฉัน: กำหนดเมทริกซ์ต่อไปนี้และหน้ากาก: ฉันได้ลองใช้คำสั่ง conv แต่ฉันได้รับข้อผิดพลาด นี่คือ conv คำสั่งฉันได้พยายามใช้ในคอลัมน์ที่ 2 ของ matrix a: เอาต์พุตฉันต้องการจะได้รับในเมทริกซ์ต่อไปนี้: ถ้าคุณมีคำแนะนำใด ๆ ฉันจะขอบคุณมากมัน ขอขอบคุณสำหรับคอลัมน์ 2 ของ matrix a ฉันคำนวณค่าเฉลี่ยเคลื่อนที่ 3 วันดังนี้และใส่ผลลัพธ์ในคอลัมน์ 4 ของ matrix a (เปลี่ยนชื่อเมทริกซ์เป็น 39desiredOutput39 เพื่อแสดงภาพประกอบ) ค่าเฉลี่ย 3 วันเฉลี่ย 17, 14, 11 คือ 14 เฉลี่ย 3 วันจาก 14, 11, 8 คือ 11 เฉลี่ย 3 วันที่ 11, 8, 5 คือ 8 และค่าเฉลี่ย 3 วันของ 8, 5, 2 คือ 5. ไม่มีค่าในแถวล่าง 2 แถวสำหรับคอลัมน์ 4 เนื่องจากการคำนวณค่าเฉลี่ยเคลื่อนที่ 3 วันเริ่มต้นที่ด้านล่าง ผลลัพธ์ 39valid39 จะไม่ปรากฏขึ้นจนกว่าอย่างน้อย 17, 14, และ 11. หวังว่านี่จะทำให้เกิดความรู้สึก Aaron #: 13 Jun 13 13:28 โดยทั่วไปแล้วจะช่วยได้ถ้าคุณจะแสดงข้อผิดพลาด ในกรณีนี้คุณกำลังทำผิดพลาด 2 ประการประการแรกต้องแบ่งความสามัคคีเป็นสามส่วน (หรือความยาวของค่าเฉลี่ยเคลื่อนที่) ประการที่สองให้สังเกตขนาดของ c คุณไม่สามารถเพียงพอดีกับ c ใน a. วิธีทั่วไปในการรับค่าเฉลี่ยเคลื่อนที่จะใช้เหมือนกัน: แต่ที่ไม่ได้มีลักษณะเหมือนที่คุณต้องการ คุณจะถูกบังคับให้ใช้สายคู่: ดาวน์โหลด movAv. m (ดูเพิ่มเติมได้ที่ movAv2 - รุ่นล่าสุดที่ให้การถ่วงน้ำหนัก) คำอธิบาย Matlab ประกอบด้วยฟังก์ชันที่เรียกว่า movavg และ tsmovavg (ค่าเฉลี่ยเคลื่อนที่แบบเรียลไทม์) ในกล่องเครื่องมือทางการเงิน movAv ถูกออกแบบมาเพื่อ ทำซ้ำฟังก์ชันพื้นฐานของเหล่านี้ โค้ดที่นี่เป็นตัวอย่างที่ดีในการจัดการดัชนีภายในลูปซึ่งอาจทำให้เกิดความสับสนในการเริ่มต้นด้วย Ive จงใจเก็บรหัสสั้นและง่ายเพื่อให้ขั้นตอนนี้ชัดเจน movAv มีค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ยที่สามารถใช้เพื่อกู้คืนข้อมูลที่มีเสียงดังได้ในบางสถานการณ์ มันทำงานโดยการใช้ค่าเฉลี่ยของอินพุท (y) ในหน้าต่างเวลาเลื่อนซึ่งมีขนาดระบุโดย n n ที่มีขนาดใหญ่มากยิ่งขึ้นจำนวนของการทำให้ราบเรียบผลของ n สัมพันธ์กับความยาวของเวคเตอร์อินพุต y และมีประสิทธิภาพ (ดีจัดเรียง) สร้างตัวกรองความถี่ต่ำ - ดูตัวอย่างและส่วนพิจารณา เนื่องจากจำนวนการทำให้ราบเรียบที่ให้มาโดยแต่ละค่าของ n สัมพันธ์กับความยาวของเวกเตอร์อินพุตค่าของค่าที่ทดสอบจะแตกต่างกันไปเพื่อดูว่าอะไรเหมาะสม จำไว้ว่าจุด n จะสูญหายไปในแต่ละค่าเฉลี่ยหาก n เท่ากับ 100 จุดแรกของอินพุทเวกเตอร์ dont มีข้อมูลเพียงพอสำหรับค่าเฉลี่ย 100pt ซึ่งสามารถหลีกเลี่ยงได้โดยการวางซ้อนค่าเฉลี่ยตัวอย่างเช่นโค้ดและกราฟด้านล่างจะเปรียบเทียบค่าเฉลี่ยของหน้าต่างความยาวที่ต่างกัน แจ้งให้ทราบว่าเปรียบเทียบ 1010pt กับค่าเฉลี่ย 20pt เพียงอย่างเดียว ในทั้งสองกรณี 20 จุดของข้อมูลจะสูญหายไปทั้งหมด สร้าง xaxis x1: 0.01: 5 ก่อให้เกิด noise noise เกิดสัญญาณรบกวน 4 noise repmat (randn (1, ceil (numel (x) noiseReps)), noiseReps, 1) noise reshape (noise, 1, noise) noiseReps) สร้าง ydata noise yexp (y, 10) 10 pt y3 movAv (y2, 10) 1010 pt y4 movAv (y, 20) 20 pt y5 movAv (y, 40) 40 pt. 10noise (1: length (x)) รายละเอียดขั้นสูง: y2 movAv y6 movAv (y, 100) 100 pt พล็อตตัวเลขพล็อต (x, y, y2, y3, y4, y5, y6) (ข้อมูลดิบ, 10pt เฉลี่ยเคลื่อนที่, 1010pt, 20pt, 40pt, 100pt) xlabel (x) ylabel y) title (การเปรียบเทียบค่าเฉลี่ยเคลื่อนที่) movAv. m code run-through function output movAv (y, n) บรรทัดแรกกำหนดชื่อฟังก์ชันอินพุตและเอาต์พุต อินพุท x ควรเป็นเวกเตอร์ของข้อมูลที่จะใช้ค่าเฉลี่ยเมื่อ n ควรเป็นจำนวนจุดที่จะทำค่าเฉลี่ยมากกว่าเอาท์พุทจะมีข้อมูลเฉลี่ยที่ส่งกลับโดยฟังก์ชัน หาจุดกึ่งกลางของ n midPoint round (n2) งานหลักของฟังก์ชันจะทำในลูป for แต่ก่อนที่จะเริ่มเตรียมสองสิ่ง ประการแรกเอาต์พุตถูกจัดสรรล่วงหน้าเป็น NaN ซึ่งทำหน้าที่สองประการ preallocation แรกคือการปฏิบัติที่ดีโดยทั่วไปเนื่องจากลดการเล่นกลของหน่วยความจำ Matlab ต้องทำประการที่สองทำให้ง่ายในการวางข้อมูลเฉลี่ยเป็นเอาต์พุตขนาดเดียวกับเวกเตอร์อินพุท ซึ่งหมายความว่า xaxis เดียวกันสามารถใช้งานได้ในภายหลังทั้งสองแบบซึ่งเหมาะสำหรับการวางแผนหรือสามารถถอด NaN ออกได้ในหนึ่งบรรทัดของรหัส (เอาท์พุทเอาต์พุต (midpoint แบบแปรผันจะใช้เพื่อจัดตำแหน่งข้อมูลในเวกเตอร์การส่งออกถ้า n 10, 10 จุดจะหายไปเนื่องจากสำหรับ 9 จุดแรกของเวกเตอร์อินพุตมีข้อมูลไม่เพียงพอที่จะใช้ค่าเฉลี่ย 10 จุดเนื่องจากเอาท์พุทจะสั้นกว่าข้อมูลอินพุตจะต้องมีการจัดตำแหน่งอย่างถูกต้อง midPoint จะ ถูกนำมาใช้เพื่อให้จำนวนข้อมูลที่เท่ากันจะหายไปเมื่อเริ่มต้นและสิ้นสุดและอินพุตจะถูกจัดเก็บให้สอดคล้องกับผลลัพธ์โดยบัฟเฟอร์ NaN ที่สร้างขึ้นเมื่อตั้งค่าเอาต์พุตล่วงหน้าสำหรับความยาว 1: (y) - n ค้นหาช่วงของดัชนีโดยเฉลี่ย over (a: b) ห้ามคำนวณหาค่าเฉลี่ยเอาท์พุท (amidPoint) mean (y (a: b)) end ในลูปสำหรับตัวมันเองค่าเฉลี่ยจะถูกยึดเอาส่วนที่ต่อเนื่องกันของ input ห่วงจะทำงานสำหรับ a. ซึ่งเป็น หมายถึง 1 ถึงความยาวของอินพุท (y) ลบข้อมูลที่จะสูญหายไป (n) ถ้าอินพุทมีค่าเท่ากับ 100 จุด ng และ n คือ 10 ลูปจะทำงานจาก (a) 1 ถึง 90 ซึ่งหมายถึงมีดัชนีแรกของกลุ่มที่จะได้รับค่าเฉลี่ย ดัชนีที่สอง (b) เป็นเพียง -1 ดังนั้นในการทำซ้ำครั้งแรก a1 n10 ดังนั้นข 11-1 10. ค่าเฉลี่ยแรกจะได้รับมากกว่า y (a: b) หรือ x (1:10) ค่าเฉลี่ยของกลุ่มนี้ซึ่งเป็นค่าเดียวจะถูกเก็บไว้ในผลลัพธ์ที่ดัชนี amidPoint หรือ 156 เมื่อทำซ้ำที่สอง a2 b 210-1 11 ดังนั้นค่าเฉลี่ยจะถูกนำไป x (2:11) และเก็บไว้ในเอาต์พุต (7) เมื่อทำซ้ำครั้งสุดท้ายของลูปสำหรับอินพุทความยาว 100, a91 b 9010-1 100 ดังนั้นค่าเฉลี่ยจะถูกนำมาใช้ x (91: 100) และเก็บไว้ในเอาต์พุต (95) ใบนี้ให้ผลรวม n (10) ค่า NaN ที่ดัชนี (1: 5) และ (96: 100) ตัวอย่างและข้อควรคำนึงการย้ายค่าเฉลี่ยจะเป็นประโยชน์ในบางสถานการณ์ แต่ก็ไม่ใช่ทางเลือกที่ดีเสมอไป ต่อไปนี้คือตัวอย่างสองส่วนที่พวกเขาไม่จำเป็นต้องมีประสิทธิภาพสูงสุด การปรับเทียบไมโครโฟนชุดข้อมูลนี้แสดงถึงระดับของแต่ละความถี่ที่ผลิตโดยลำโพงและบันทึกโดยไมโครโฟนโดยมีการตอบสนองเชิงเส้นที่เป็นที่รู้จัก เอาท์พุทของลำโพงจะแตกต่างกันไปตามความถี่ แต่เราสามารถแก้ไขรูปแบบนี้ได้ด้วยข้อมูลการปรับเทียบ - เอาท์พุทสามารถปรับระดับให้เหมาะสมกับความผันผวนของการสอบเทียบได้ สังเกตว่าข้อมูลดิบมีเสียงดัง - นั่นหมายความว่าการเปลี่ยนแปลงเล็กน้อยในความถี่ดูเหมือนจะต้องมีการเปลี่ยนแปลงระดับที่มากผิดปกติ นี้สมจริงหรือเป็นผลิตภัณฑ์ของสภาพแวดล้อมการบันทึกที่สมเหตุสมผลในกรณีนี้เพื่อใช้ค่าเฉลี่ยเคลื่อนที่ที่คลี่ออกโค้งระดับความสูงเพื่อให้เส้นโค้งการสอบเทียบที่น้อยผิดปกติ แต่นี่ไม่ใช่เหตุผลที่ดีที่สุดในตัวอย่างนี้ข้อมูลเพิ่มเติมจะดีกว่า - การสอบเทียบหลายครั้งทำงานโดยเฉลี่ยจะทำลายเสียงในระบบ (ตราบเท่าที่มีการสุ่ม) และให้เส้นโค้งที่มีรายละเอียดน้อยลง ค่าเฉลี่ยเคลื่อนที่สามารถประมาณค่านี้ได้เท่านั้นและอาจลบส่วนที่ลดลงและยอดที่สูงขึ้นออกจากเส้นโค้งที่มีอยู่จริง คลื่นไซน์การใช้ค่าเฉลี่ยเคลื่อนที่บนคลื่นซายน์ไฮไลต์สองจุด: ประเด็นทั่วไปในการเลือกคะแนนที่เหมาะสมเพื่อให้มีค่าเฉลี่ยมากกว่า ง่าย แต่มีวิธีการวิเคราะห์สัญญาณที่มีประสิทธิภาพมากขึ้นกว่าค่าเฉลี่ยสัญญาณสั่นในโดเมนเวลา ในกราฟนี้คลื่นไซน์ดั้งเดิมจะถูกวาดด้วยสีฟ้า มีการเพิ่มเสียงรบกวนและวางแผนเป็นเส้นโค้งสีส้ม ค่าเฉลี่ยเคลื่อนที่จะถูกดำเนินการที่จุดต่างกันเพื่อดูว่าคลื่นต้นฉบับสามารถกู้คืนได้หรือไม่ 5 และ 10 จุดให้ผลลัพธ์ที่สมเหตุสมผล แต่อย่าเอาเสียงออกทั้งหมดซึ่งเป็นจุดเริ่มต้นของการสูญเสียรายละเอียดแอมพลิจูดมากขึ้นเมื่อค่าเฉลี่ยขยายไปในช่วงต่างๆ (จำ wave oscilates รอบศูนย์และ -1 หมายถึง 0) อีกทางเลือกหนึ่งคือการสร้างตัวกรองสัญญาณลอมพนด์ต่ำกว่าที่สามารถนำมาประยุกต์ใช้กับสัญญาณในโดเมนความถี่ได้ ฉันจะไม่ไปลงในรายละเอียดตามที่ไปเกินขอบเขตของบทความนี้ แต่เป็นเสียงเป็นความถี่สูงกว่าคลื่นความถี่พื้นฐานก็จะค่อนข้างง่ายในกรณีนี้เพื่อสร้างตัวกรอง lowpass กว่าจะเอาความถี่สูง noise. Dumentument output tsmovavg (tsobj, s, lag) จะส่งค่าเฉลี่ยเคลื่อนที่โดยอัตโนมัติสำหรับชุดข้อมูลทางการเงิน tsobj lag แสดงจำนวนจุดข้อมูลก่อนหน้าที่ใช้กับจุดข้อมูลปัจจุบันเมื่อคำนวณค่าเฉลี่ยเคลื่อนที่ output tsmovavg (vector, s, lag, dim) ให้ค่าเฉลี่ยเคลื่อนที่ที่แท้จริงสำหรับเวกเตอร์ lag แสดงจำนวนจุดข้อมูลก่อนหน้าที่ใช้กับจุดข้อมูลปัจจุบันเมื่อคำนวณค่าเฉลี่ยเคลื่อนที่ tsmovavg ส่งออก (tsobj, e, timeperiod) ส่งกลับค่าเฉลี่ยถ่วงน้ำหนักแบบเสวนาสำหรับวัตถุชุดเวลาทางการเงิน tsobj ค่าเฉลี่ยเคลื่อนที่แบบเสวนาคือค่าเฉลี่ยเคลื่อนที่ถ่วงน้ำหนักโดยที่ timeperiod ระบุช่วงเวลา ค่าเฉลี่ยเคลื่อนที่ที่เป็นตัวชี้วัดจะช่วยลดความล่าช้าโดยการใช้น้ำหนักมากขึ้นกับราคาล่าสุด ตัวอย่างเช่นค่าเฉลี่ยเลขคณิตเชิงเส้น 10 ช่วงน้ำหนักจะเป็นราคาล่าสุดที่ 18.18 เปอร์เซ็นต์การแจกแจงร้อยละ 2 (TIMEPER 1) หรือ 2 (WINDOWSIZE 1) tsmovavg ส่งออก (vector, e, timeperiod, dim) ส่งกลับค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักที่อธิบายเป็นเวกเตอร์ ค่าเฉลี่ยเคลื่อนที่แบบเสวนาคือค่าเฉลี่ยเคลื่อนที่ถ่วงน้ำหนักโดยที่ timeperiod ระบุช่วงเวลา ค่าเฉลี่ยเคลื่อนที่ที่เป็นตัวชี้วัดจะช่วยลดความล่าช้าโดยการใช้น้ำหนักมากขึ้นกับราคาล่าสุด ตัวอย่างเช่นค่าเฉลี่ยเลขคณิตเชิงเส้น 10 ช่วงน้ำหนักจะเป็นราคาล่าสุดที่ 18.18 (2 (timeperiod 1)) tsmovavg ส่งออก (tsobj, t, numperiod) ส่งกลับค่าเฉลี่ยเคลื่อนที่สามเหลี่ยมสำหรับชุดข้อมูลทางการเงินแบบเวลา tsobj ค่าเฉลี่ยเคลื่อนที่สามเหลี่ยมสองครั้งทำให้ข้อมูลราบรื่น tsmovavg คำนวณค่าเฉลี่ยเคลื่อนที่แรกที่มีความกว้างของหน้าต่างของเพดาน (numperiod 1) 2. จากนั้นจะคำนวณค่าเฉลี่ยเคลื่อนที่ที่สองในค่าเฉลี่ยเคลื่อนที่แรกที่มีขนาดหน้าต่างเดียวกัน tsmovavg ออก (เวกเตอร์, t, numperiod, dim) ส่งกลับค่าเฉลี่ยเคลื่อนที่สามเหลี่ยมสำหรับเวกเตอร์ ค่าเฉลี่ยเคลื่อนที่สามเหลี่ยมสองครั้งทำให้ข้อมูลราบรื่น tsmovavg คำนวณค่าเฉลี่ยเคลื่อนที่แรกที่มีความกว้างของหน้าต่างของเพดาน (numperiod 1) 2. จากนั้นจะคำนวณค่าเฉลี่ยเคลื่อนที่ที่สองในค่าเฉลี่ยเคลื่อนที่แรกที่มีขนาดหน้าต่างเดียวกัน output tsmovavg (tsobj, w, weights) จะส่งกลับค่าเฉลี่ยถ่วงน้ำหนักที่ถ่วงน้ำหนักสำหรับชุดข้อมูลทางการเงิน tsobj โดยการจัดหาน้ำหนักสำหรับแต่ละองค์ประกอบในหน้าต่างที่เคลื่อนย้าย ความยาวของเวกเตอร์น้ำหนักจะกำหนดขนาดของหน้าต่าง หากใช้ปัจจัยน้ำหนักมากขึ้นสำหรับราคาที่ผ่านมาและปัจจัยที่มีขนาดเล็กกว่าสำหรับราคาก่อนหน้านี้แนวโน้มจะตอบสนองต่อการเปลี่ยนแปลงล่าสุดได้มากขึ้น output tsmovavg (vector, w, weight, dim) ส่งกลับค่าเฉลี่ยเคลื่อนที่ถ่วงน้ำหนักสำหรับเวกเตอร์โดยการจัดหาน้ำหนักสำหรับแต่ละองค์ประกอบในหน้าต่างที่เคลื่อนที่ ความยาวของเวกเตอร์น้ำหนักจะกำหนดขนาดของหน้าต่าง หากใช้ปัจจัยน้ำหนักมากขึ้นสำหรับราคาที่ผ่านมาและปัจจัยที่มีขนาดเล็กกว่าสำหรับราคาก่อนหน้านี้แนวโน้มจะตอบสนองต่อการเปลี่ยนแปลงล่าสุดได้มากขึ้น tsmovavg ส่งออก (tsobj, m, numperiod) ส่งกลับค่าเฉลี่ยเคลื่อนที่ที่ได้รับการแก้ไขสำหรับชุดข้อมูลทางการเงิน tsobj ค่าเฉลี่ยเคลื่อนที่ที่ปรับเปลี่ยนมีค่าใกล้เคียงกับค่าเฉลี่ยเคลื่อนที่ที่เรียบง่าย พิจารณาเลขคณิตอาร์กิวเมนต์เป็นความล่าช้าของค่าเฉลี่ยเคลื่อนที่ที่เรียบง่าย ค่าเฉลี่ยเคลื่อนที่ที่แก้ไขครั้งแรกจะคำนวณเป็นค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ย ค่าที่เกิดขึ้นภายหลังจะคำนวณโดยการเพิ่มราคาใหม่และลบค่าเฉลี่ยล่าสุดจากผลรวมที่ได้ tsmovavg ส่งออก (เวกเตอร์, m, numperiod, dim) ส่งกลับค่าเฉลี่ยเคลื่อนที่ที่ได้รับการแก้ไขสำหรับเวกเตอร์ ค่าเฉลี่ยเคลื่อนที่ที่ปรับเปลี่ยนมีค่าใกล้เคียงกับค่าเฉลี่ยเคลื่อนที่ที่เรียบง่าย พิจารณาเลขคณิตอาร์กิวเมนต์เป็นความล่าช้าของค่าเฉลี่ยเคลื่อนที่ที่เรียบง่าย ค่าเฉลี่ยเคลื่อนที่ที่แก้ไขครั้งแรกจะคำนวณเป็นค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ย ค่าที่เกิดขึ้นภายหลังจะคำนวณโดยการเพิ่มราคาใหม่และลบค่าเฉลี่ยล่าสุดจากผลรวมที่ได้ dim 8212 มิติเพื่อดำเนินการตามจำนวนเต็มบวกที่มีค่า 1 หรือ 2 มิติเพื่อทำงานพร้อมระบุเป็นจำนวนเต็มบวกที่มีค่า 1 หรือ 2 dim เป็นอาร์กิวเมนต์ตัวเลือกและถ้าไม่รวมเป็นอินพุตค่าเริ่มต้น ค่าที่ 2 จะถือว่า ค่าดีฟอลต์ของ dim 2 ระบุเมทริกซ์เชิงแถวซึ่งแต่ละแถวเป็นตัวแปรและแต่ละคอลัมน์จะเป็นค่าสังเกต ถ้าสลัว 1 ใส่จะถือว่าเป็นเวกเตอร์คอลัมน์หรือคอลัมน์ที่มุ่งเน้นเมทริกซ์ที่แต่ละคอลัมน์เป็นตัวแปรและแต่ละแถวสังเกต e 8212 ตัวบ่งชี้สำหรับค่าเฉลี่ยของค่าเฉลี่ยเคลื่อนที่เชิงเส้นค่าเฉลี่ยเคลื่อนที่เป็นค่าเฉลี่ยเคลื่อนที่ถ่วงน้ำหนักโดยที่ timeperiod เป็นระยะเวลาของค่าเฉลี่ยเคลื่อนที่แบบเสวนา (exponential moving average) ค่าเฉลี่ยเคลื่อนที่ที่เป็นตัวชี้วัดจะช่วยลดความล่าช้าโดยการใช้น้ำหนักมากขึ้นกับราคาล่าสุด ยกตัวอย่างเช่นค่าเฉลี่ยเลขคณิตที่มีการอธิบายเป็นระยะเวลา 10 ค่าเป็นค่าสูงสุดที่ 18.18 เปอร์เซ็นต์จุดประสงค 2 (TIMEPER 1) หรือ 2 (WINDOWSIZE 1) timeperiod 8212 ระยะเวลาจํานวนเต็มที่ไมมีตัวตนเลือกจุดเฉลี่ยเคลื่อนที่ของ CountryA ใน Matlab คาเฉลี่ยเคลื่อนที่ใน MATLAB ค่าเฉลี่ยเคลื่อนที่หรือค่าเฉลี่ยของการกลิ้งเป็นเทคนิคการปรับความเรียบที่ใช้บ่อยที่สุดซึ่งใช้ในการแยกสัญญาณที่ดีออกจากสัญญาณรบกวนที่มีเสียงดังมาก เทคนิคนี้มักใช้เพื่อดูพฤติกรรมของฟังก์ชันหรือสัญญาณเมื่อพารามิเตอร์ทางกายภาพและสภาพแวดล้อมมีผลผิดพลาดต่อสัญญาณที่วัดได้ ให้กับชุดของตัวเลขและขนาดเซ็ตย่อยคงที่องค์ประกอบแรกของค่าเฉลี่ยเคลื่อนที่จะได้โดยการใช้ค่าเฉลี่ยของเซตย่อยคงที่เริ่มต้นของชุดตัวเลข จากนั้นชุดย่อยจะถูกแก้ไขโดย 8220 เลื่อนไปข้างหน้า 8221 นั่นคือไม่รวมหมายเลขชุดแรกและรวมถึงหมายเลขถัดไปตามชุดย่อยชุดแรกในชุด ซึ่งจะสร้างชุดย่อยใหม่ของตัวเลขซึ่งเป็นค่าเฉลี่ย กระบวนการนี้ทำซ้ำในชุดข้อมูลทั้งหมด เส้นควบคุมที่เชื่อมต่อค่าเฉลี่ยทั้งหมด (ค่าคงที่) คือค่าเฉลี่ยเคลื่อนที่ ค่าเฉลี่ยเคลื่อนที่คือชุดของตัวเลขแต่ละอันซึ่งเป็นค่าเฉลี่ยของเซ็ตย่อยที่สอดคล้องกันของชุดจุดที่มีขนาดใหญ่กว่า ค่าเฉลี่ยเคลื่อนที่อาจใช้น้ำหนักที่ไม่เท่ากันสำหรับค่าฐานข้อมูลแต่ละชุดในชุดย่อยเพื่อเน้นค่าเฉพาะในชุดย่อย เทคนิคทั่วไปเกี่ยวข้องกับการหาค่าเฉลี่ยจากจำนวนข้อมูลที่เท่ากันทั้งสองด้านของค่ากลาง เพื่อให้แน่ใจได้ว่ารูปแบบต่างๆของค่าเฉลี่ยจะสอดคล้องกับรูปแบบของข้อมูลมากกว่าที่จะเปลี่ยนไปในเวลา อาจมีความผิดปกติบางอย่างเมื่อรูปแบบไม่สม่ำเสมอเช่นกัน แต่จะไม่มีการกล่าวถึงในที่นี้ ค่าเฉลี่ยเคลื่อนที่ของค่าเฉลี่ยเคลื่อนที่มีค่าแตกต่างกันเช่นค่าเฉลี่ยเคลื่อนที่สะสมค่าเฉลี่ยถ่วงน้ำหนักค่าเฉลี่ยถ่วงน้ำหนักค่าเฉลี่ยเคลื่อนที่ที่คำนวณได้ค่าเฉลี่ยเคลื่อนที่ที่เปลี่ยนแปลงและค่าเฉลี่ยถอยถอยในโพสต์นี้ฉันได้แนบรหัส MATLAB เพื่อคำนวณค่าเฉลี่ยเคลื่อนที่แบบง่ายๆ รหัสนี้สามารถใช้เพื่อทำให้สัญญาณมีคุณลักษณะที่ดี แต่มีเสียงพื้นหลังเล็กน้อยโดยไม่ส่งผลต่อค่าข้อมูล แต่โปรดระวังช่วงเวลาโดยเฉลี่ยสำหรับข้อมูลของคุณ

No comments:

Post a Comment