Tuesday 9 January 2018

حساب - 3 أشهر الحركة من المتوسط في ساس


لقد قمت بتضمين لقطة شاشة للمساعدة في توضيح مشكلتي: أنا أحاول حساب نوع من المتوسط ​​المتحرك والانحراف المعياري. الشيء هو أنني أريد لحساب معاملات الاختلاف (ستديفافغ) للقيمة الفعلية. عادة يتم ذلك عن طريق حساب ستديف والمتوسط ​​للسنوات ال 5 الماضية. ولكن في بعض الأحيان سوف يكون هناك ملاحظات في قاعدة البيانات الخاصة بي التي ليس لدي معلومات من السنوات ال 5 الماضية (ربما فقط 3، 2 الخ). ثاتس لماذا أريد رمز من شأنها أن حساب متوسط ​​و ستديف حتى لو لم يكن هناك أي معلومات لمدة 5 سنوات كاملة. أيضا، كما ترون في الملاحظات، وأحيانا لدي معلومات على مدى أكثر من 5 سنوات، عندما يكون هذا هو الحال أنا بحاجة إلى نوع من المتوسط ​​المتحرك الذي يسمح لي لحساب متوسط ​​و ستديف على مدى 5 سنوات الماضية. حتى إذا كانت الشركة لديها معلومات لمدة 7 سنوات أنا بحاجة إلى نوع من التعليمات البرمجية التي ستحسب أفغ و ستديف ل، دعونا نقول، 1997 (1991-1996)، 1998 (1992-1997) و 1999 (1993-1998). كما إم غير مألوفة جدا مع ساس الأوامر يجب أن ننظر (تقريبا جدا) مثل: أو شيء من هذا القبيل، ليس لدي أي فكرة، إم ستعمل محاولة الرقم ولكن قيمتها نشره إذا أنا لن تجد ذلك myself. Im ساس المبتدئين و إم غريبة إذا المهمة التالية يمكن القيام به أكثر بساطة كما هو حاليا في رأسي. لدي البيانات الوصفية (المبسطة) التالية في جدول اسمه وسيرداتموني: المستخدم - التاريخ - المال مع مختلف المستخدمين والتواريخ لكل يوم تقويم (على مدى السنوات الأربع الماضية). يتم ترتيب البيانات من قبل المستخدم أسك وتاريخ أسك، تبدو البيانات عينة مثل هذا: أريد الآن لحساب المتوسط ​​المتحرك لمدة خمسة أيام للمال. بدأت مع أباتش شعبية جدا مع الدالة (مثل): مثل كما ترون، تحدث المشكلة مع هذا الأسلوب إذا كان هناك إذا كانت الخطوة البيانات تشغيل مستخدم جديد. سوف أرون الحصول على بعض القيم المتخلفة من آنا التي بالطبع لا ينبغي أن يحدث. الآن سؤالي: أنا متأكد من أنك يمكن التعامل مع مفتاح المستخدم بإضافة بعض الحقول الإضافية مثل لاجدوسر وإعادة تعيين N، سوم ومتوسط ​​المتغيرات إذا لاحظت مثل هذا التبديل ولكن: هل يمكن أن يتم ذلك بطريقة أسهل ربما باستخدام حسب الفقرة بأي شكل من الأشكال شكرا لأفكارك ومساعدة أعتقد أن أسهل طريقة لاستخدام بروك توسيع: وكما ذكر في تعليق جونز، من المهم أن نتذكر حول القيم المفقودة (وبداية ونهاية الملاحظات كذلك). إيف وأضاف الخيار سيتمس إلى التعليمات البرمجية، كما جعلت من الواضح أنك تريد زيروفي القيم المفقودة، لا تجاهلها (السلوك موفاف الافتراضي). وإذا كنت ترغب في استبعاد أول 4 ملاحظات لكل مستخدم (نظرا لأنها لا تملك ما يكفي من التاريخ ما قبل التاريخ لحساب المتوسط ​​المتحرك 5)، يمكنك استخدام الخيار تريمليفت 4 داخل ترانسفورموت (). أفاتار ديك 3 13 في 15: 29 في هذه الوظيفة، وأظهر خدعة للقيام الحساب المتوسط ​​المتوسط ​​(يمكن أن تمتد إلى عمليات أخرى تتطلب وظائف نافذة) التي هي بسرعة فائقة. في كثير من الأحيان، يحتاج محللون ساس لإجراء حساب متوسط ​​متحرك وهناك عدة خيارات حسب ترتيب التفضيل: 1. بروك توسيع 2. داتا ستيب 3. بروك سكل ولكن العديد من المواقع قد لا مرخصة ساسيتس لاستخدام بروك توسيع والقيام المتوسط ​​المتحرك في داتا يتطلب ستيب بعض الترميز وهو عرضة للخطأ. بروك سكل هو خيار طبيعي للمبرمجين المبتدئين وفي العديد من الحالات التجارية الحل الوحيد، ولكن SAS39s بروك سكل يفتقر وظائف النوافذ التي تتوفر في العديد من دبس لتسهيل المتوسط ​​المتحرك الحساب. تقنية واحدة الناس عادة ما تستخدم كروس جوين، وهو مكلفة للغاية وليس حلا قابلا للتطبيق حتى متوسطة الحجم مجموعة البيانات. في هذا المنصب، وأظهر خدعة للقيام حساب المتوسط ​​المتحرك (يمكن أن تمتد إلى عمليات أخرى تتطلب وظائف نافذة) وهذا هو بسرعة فائقة. النظر في أبسط حساب المتوسط ​​المتحرك حيث يتم تضمين الملاحظات K زائدة في الحساب، وهي ما (K)، وهنا نضع K5. نولد أولا 20 عينة من عينات أوبس، حيث يتم استخدام المعرف المتغير للنافذة و X المتغير لاستخدامه في حساب ما، ثم نطبق معيار كروس جوين لدراسة أول البيانات الناتجة، غير مجمعة، فقط لفهم كيفية الاستفادة من بنية البيانات. من مجموعة البيانات الناتجة، فإنه من الصعب العثور على فكرة، والآن let39s الفرز من قبل كوتيدكوت العمود في هذه المجموعة من البيانات: من هذه البيانات المصنفة، فمن الواضح أننا فعلا don39t ديك إلى كروس الانضمام إلى مجموعة البيانات الأصلية بأكملها، ولكن بدلا من ذلك، ونحن يمكن أن تولد مجموعة البيانات كوبراتيونكوت التي تحتوي على قيمة الفرق، والسماح لمجموعة البيانات الأصلية كروس الانضمام مع هذا أصغر بكثير مجموعة البيانات كوبيراتيونكوت، وجميع البيانات التي نحتاج لاستخدامها لحساب ما سيكون هناك. الآن Let39s القيام بذلك: كروس الانضمام إلى البيانات الأصلية مع البيانات كوبراتيونكوت، فرز حسب (a. idops)، الذي هو في الواقع كوتيد 39 في فرز البيانات مجموعة لاحظ أنه في التعليمات البرمجية أعلاه، فمن الضروري أن يكون الفأس مضاعفة من قبل b. weight بحيث البيانات يمكن أن تكون بين الأوراق، وإلا فإن نفس قيمة X من الجدول الأصلي يكون الإخراج وسيتم فشل حساب ما. ويضيف المتغير الوزن الصريح فعلا في مزيد من المرونة لحساب ما كله. في حين وضعه ليكون 1 لجميع النتائج أوبس في حساب ما بسيط، تعيين أوزان مختلفة سوف تساعد على حل أكثر تعقيدا الحوسبة ما، مثل إعطاء مزيد من الملاحظات أقل وزنا ل ما تلاشى. إذا كانت معلمة K مختلفة في حسابات ما (K) مطلوبة، إلا أن مجموعة بيانات التشغيل تحتاج إلى تحديث والتي هي وظيفة تافهة. الآن قالب التعليمات البرمجية الفعلية لحساب ما (K) سيكون: مع هذه الطريقة الجديدة، فمن المثير للاهتمام لمقارنتها إلى باهظة النفس كروس الانضمام فضلا عن بروك توسيع. على محطة العمل الخاصة بي (إنتل i5 و 3.8 غيغاهرتز، ذاكرة 32GB، 1TB 72K هد)، كروس الانضمام الذاتي هو طويل بشكل محظوظ في وقت التشغيل (إذا كانت البيانات كبيرة) في حين أن الطريقة الجديدة يستخدم فقط 2X الكثير من الوقت كما بروك توسيع، كل من استهلاك الوقت تافهة مقارنة مع النفس الصليب الانضمام. استهلاك الوقت هو مبين أدناه في كوتسيكوندكوت. أدناه يمكن للقراء رمز تشغيل ومقارنة أنفسكم. نشر 10 مايو 2015 من قبل ليانغ زي ساس برمجة لتعدين البيانات

No comments:

Post a Comment