Saturday 8 July 2017

คำนวณ 3 เดือน เฉลี่ยเคลื่อนที่ ใน Sas


ค่าเฉลี่ยเคลื่อนที่ตัวอย่างนี้สอนวิธีคำนวณค่าเฉลี่ยเคลื่อนที่ของชุดเวลาใน Excel ค่าเฉลี่ยเคลื่อนที่จะใช้เพื่อทำให้เกิดความผิดปกติ (ยอดเขาและหุบเขา) เพื่อรับรู้แนวโน้มได้ง่ายขึ้น 1. ขั้นแรกให้ดูที่ซีรี่ส์เวลาของเรา 2. ในแท็บข้อมูลคลิกการวิเคราะห์ข้อมูล หมายเหตุ: ไม่สามารถหาปุ่ม Data Analysis คลิกที่นี่เพื่อโหลด Add-in Analysis ToolPak 3. เลือก Moving Average และคลิก OK 4. คลิกที่กล่อง Input Range และเลือกช่วง B2: M2 5. คลิกที่ช่อง Interval และพิมพ์ 6. 6. คลิกที่ Output Range box และเลือก cell B3 8. วาดกราฟของค่าเหล่านี้ คำอธิบาย: เนื่องจากเราตั้งค่าช่วงเป็น 6 ค่าเฉลี่ยเคลื่อนที่คือค่าเฉลี่ยของ 5 จุดข้อมูลก่อนหน้าและจุดข้อมูลปัจจุบัน เป็นผลให้ยอดเขาและหุบเขาจะเรียบออก กราฟแสดงแนวโน้มที่เพิ่มขึ้น Excel ไม่สามารถคำนวณค่าเฉลี่ยเคลื่อนที่สำหรับจุดข้อมูล 5 จุดแรกได้เนื่องจากไม่มีจุดข้อมูลก่อนหน้านี้เพียงพอ 9. ทำซ้ำขั้นตอนที่ 2 ถึง 8 สำหรับช่วงเวลา 2 และช่วงที่ 4 ข้อสรุป: ช่วงที่ใหญ่กว่ายอดเนินและหุบเขาจะเรียบขึ้น ระยะห่างที่สั้นกว่าค่าเฉลี่ยของค่าเฉลี่ยเคลื่อนที่ที่ใกล้เคียงกับจุดที่เกิดขึ้นจริงฉันรวมภาพหน้าจอเพื่อช่วยชี้แจงปัญหาของฉัน: Im พยายามคำนวณค่าเฉลี่ยเคลื่อนที่และค่าส่วนเบี่ยงเบนมาตรฐานเคลื่อนที่ สิ่งที่ฉันต้องการคำนวณค่าสัมประสิทธิ์ของการเปลี่ยนแปลง (stdevavg) สำหรับค่าจริง โดยปกติจะทำโดยการคำนวณ stdev และค่าเฉลี่ยสำหรับ 5 ปีที่ผ่านมา แต่บางครั้งจะมีการสังเกตในฐานข้อมูลของฉันซึ่งฉันไม่มีข้อมูลในช่วง 5 ปีที่ผ่านมา (อาจจะมีเพียง 3, 2 ฯลฯ ) Thats ทำไมฉันต้องการรหัสที่จะคำนวณเฉลี่ยและ stdev แม้ว่าจะไม่มีข้อมูลสำหรับทั้ง 5 ปี นอกจากนี้ตามที่คุณเห็นในข้อสังเกตบางครั้งฉันมีข้อมูลมากกว่า 5 ปีเมื่อเป็นกรณีนี้ฉันต้องมีค่าเฉลี่ยเคลื่อนที่ซึ่งจะช่วยให้ฉันสามารถคำนวณค่าเฉลี่ยและเฉลี่ยได้ในช่วง 5 ปีที่ผ่านมา ดังนั้นหาก บริษัท มีข้อมูลเป็นเวลา 7 ปีฉันต้องการรหัสบางประเภทซึ่งจะคำนวณค่าเฉลี่ยและค่าเฉลี่ยสำหรับปี 1997 (โดย 1991-1996), 1998 (โดย 1992-1997) และ 1999 (1993-1998) เป็น im ไม่คุ้นเคยกับคำสั่ง sas ควรดู (มากอย่างคร่าว ๆ ) เช่น: หรือบางอย่างเช่นนี้ผมมีเงื่อนงำไม่ Im gonna พยายามและคิดออก แต่มูลค่าการโพสต์มันถ้าฉันเคยชินพบว่าตัวเองฉันเป็น SAS เริ่มต้นและ Im อยากรู้อยากเห็นถ้างานต่อไปนี้สามารถทำได้ง่ายมากขึ้นตามที่อยู่ในหัวของฉัน ฉันมีเมตาดาต้า (แบบง่าย) ต่อไปนี้ในตาราง userdatemoney: User - Date - เงินกับผู้ใช้รายต่างๆและวันที่สำหรับทุกๆปฏิทิน (สำหรับ 4 ปีที่ผ่านมา) ข้อมูลถูกสั่งโดย User ASC และ Date ASC ข้อมูลตัวอย่างมีลักษณะดังนี้: ตอนนี้ฉันต้องการคำนวณค่าเฉลี่ยเคลื่อนที่ 5 วันสำหรับ Money ฉันเริ่มต้นด้วย apprach ที่นิยมมากกับ lag () ฟังก์ชันเช่นนี้: ตามที่คุณเห็นปัญหาเกี่ยวกับวิธีการนี้เกิดขึ้นถ้ามีถ้าขั้นตอนข้อมูลทำงานเป็นผู้ใช้ใหม่ Aron จะได้รับค่าล้าหลังจากแอนนาซึ่งแน่นอนว่าไม่ควรเกิดขึ้น ตอนนี้คำถามของฉัน: ฉันค่อนข้างมั่นใจว่าคุณสามารถจัดการสลับผู้ใช้โดยการเพิ่มเขตข้อมูลพิเศษเช่น laggeduser และโดยการตั้งค่า N, Sum และตัวแปรค่าเฉลี่ยถ้าคุณสังเกตเห็นเช่นเปลี่ยน แต่: นี้สามารถทำได้ในวิธีที่ง่ายขึ้นอาจใช้ โดยวิธีใดขอบคุณสำหรับความคิดและความช่วยเหลือของคุณฉันคิดว่าวิธีที่ง่ายที่สุดคือการใช้ PROC ขยาย: และดังกล่าวในความคิดเห็น Johns สำคัญที่ต้องจำเกี่ยวกับค่าที่หายไป (และเกี่ยวกับการเริ่มต้นและสิ้นสุดการสังเกตด้วย) Ive เพิ่มตัวเลือก SETMISS ลงในรหัสตามที่คุณระบุให้ชัดเจนว่าคุณต้องการ zerofy ค่าที่หายไปอย่าละเลย (พฤติกรรมเริ่มต้นของ MOVAVE) ถ้าคุณต้องการยกเว้น 4 ข้อสังเกตแรกสำหรับผู้ใช้แต่ละราย (เนื่องจากไม่มีประวัติก่อนคำนวณค่าเฉลี่ยเคลื่อนที่ 5) คุณสามารถใช้ตัวเลือก TRIMLEFT 4 ภายใน TRANSFORMOUT () ตอบเมื่อวันที่ 3 ธันวาคม 13 เวลา 15:29 น

No comments:

Post a Comment