المرجح الحركة من المتوسط التنفيذ


أحاول حساب المتوسط ​​المتحرك لإشارة. يتم تحديث قيمة الإشارة (مزدوجة) في أوقات عشوائية. أنا أبحث عن وسيلة فعالة لحساب متوسط ​​الوقت المرجح على مدى نافذة الوقت، في الوقت الحقيقي. أنا يمكن أن تفعل ذلك بلدي، ولكن أكثر تحديا مما اعتقدت. معظم الموارد إيف وجدت عبر الإنترنت بحساب المتوسط ​​المتحرك للإشارة الدورية، ولكن التحديثات الألغام في وقت عشوائي. لا أحد يعرف موارد جيدة لذلك خدعة هو ما يلي: يمكنك الحصول على التحديثات في أوقات عشوائية عن طريق تحديث الفراغ (وقت إنت، قيمة تعويم). ومع ذلك تحتاج أيضا إلى تتبع أيضا عندما يقع التحديث قبالة نافذة الوقت، لذلك قمت بتعيين إنذار الذي دعا في الوقت N الذي يزيل التحديث السابق من يجري النظر من أي وقت مضى مرة أخرى في الحساب. إذا كان هذا يحدث في الوقت الحقيقي يمكنك طلب نظام التشغيل لإجراء مكالمة إلى طريقة باطلة دروبوفولدستوديت (وقت إنت) ليتم استدعاؤها في الوقت N إذا كان هذا هو محاكاة، لا يمكنك الحصول على مساعدة من نظام التشغيل وتحتاج إلى تفعل ذلك يدويا. في محاكاة يمكنك استدعاء الأساليب مع الوقت الموردة كوسيطة (التي لا ترتبط مع الوقت الحقيقي). غير أن الافتراض المعقول هو أن النداءات مضمونة بحيث تكون الوسيطات الزمنية في ازدياد. في هذه الحالة تحتاج إلى الحفاظ على قائمة فرز من القيم الوقت التنبيه، ولكل تحديث وقراءة المكالمة التي تحقق إذا كان الوسيطة الوقت أكبر من رأس قائمة التنبيه. في حين أنه هو أكبر يمكنك القيام التنبيه المتعلقة معالجة (إسقاط قبالة أقدم تحديث)، وإزالة الرأس والتحقق مرة أخرى حتى يتم معالجة جميع أجهزة الإنذار قبل وقت معين. ثم قم بإجراء مكالمة التحديث. لقد افترضت حتى الآن أنه من الواضح ما سوف تفعله لحساب الفعلي، ولكنني سوف وضع فقط في حالة. افترض أن لديك طريقة تعويم القراءة (وقت إنت) التي تستخدم لقراءة القيم. والهدف من ذلك هو جعل هذه الدعوة فعالة قدر الإمكان. لذلك لا تحسب المتوسط ​​المتحرك في كل مرة تسمى طريقة القراءة. بدلا من ذلك كنت تحسب القيمة كما من التحديث الأخير أو التنبيه الأخير، قرص هذه القيمة من قبل بضع عمليات نقطة العائمة لحساب مرور الوقت منذ التحديث الأخير. (ط عدد ثابت من العمليات باستثناء ربما معالجة قائمة من أجهزة الإنذار مكدسة). نأمل أن يكون هذا واضحا - يجب أن يكون هذا خوارزمية بسيطة جدا وفعالة للغاية. مزيد من التحسين. واحدة من المشاكل المتبقية هو إذا كان عدد كبير من التحديثات يحدث في إطار الوقت، ثم هناك فترة طويلة التي لا توجد يقرأ ولا تحديثات، ومن ثم قراءة أو التحديث يأتي على طول. في هذه الحالة، سوف تكون الخوارزمية أعلاه غير فعالة في تحديث القيمة بشكل متزايد لكل من التحديثات التي تتساقط. هذا ليس ضروريا لأننا نهتم فقط التحديث الأخير وراء نافذة الوقت حتى إذا كان هناك وسيلة لسحب بكفاءة من جميع التحديثات القديمة، فإنه من شأنه أن يساعد. للقيام بذلك، يمكننا تعديل الخوارزمية لإجراء بحث ثنائي من التحديثات للعثور على التحديث الأخير قبل نافذة الوقت. إذا كان هناك عدد قليل نسبيا من التحديثات التي تحتاج إلى إسقاط ثم يمكن للمرء أن تحديث بشكل متزايد قيمة لكل تحديث انخفض. ولكن إذا كان هناك العديد من التحديثات التي تحتاج إلى إسقاط ثم واحد يمكن إعادة حساب القيمة من الصفر بعد إسقاط التحديثات القديمة. التذييل على الحوسبة الإضافية: يجب أن أوضح ما أعنيه بالحساب الإضافي أعلاه في الجملة قرص هذه القيمة من خلال بضع عمليات نقطة العائمة لحساب مرور الوقت منذ التحديث الأخير. الحساب الأولي غير التدريجي: ثم يتكرر على ديلاتيفوبديتس من أجل زيادة الوقت: موفينغفيراج (سوم لاستوبديت تيمسينسلاستوبديت) ويندلنغث. الآن إذا كان التحديث واحد بالضبط يقع قبالة النافذة ولكن لا تصل التحديثات الجديدة، وضبط المبلغ على النحو التالي: (لاحظ أنه هو بريفيوديت الذي له الطابع الزمني تعديلها لبدء آخر بداية النافذة). وإذا كان بالضبط تحديث واحد يدخل النافذة ولكن لا توجد تحديثات جديدة تسقط، وضبط المبلغ على النحو التالي: كما ينبغي أن يكون واضحا، وهذا هو رسم تقريبي ولكن نأمل أنه يبين كيف يمكنك الحفاظ على متوسط ​​مثل ذلك هو O (1) العمليات في التحديث على أساس الاستهلاك. ولكن لاحظ مزيدا من التحسين في الفقرة السابقة. نلاحظ أيضا قضايا الاستقرار المشار إليها في إجابة قديمة، وهو ما يعني أن أخطاء نقطة العائمة قد تتراكم على عدد كبير من هذه العمليات الإضافية بحيث يكون هناك اختلاف عن نتيجة الحساب الكامل الذي له أهمية كبيرة للتطبيق. إذا كان التقريب على ما يرام و ثيريس الحد الأدنى من الوقت بين العينات، يمكنك محاولة فائقة أخذ العينات. يكون مصفوفة تمثل فترات زمنية متباعدة بالتساوي تكون أقصر من الحد الأدنى، وفي كل مرة يتم تخزين أحدث عينة تم استلامها. وكلما اقصر الفاصل الزمني كلما اقترب المتوسط ​​من القيمة الحقيقية. وينبغي ألا تتجاوز الفترة نصف الحد الأدنى أو أن تكون هناك فرصة لفقدان العينة. أجابيد ديك 15 11 في 18:12 أجاب ديك 15 11 في 22:38 ثانكس فور ذي أنسور. أحد التحسينات التي ستكون هناك حاجة إليها في الواقع كوتاكاشيكوت قيمة المتوسط ​​الكلي لذلك نحن don39t حلقة في كل وقت. أيضا، قد يكون نقطة ثانوية، ولكن لن يكون أكثر كفاءة لاستخدام ديك أو قائمة لتخزين القيمة، لأننا نفترض أن التحديث سيأتي في الترتيب الصحيح. سيكون الإدراج أسرع من الخريطة. نداش آرثر ديك 16 11 في 08:55 نعم، هل يمكن أن ذاكرة التخزين المؤقت قيمة المبلغ. اطرح قيم العينات التي تمحوها، أضف قيم العينات التي تقوم بإدراجها. أيضا، نعم، ديكلتبايرلتسامبل، داتغتغ قد تكون أكثر كفاءة. لقد اخترت خريطة للقراءة، وسهولة استدعاء خريطة :: وبربوند. كما هو الحال دائما، كتابة التعليمات البرمجية الصحيحة أولا، ثم الملف الشخصي وقياس التغييرات الإضافية. نداش روب ديك 16 11 في 15:00 ملاحظة: يبدو أن هذا ليس الطريق إلى الاقتراب من هذا. تركها هنا للإشارة إلى ما هو الخطأ في هذا النهج. تحقق من التعليقات. تحديث - استنادا إلى تعليق أوليس. غير متأكد من عدم الاستقرار الذي يتحدث عنه رغم ذلك. استخدام خريطة فرز مرات وصول ضد القيم. عند وصول قيمة إضافة وقت وصول للخريطة فرزها جنبا إلى جنب مع قيمته وتحديث المتوسط ​​المتحرك. تحذير هذا هو الزائفة رمز: هناك. ليس تماما فليشد خارج ولكن تحصل على هذه الفكرة. أشياء يجب أن نلاحظها. كما قلت أعلاه هو رمز الزائفة. ستحتاج إلى اختيار خريطة مناسبة. لا إزالة أزواج كما كنت إيتيرات من خلال كما سوف تبطل التكرار وسيكون لديك للبدء من جديد. انظر تعليق أوليس أدناه أيضا. أجاب ديك 15 11 في 12:22 هذا don39t العمل: فإنه doesn39t تأخذ بعين الاعتبار ما هي نسبة من نافذة طول كل قيمة موجودة ل. أيضا، هذا النهج من إضافة ومن ثم طرح مستقرة فقط لأنواع عدد صحيح، لا يطفو. نداش أوليفر تشارلزورث 15 ديسمبر 11 في 12:29 أوليكارليزورث - آسف فاتني بعض النقاط الرئيسية في الوصف (مزدوجة والوزن المرجح). وسوف أقوم بتحديث. شكر. نداش دينيس ديك 15 11 في 12:33 الوقت الترجيح مشكلة أخرى بعد. ولكن هذا 39 ليس ما I39m الحديث عنه. كنت أشير إلى حقيقة أنه عندما تدخل قيمة جديدة لأول مرة نافذة الوقت، ومساهمتها في المتوسط ​​هو الحد الأدنى. وتستمر مساهمته في الزيادة حتى تدخل قيمة جديدة. نداش أوليفر تشارلزورث 15 ديسمبر 11 في 12: 35net. sourceforge. openforecast. models فئة الوزن الموزعي المتوسطالمتوسط ​​يعتمد نموذج التنبؤ المتوسط ​​المرجح على سلسلة زمنية مشتقة بشكل اصطناعي يتم فيها استبدال القيمة لفترة زمنية معينة بالمتوسط ​​المرجح لتلك القيمة والقيم لبعض الفترات الزمنية السابقة. كما كنت قد خمنت من الوصف، وهذا النموذج هو الأنسب لبيانات سلسلة زمنية أي البيانات التي تتغير مع مرور الوقت. وبما أن قيمة التوقعات لأي فترة معينة هي المتوسط ​​المرجح للفترات السابقة، فإن التنبؤ سيبدو دائما متخلفا عن الزيادة أو النقصان في القيم الملاحظة (المعتمدة). على سبيل المثال، إذا كان لسلسلة البيانات اتجاها تصاعديا ملحوظا، فإن توقعات المتوسط ​​المتحرك المرجح سوف توفر عموما قيمة ناقصة لقيم المتغير التابع. إن نموذج المتوسط ​​المتحرك المرجح، مثل نموذج المتوسط ​​المتحرك، له ميزة على نماذج التنبؤ الأخرى حيث أنه يزيل القمم والأحواض (أو الوديان) في مجموعة من الملاحظات. ومع ذلك، مثل نموذج المتوسط ​​المتحرك، كما أن لديها العديد من العيوب. على وجه الخصوص هذا النموذج لا ينتج معادلة فعلية. ولذلك، فإنه ليس كل ذلك مفيد كأداة متوسطة المدى التنبؤ المدى. لا يمكن إلا أن تستخدم بشكل موثوق للتنبؤ بضع فترات في المستقبل. منذ: 0.4 المؤلف: ستيفن R. جولد الحقول الموروثة من الطبقة net. sourceforge. openforecast. models. AbstractForecastingModel الوزن الموزون أفيراجوديل () بناء نموذج جديد للتنبؤ المتوسط ​​المتحرك المرجح. ويتموفينغ متوسطي (أوزان مزدوجة) يبني نموذج جديد للتنبؤ المتوسط ​​المتحرك المرجح، باستخدام الأوزان المحددة. التنبؤ (دوبل تايمفالو) ترجع قيمة التنبؤ للمتغير التابع للقيمة المعطاة للمتغير الزمني المستقل. جيتفوريكاستيب () إرجاع اسم واحد أو اثنين من اسم هذا النوع من نموذج التنبؤ. جيتنومبيروفريودس () إرجاع العدد الحالي من الفترات المستخدمة في هذا النموذج. جيتنومبيروفبريديكتورس () إرجاع عدد المتنبئات المستخدمة من قبل النموذج الأساسي. مجموعة الأوزان (الأوزان المزدوجة) يحدد الأوزان التي يستخدمها هذا النموذج المرجح للتنبؤ بالمتوسط ​​المتحرك للأوزان المعطاة. توسترينغ () ينبغي تجاوز ذلك لتوفير وصف نصي لنموذج التنبؤ الحالي بما في ذلك، حيثما أمكن، أي معلمات مشتقة مستخدمة. الطرق الموروثة من الطبقة net. sourceforge. openforecast. models. AbstractTimeBasedModel الوزن الموزعي المتوسطي إنشاء نموذج جديد للتنبؤ المتوسط ​​المتحرك المرجح باستخدام الأوزان المحددة. ولكي يتم إنشاء نموذج صالح، يجب استدعاء إينيت وتمرير مجموعة بيانات تحتوي على سلسلة من نقاط البيانات مع تهيئة متغير الوقت لتحديد المتغير المستقل. ويستخدم حجم صفيف الأوزان لتحديد عدد الملاحظات التي ستستخدم لحساب المتوسط ​​المتحرك المرجح. بالإضافة إلى ذلك، سيتم إعطاء الفترة الأخيرة الوزن الذي يحدده العنصر الأول من المصفوفة أي الأوزان 0. كما يستخدم حجم مجموعة الأوزان لتحديد مقدار الفترات المستقبلية التي يمكن التنبؤ بها على نحو فعال. مع المتوسط ​​المتحرك المرجح لمدة 50 يوما، فإننا لا يمكننا بشكل معقول - مع أي درجة من الدقة - توقع أكثر من 50 يوما بعد الفترة الأخيرة التي تتوفر البيانات. حتى التنبؤ بالقرب من نهاية هذا النطاق من المرجح أن تكون غير موثوق بها. ملاحظة حول الأوزان بشكل عام، يجب أن ترتفع الأوزان التي تم تمريرها إلى هذا المنشئ إلى 1.0. ومع ذلك، كراحة، إذا كان مجموع أوزان لا تضيف ما يصل إلى 1.0، وهذا التنفيذ موازين جميع الأوزان نسبيا بحيث أنها لا مجموع إلى 1.0. المعلمات: الأوزان - صفيف من الأوزان لتعيين الملاحظات التاريخية عند حساب المتوسط ​​المتحرك المرجح. ويتدوفينغ أفيراج موديل إنشاء نموذج جديد للتنبؤ المتوسط ​​المتحرك المرجح، باستخدام المتغير المسماة كمتغير مستقل والأوزان المحددة. المعلمات: إنديبندنتفاريابل - اسم المتغير المستقل لاستخدامه في هذا النموذج. أوزان - مجموعة من الأوزان لتعيين الملاحظات التاريخية عند حساب المتوسط ​​المتحرك المرجح. ويتدوفينغ أفيراج موديل إنشاء نموذج جديد للتنبؤ المتوسط ​​المتحرك المرجح. ويهدف هذا المنشئ ليتم استخدامها فقط من قبل الفئات الفرعية (وبالتالي فهي محمية). يجب على أي فئة فرعية تستخدم هذا المنشئ أن تستدعي لاحقا طريقة (الوزن) المحمية (ويتويتس) لتهيئة الأوزان التي سيستخدمها هذا النموذج. ويتدوفينغ أفيراجيموديل بناء نموذج جديد للتنبؤ المتوسط ​​المتحرك المرجح باستخدام المتغير المستقل المعطى. المعلمات: إنديبندنتفاريابل - اسم المتغير المستقل لاستخدامه في هذا النموذج. مجموعة الأوزان تحدد الأوزان التي يستخدمها هذا النموذج المرجح للتنبؤ بالمتوسط ​​المتحرك للأوزان المعطاة. وتهدف هذه الطريقة إلى أن تستخدم فقط من قبل الفئات الفرعية (وبالتالي فهي محمية)، وبالاقتران مع منشئ وسيط واحد (محمي) فقط. يجب أن تقوم أي فئة فرعية باستخدام منشئ وسيطة واحدة باستدعاء أوزان المجموعة قبل استدعاء الأسلوبstractTimeBasedModel. init (net. sourceforge. openforecast. DataSet) لتهيئة النموذج. ملاحظة حول الأوزان بشكل عام، يجب أن تضيف الأوزان التي تم تمريرها إلى هذه الطريقة ما يصل إلى 1.0. ومع ذلك، كراحة، إذا كان مجموع أوزان لا تضيف ما يصل إلى 1.0، وهذا التنفيذ موازين جميع الأوزان نسبيا بحيث أنها لا مجموع إلى 1.0. المعلمات: الأوزان - صفيف من الأوزان لتعيين الملاحظات التاريخية عند حساب المتوسط ​​المتحرك المرجح. لعرض قيمة توقعات المتغير التابع للقيمة المعطاة للمتغير الزمني المستقل. ويجب أن تنفذ الفئات الفرعية هذه الطريقة بطريقة تتسق مع نموذج التنبؤ الذي تنفذه. الفئات الفرعية يمكن الاستفادة من جيتفوريكرافالو وأساليب جيتوبسرفيدفالو للحصول على التوقعات السابقة والملاحظات على التوالي. المحدد من قبل: التنبؤ في الصف أبستراكتيمباسيدموديل معلمات: تيميفالو - قيمة المتغير الزمني الذي مطلوب قيمة التنبؤ. العوائد: قيمة التنبؤ للمتغير التابع للوقت المحدد. رميات: إليغالارجومنتكسيبتيون - إذا كان هناك بيانات تاريخية غير كافية - الملاحظات التي تم تمريرها إلى البداية - لتوليد توقعات للقيمة الزمنية المعطاة. جيتنومبيروفريديكتورس إرجاع عدد من أجهزة التنبؤ المستخدمة من قبل النموذج الأساسي. العوائد: عدد المتنبئات المستخدمة من قبل النموذج الأساسي. جيتنومبيروفريودس إرجاع العدد الحالي من الفترات المستخدمة في هذا النموذج. محدد بواسطة: جيتنومبيروفريودز في الصف أبستراكتيمباسدموديل الإرجاع: العدد الحالي من الفترات المستخدمة في هذا النموذج. جيتفوريكاستيب إرجاع اسم واحد أو اثنين من اسم هذا النوع من نموذج التنبؤ. حافظ على هذا قصير. يجب تنفيذ وصف أطول في أسلوب توسترينغ. وينبغي تجاوز ذلك لتوفير وصف نصي لنموذج التنبؤ الحالي بما في ذلك، حيثما أمكن، أي معلمات مشتقة مستخدمة. محدد بواسطة: توسترينغ في الواجهة التنبؤات تجاوزات: توسترينغ في الصف أبستراكتيمباسيدموديل الإرجاع: تمثيل سلسلة نموذج التنبؤ الحالي، ومعلماته. المتوسط ​​المتحرك المتوسط ​​(إما) الصيغة إما الكلاسيكية هي: على عكس المتوسط ​​المتحرك البسيط. حيث يساوي وزن جميع الحانات السابقة، فإن المتوسط ​​المتحرك الأسي يجعل الشريط الأحدث أكثر أهمية. وزن كل شريط أقدم يقلل من أضعافا مضاعفة. أدناه هو الرسم البياني الوزن ل N 10 (1 هو السعر الحالي، 2 السابقة وهلم جرا): صيغة الوزن هو حيث أنا على مسافة إلى شريط الأخيرة. 0 يعني الأحدث، 1 الشريط السابق وهلم جرا. القيمة الأولى تشير الصيغة إلى القيمة السابقة وليس هناك اتفاق قياسي ما هي القيمة الأولى (الأقدم). تنفيذ مختلف إما: يستخدم السعر الأول (MT4، ماركيتسكوب) أو المتوسط ​​المتحرك البسيط لأسعار N الأولى (ستوكشارتس). في مكان المتوسط ​​المتحرك البسيط يمكن استخدام المتوسط ​​المتحرك الأسي تماما كمتوسط ​​متحرك بسيط. وخاصة في الحالة عندما لا يمكن تجاهل خامل المتوسط ​​المتحرك البسيط. فقط قارن إما (10) و مفا (10) المطبقة على نفس الأسعار: القيود يعتمد المتوسط ​​المتحرك الأسي على قيمه السابقة، لذلك، تعتمد نتيجة مؤشر شريط معين على مقدار البيانات التاريخية التي تم أخذها في الاعتبار. لذلك، في الحالة عندما يتم تحميل المزيد من البيانات التاريخية، قد تختلف قيمة المؤشر عن المحسوبة سابقا. المؤشرات هذه المادة بلغات أخرى

Comments

Popular Posts