في الإحصاء المتوسط المتحرك البسيط هو خوارزمية تحسب المتوسط غير المرجح لعينات n الأخيرة. وعادة ما تسمى المعلمة n بحجم النافذة، لأن الخوارزمية يمكن اعتبارها نافذة تنزلق فوق نقاط البيانات. باستخدام صيغة عودية للخوارزمية، يتم تقليل عدد العمليات المطلوبة لكل عينة إلى إضافة واحدة، وطرح واحد وقسم واحد. منذ صياغة مستقلة عن حجم النافذة ن. التعقيد وقت التشغيل هو (1). أي ثابت. والصيغة العودية للمتوسط المتحرك غير المرجح هي حيث يكون المتوسط المتوسط المتداول ويمثل x نقطة بيانات. لذلك، كلما تنزلق النافذة إلى اليمين، نقطة بيانات واحدة، الذيل، يتسرب ونقطة بيانات واحدة، الرأس، يتحرك. التنفيذ تنفيذ المتوسط المتحرك البسيط يجب أن يأخذ ما يلي في الاعتبار تهيئة الخوارزمية ما دام لم يتم ملء النافذة بالكامل مع القيم، فشل صيغة عودية. التخزين مطلوب الوصول إلى عنصر الذيل، والتي اعتمادا على تنفيذ يتطلب تخزين العناصر ن. يستخدم تطبيقي الصيغة المقدمة عندما يتم ملء النافذة بالكامل بالقيم، ويتحول بطريقة أخرى إلى الصيغة التي تقوم بتحديث الوسط من خلال إعادة حساب مجموع العناصر السابقة. لاحظ أن هذا يمكن أن يؤدي إلى عدم الاستقرار العددي بسبب الحساب العائم نقطة. وفيما يتعلق استهلاك الذاكرة، وتنفيذ يستخدم متكررات لتتبع الرأس والذيل العناصر. وهذا يؤدي إلى تنفيذ مع متطلبات الذاكرة الثابتة مستقلة عن حجم النافذة. هنا هو إجراء التحديث الذي ينزلق النافذة إلى اليمين. في. NET معظم المجموعات إبطال عدادات عند تعديل المجموعة الأساسية. غير أن التنفيذ يعتمد على عدد صحيح من الباحثين. ولا سيما في التطبيقات القائمة على التدفق، تحتاج المجموعة الأساسية إلى تعديلها عند وصول عنصر جديد. طريقة واحدة للتعامل مع ذلك هو إنشاء بسيطة حجم دائري حجم ثابت من حجم N1 أن يبطل أبدا تكراراتها وإضافة عنصر بالتناوب واستدعاء التحول. أتمنى أن أستطيع معرفة كيفية تنفيذ هذا فعلا، حيث أن وظيفة الاختبار مربكة جدا بالنسبة لي 8230 هل أنا بحاجة لتحويل البيانات إلى صفيف، ثم تشغيل سما سما جديد سما (20، صفيف) لمدة 20 فترة سما كيف يمكنني التعامل مع شيفت () هل من الضروري تنفيذ منشئين. (آسف للارتباك). لا تحتاج don8217t لتحويل البيانات الخاصة بك إلى صفيف طالما البيانات الخاصة بك ينفذ IEnumerable1 ونوع تعداد مزدوج. بقدر ما يتعلق الأمر الرسائل الخاصة بك تحتاج إلى تحويل داتارو إلى شيء أن عدد لا يحصى من القيم المزدوجة. نهجك يعمل. شيفت، الشرائح نافذة موقف واحد إلى اليسار. لمجموعة البيانات من 40 القيم ويقول 20 سما فترة لديك 21 مواقف نافذة يناسب في (40 8211 20 1). في كل مرة تقوم فيها باستدعاء شيفت () يتم نقل الإطار إلى اليسار بموقف واحد، ويقوم متوسط () بإرجاع سما لموقف النافذة الحالي. وهذا يعني، المتوسط غير المرجح لجميع القيم داخل النافذة. بالإضافة إلى ذلك بلدي التنفيذ يسمح لحساب سما حتى لو لم يتم ملء نافذة بالكامل في البداية. لذلك في جوهر نأمل أن يساعد هذا. أي أسئلة أخرى حقوق النشر إشعار كريستوف هيندل و cheind. wordpress، 2009-2012. ممنوع الاستخدام غير المصرح به أندور الازدواجية من هذه المادة دون إذن صريح وخطي من هذه بلوق المؤلف صاحب أندور ممنوع منعا باتا. ويمكن استخدام مقتطفات وروابط، شريطة أن يتم إعطاء الائتمان الكامل والواضح لكريستوف هيندل و cheind. wordpress مع الاتجاه المناسب والمحدد للمحتوى الأصلي. المشاركات الأخيرةأداء هذا الرمز أمر بالغ الأهمية، ثم قد يكون من المنطقي لتجنب تخصيصات كومة ل شمعة. وأعتقد أن الطريقة الأكثر معقولية للقيام بذلك من شأنه أن يجعل شمعة في هيكل. على الرغم من أن القيم قيمة قابلة للتبديل هي الشر. لذلك أود أيضا ريفاكتور شمعة لتكون غير قابلة للتغيير. وهذا يعني أيضا أن تنفيذ نيوسكاندل يجب أن تتغير، وربما إلى زوج من حقول مزدوجة (أو، بدلا من ذلك، منفصلة قابلة للتبديل وقابلة لإعادة التعيين الطبقة). أنا لا أرى أي مسألة أخرى محتملة الأداء في التعليمات البرمجية. ولكن عندما يتعلق الأمر بالأداء، يجب أن تعتمد دائما على التنميط، وليس لديك (أو شخص إلسس) الحدس. أيضا، أنا لا أحب بعض أسماء الطرق الخاصة بك. على وجه التحديد: فالويوداتد. يجب أن تكون أسماء الطريقة عادة في شكل شيء، وليس شيئا حدث. لذلك أعتقد أن اسم أفضل سيكون أوبديتفالو. إضافة. تعديل. هذه هي العمليات الأساسية اثنين من موفينغافيراج وأعتقد أن تلك الأسماء لا تعبر عن معنى جيدا. أود أن أسميها شيء مثل موفاندستكورنت و سيتكورنت. على التوالي. على الرغم من أن هذا التسمية تشير إلى أن العمليات الأساسية يجب بدلا من ذلك أن يكون نقل و سيتكورننت. هل من الممكن لتنفيذ المتوسط المتحرك في C دون الحاجة إلى نافذة من العينات وجدت أنه يمكنني تحسين قليلا، عن طريق اختيار حجم النافذة التي هي قوة من اثنين للسماح لتحويل قليلا بدلا من تقسيم، ولكن لا تحتاج إلى المخزن المؤقت سيكون لطيفا. هل هناك طريقة للتعبير عن نتيجة متوسط متحرك جديد فقط كدالة للنتيجة القديمة والعينة الجديدة حدد مثالا متحركا على سبيل المثال، عبر نافذة مكونة من 4 عينات لتكون: إضافة عينة جديدة ه: يمكن تنفيذ المتوسط المتحرك بشكل متكرر ، ولكن لحساب دقيق للمتوسط المتحرك عليك أن تتذكر أقدم عينة المدخلات في المجموع (أي في المثال الخاص بك). وبالنسبة للمتوسط المتحرك N الذي تحسبه: حيث ين هي إشارة الخرج و شن هي إشارة الدخل. مكافئ. (1) يمكن أن تكون مكتوبة بشكل متكرر كما كنت دائما بحاجة إلى تذكر العينة شن-N من أجل حساب (2). وكما أشار كونراد تيرنر، يمكنك استخدام نافذة أسي طويلة (بلا حدود) بدلا من ذلك، والتي تسمح لك بحساب الإخراج فقط من المخرجات السابقة والإدخال الحالي: ولكن هذا ليس متوسط متحرك (غير مرجح) قياسي ولكن بشكل أضعافا مضاعفة (حيث على الأقل من الناحية النظرية) لا تنسى أبدا أي شيء (الأوزان فقط تحصل على أصغر وأصغر للعينات بعيدة في الماضي). أنا نفذت المتوسط المتحرك دون ذاكرة البند الفردية لبرنامج تتبع غس كتبته. أبدأ مع 1 عينة وتقسيم بنسبة 1 للحصول على متوسط الحالي. ثم قم بإضافة عينة أنوث وتقسيمها 2 إلى المتوسط الحالي. يستمر هذا حتى يصل إلى طول المتوسط. في كل مرة بعد ذلك، أضيف في العينة الجديدة، واحصل على المتوسط وأزل هذا المتوسط من المجموع. أنا لست رياضياتيا ولكن هذا يبدو وكأنه وسيلة جيدة للقيام بذلك. أنا أحسب أنه من شأنه أن يحول المعدة من رجل الرياضيات الحقيقي ولكن، اتضح أنها واحدة من الطرق المقبولة للقيام بذلك. ويعمل بشكل جيد. فقط تذكر أن ارتفاع طول الخاص بك أبطأ هو اتباع ما كنت تريد أن تتبع. وهذا قد لا يهم معظم الوقت ولكن عندما تتبع الأقمار الصناعية، إذا كنت بطيئا، يمكن أن يكون درب بعيدا عن الوضع الفعلي، وسوف تبدو سيئة. هل يمكن أن يكون هناك فجوة بين جلس والنقاط زائدة. اخترت بطول 15 تحديث 6 مرات في الدقيقة الواحدة للحصول على تجانس كافية ولا تحصل بعيدا جدا عن الوضع الفعلي جلس مع نقاط درب ممهدة. أجاب 16 نوفمبر 16 في 23:03 تهيئة العدد الإجمالي 0، count0 (في كل مرة رؤية قيمة جديدة ثم إدخال واحد (سكانف)، واحد إضافة توتالنوفالو، زيادة واحدة (عدد)، واحد معدل الفجوة (توتالكونت) سيكون هذا المتوسط المتحرك أكثر من جميع المدخلات لحساب المتوسط فوق المدخلات الأربعة الأخيرة فقط، يتطلب 4 مدخلات، ربما نسخ كل مدخلات إلى مدخلات قديمة، ثم حساب المتوسط المتحرك الجديد، حيث أن مجموع المدخلات 4، مقسوما على 4 (التحول الصحيح 2 سيكون جيد إذا كانت جميع المدخلات إيجابية لجعل متوسط الحساب أجاب فب 3 15 في 4:06 وهذا في الواقع حساب المتوسط الكلي وليس المتوسط المتحرك. كما يحصل العد أكبر تأثير أي عينة إدخال جديدة تصبح صغيرة تتلاشى نداش هيلمر فبراير 3 15 أت 13:53 يور أنسور 2017 ستاك إكسهانج، إنك
No comments:
Post a Comment