Wednesday 19 July 2017

การย้าย ค่าเฉลี่ย โดยใช้ Sas


โค้ดตัวอย่างในแท็บรหัสแบบเต็มแสดงวิธีคำนวณค่าเฉลี่ยเคลื่อนที่ของตัวแปรผ่านชุดข้อมูลทั้งหมดในช่วงการสังเกตการณ์ครั้งล่าสุดในชุดข้อมูลหรือมากกว่าการสังเกตการณ์ N ครั้งล่าสุดภายในกลุ่ม BY กลุ่มตัวอย่างไฟล์เหล่านี้และ ตัวอย่างรหัสที่จัดทำโดย SAS Institute Inc โดยไม่มีการรับประกันใด ๆ ไม่ว่าจะโดยชัดแจ้งหรือโดยนัยรวมถึง แต่ไม่ จำกัด เพียงการรับประกันโดยนัยของความสามารถในเชิงพาณิชย์และความเหมาะสมสำหรับวัตถุประสงค์เฉพาะผู้รับทราบและยอมรับว่า SAS Institute จะไม่รับผิดชอบใด ๆ ความเสียหายใด ๆ ที่เกิดขึ้นจากการใช้วัสดุนี้นอกจากนี้ SAS Institute จะให้การสนับสนุนสำหรับเอกสารที่มีอยู่ในเอกสารฉบับนี้ตัวอย่างไฟล์และตัวอย่างโค้ดนี้จัดทำโดย SAS Institute Inc โดยไม่มีการรับประกันใด ๆ ไม่ว่าจะโดยชัดแจ้งหรือโดยนัย, รวมถึง แต่ไม่ จำกัด เฉพาะการรับประกันโดยนัยของความสามารถเชิงพาณิชย์และความเหมาะสมสำหรับวัตถุประสงค์เฉพาะผู้รับทราบและยอมรับว่าสถาบัน SAS จะไม่รับผิดชอบ นอกจากนี้ SAS Institute จะให้การสนับสนุนสำหรับเนื้อหาที่มีการระบุค่าเฉลี่ยเคลื่อนที่ของตัวแปรผ่านชุดข้อมูลทั้งหมดในช่วงการสังเกตการณ์ครั้งล่าสุดในชุดข้อมูลหรือ ในช่วงการสังเกตการณ์ครั้งล่าสุดของ N-group ในรายงานฉบับที่ 6 08 ของ SAS System PROC EXPAND ในซอฟต์แวร์ SAS ETS สามารถใช้เพื่อสร้างความหลากหลายของการแปลงข้อมูลการแปลงเหล่านี้รวมถึงโอกาสในการขายล่าช้าค่าถัวเฉลี่ยถ่วงน้ำหนักและ unweighted moving averages, ผลรวมการเคลื่อนย้ายและจำนวนเงินสะสมเพื่อตั้งชื่อการเปลี่ยนแปลงใหม่จำนวนไม่มากการเพิ่มการแปลงใหม่จำนวนมากถูกเพิ่มเข้าในรีลีส 6 12 ซึ่งรวมถึงข้อกำหนดเฉพาะสำหรับค่าเฉลี่ยที่ศูนย์กลางและย้อนหลังการเปลี่ยนแปลงใหม่นี้ทำให้จำเป็นต้องปรับเปลี่ยนไวยากรณ์สำหรับการแปลงบางส่วนที่สนับสนุนก่อน Release 6 12 ตัวอย่างวิธีการระบุไวยากรณ์สำหรับค่าเฉลี่ยเคลื่อนที่กึ่งกลางและย้อนหลังโดยใช้ Release 6 11 และรุ่นก่อนหน้าและ Release 6 12 และรุ่นที่ใหม่กว่าจะได้รับด้านล่าง EXPRO EXPRO D สามารถคำนวณค่าเฉลี่ยเคลื่อนที่ที่ศูนย์กลางหรือค่าเฉลี่ยเคลื่อนที่ถอยหลังค่าเฉลี่ยเคลื่อนที่เฉลี่ย 5 ช่วงคือคำนวณโดยค่าเฉลี่ย 5 ค่าติดต่อกันของชุดค่างวดปัจจุบันนอกเหนือจากค่าก่อนหน้านี้สองค่าและค่าสองค่าต่อไปนี้ทันที ค่าปัจจุบันค่าเฉลี่ยเคลื่อนที่ถอยหลังย้อนหลัง 5 ช่วงเวลาคำนวณโดยค่าเฉลี่ยของค่างวดปัจจุบันโดยมีค่าจากช่วงก่อนหน้า 4 อันดังต่อไปนี้ไวยากรณ์แสดงวิธีใช้ TRANSFORM MOVAVE n เพื่อคำนวณค่าเฉลี่ยเคลื่อนที่ 5 ช่วงโดยใช้ Release 6 11 หรือสูงกว่าเพื่อคำนวณค่าเฉลี่ยย้อนหลังของค่าเฉลี่ยย้อนหลัง n โดยใช้ Release 6 11 หรือรุ่นก่อนหน้าให้ใช้ข้อกำหนด TRANSFORM MOVAVE n LAG k โดยที่ k n-1 2 ถ้า n เป็นเลขคี่หรือที่ k n-2 2 if n คือแม้ตัวอย่างเช่นไวยากรณ์ต่อไปนี้แสดงวิธีการคำนวณค่าเฉลี่ยย้อนหลัง 5 ช่วงโดยใช้ Release 6 11 หรือเวอร์ชันก่อนหน้าไวยากรณ์ต่อไปนี้แสดงวิธีการใช้ TRANSFORM CMOVAVE n spe cification เพื่อคำนวณค่าเฉลี่ยเคลื่อนที่ 5 ช่วงโดยใช้ Release 6 12 หรือที่ใหม่กว่าไวยากรณ์คล้ายคลึงกันดังต่อไปนี้แสดงให้เห็นถึงวิธีการใช้ TRANSFORM MOVAVE n เพื่อคำนวณค่าเฉลี่ยย้อนหลัง 5 ช่วงโดยใช้ Release 6 12 หรือที่ใหม่กว่าสำหรับข้อมูลเพิ่มเติม ดูการดำเนินการแปลงในบทขยายของคู่มือผู้ใช้ SAS ETS หากคุณไม่สามารถเข้าถึง SAS ETS คุณสามารถคำนวณค่าเฉลี่ยเคลื่อนที่ได้ในขั้นตอน DATA ตามที่แสดงในโปรแกรมตัวอย่างตัวอย่างการใช้งานระบบและข้อมูลการเผยแพร่ SAS เริ่มต้นและฉัน m อยากรู้อยากเห็นถ้างานต่อไปนี้สามารถทำได้ง่ายมากขึ้นตามที่อยู่ในหัวของฉันฉันมีต่อไปนี้ง่าย meta ข้อมูลในตาราง userdatemoney. User ชื่อ - วันที่ - Money. with ผู้ใช้ต่างๆและวันที่สำหรับทุก วันที่ในปฏิทินสำหรับ 4 ปีที่ผ่านมาข้อมูลถูกสั่งโดย User ASC และ Date ASC ข้อมูลตัวอย่างมีลักษณะดังนี้ตอนนี้ฉันต้องการคำนวณค่าเฉลี่ยเคลื่อนที่ห้าวันสำหรับเงินที่ฉันเริ่มต้นด้วย apprach ที่นิยมใช้กันอย่างแพร่หลายและมีฟังก์ชันล่าช้า เช่นนี้คุณเห็นปัญหาเกี่ยวกับวิธีการนี้เกิดขึ้นถ้ามีขั้นตอนข้อมูลที่ทำงานในผู้ใช้ใหม่ Aron จะได้รับค่า lagged บางอย่างจากแอนนาซึ่งแน่นอนไม่ควร happen. Now คำถามของฉันฉันค่อนข้างแน่ใจว่าคุณสามารถจัดการ เปลี่ยนผู้ใช้โดยการเพิ่มเขตข้อมูลพิเศษเช่น laggeduser และโดยการตั้งค่าตัวแปร N, Sum และ Mean ถ้าคุณสังเกตเห็นสวิตช์ดังกล่าว แต่สามารถทำในวิธีที่ง่ายกว่านี้อาจจะใช้คำว่า BY ใด ๆ ขอบคุณสำหรับความคิดและความช่วยเหลือของคุณ ฉันคิดว่าวิธีที่ง่ายที่สุดคือการใช้ PROC EXPAND และตามที่ระบุในความคิดเห็นของ John สิ่งสำคัญคือต้องจำเกี่ยวกับค่าที่ขาดหายไปและเกี่ยวกับการเริ่มต้นและสิ้นสุดการสังเกตด้วยเช่นกันฉันได้เพิ่มตัวเลือก SETMISS ลงในโค้ดแล้วตามที่คุณได้ระบุไว้ชัดเจน คุณต้องการ zerofy ค่าที่หายไปไม่ละเลยพฤติกรรมเริ่มต้นของ MOVAVE และหากคุณต้องการยกเว้นการสังเกตแรก 4 รายการสำหรับผู้ใช้แต่ละรายเนื่องจากไม่มีข้อมูลก่อนประวัติศาสตร์เพียงพอในการคำนวณค่าเฉลี่ยเคลื่อนที่ 5 คุณสามารถใช้ TRIMLEFT 4 TRANSFORMOUT. answered 3 ธันวาคม 13 ที่ 15 29

No comments:

Post a Comment