سؤال

لدي نوع القيمة التي تمثل توزيع جاوس:

struct Gauss {
    double mean;
    double variance;
}

أود أن أداء متكامل عبر سلسلة من هذه القيم:

Gauss eulerIntegrate(double dt, Gauss iv, Gauss[] values) {
    Gauss r = iv;
    foreach (Gauss v in values) {
        r += v*dt;
    }
    return r;
}

سؤالي هو كيفية تنفيذ ذلك لهذه العادي التوزيعات.

الضرب عن طريق العددية (dt) يبدو بسيطا بما فيه الكفاية.ولكن لم يكن الأمر سهلا!شكرا FOOSHNICK للمساعدة:

public static Gauss operator * (Gauss g, double d) {
    return new Gauss(g.mean * d, g.variance * d * d);
}

ومع ذلك, بالإضافة يتملص لي.أعتقد أنا يمكن فقط إضافة الوسائل ؛ إنه الفرق التي تسبب لي المتاعب.أي من هذه التعاريف يبدو "منطقيا" لي.

public static Gauss operator + (Gauss a, Gauss b) {
    double mean = a.mean + b.mean;
    // Is it this? (Yes, it is!)
    return new Gauss(mean, a.variance + b.variance);        
    // Or this? (nope)
    //return new Gauss(mean, Math.Max(a.variance, b.variance));
    // Or how about this? (nope)
    //return new Gauss(mean, (a.variance + b.variance)/2);
}

يمكن لأي شخص أن تساعد في تحديد إحصائيا الصحيح - أو على الأقل "معقول" - نسخة من + المشغل ؟

أعتقد أنه بإمكاني تبديل رمز لاستخدام الفاصل الحساب بدلا من ذلك, ولكن كنت اتمنى ان ابقى في عالم مشكله و الإحصائيات.

هل كانت مفيدة؟

المحلول

ومبلغ اثنين من التوزيع الطبيعي هو في حد ذاته التوزيع الطبيعي:

N (mean1، variance1) + N (mean2، variance2) ~ N (mean1 + mean2، variance1 + variance2)

وهذا كله على ويكيبيديا الصفحة.

ويجب الحرص على أن هذه هي حقا الفروق وليس الانحرافات المعيارية.

// X + Y
public static Gauss operator + (Gauss a, Gauss b) {
    //NOTE: this is valid if X,Y are independent normal random variables
    return new Gauss(a.mean + b.mean, a.variance + b.variance);
}

// X*b
public static Gauss operator * (Gauss a, double b) {
    return new Gauss(a.mean*b, a.variance*b*b);
}

نصائح أخرى

لنكون أكثر دقة:

إذا كان متغير عشوائي Z هو تعريف الخطية مزيج من اثنين من غير مترابطة جاوس عشوائية المتغيرات X و Y, Z ثم هو في حد ذاته جاوس متغير عشوائي ، على سبيل المثال:

إذا كان Z = aX + ، ثم يعني(Z) = a * يعني(X) + b * يعني(Y) والتباين(Z) = a2 * الفرق(X) + b2 * الفرق(ص).

إذا كانت المتغيرات العشوائية هي يرتبط, ثم لديك حساب ذلك.الفرق(X) يتم تعريف القيمة المتوقعة هـ([X-يعني(X)]2).العمل هذا من خلال Z = aX + bY, نحصل على:

الفرق(Z) = a2 * الفرق(X) + b2 * الفرق(Y) + 2ab * التغاير(X,Y)

إذا كنت جمع اثنين غير مترابطة المتغيرات العشوائية التي لا تملك التوزيعات جاوس ، ثم توزيع المبلغ هو الإلتواء اثنين مكون التوزيعات.

إذا كنت جمع اثنين ارتباطا غير جاوس المتغيرات العشوائية ، عليك أن تعمل من خلال المناسبة integrals نفسك.

وحسنا والضرب من قبل العددية خطأ - يجب مضاعفة التباين على مربع د. إذا كنت تقوم بإضافة ثابت، ثم مجرد إضافته إلى المتوسط، التباين يبقى على حاله. إذا كنت تقوم بإضافة اثنين من التوزيعات، ثم إضافة وسائل وإضافة الفروق.

<اقتباس فقرة>   

ويمكن لأي شخص أن يساعد تحديد الصحيح إحصائيا - أو على الأقل "معقول؟" - نسخة من مشغل +

ويمكن القول ليس كما مشيرا الى ان اثنين توزيعات يعني أشياء مختلفة - بعد أن عملت في الاعتمادية وmaintainablity أول رد فعل من العنوان سيكون توزيع MTBF نظام، إذا تم توزيع MTBF كل جزء بشكل طبيعي وكان النظام لا التكرار . كنت تتحدث عن توزيع مبلغ اثنين variates مستقلة توزع عادة، وليس (المنطقي) مجموع تأثير اثنين من التوزيع الطبيعي. في كثير من الأحيان، المشغل الحمولة الزائدة لديها دلالات مثيرة للدهشة. فما استقاموا لكم فاستقيموا ترك الأمر بوصفها وظيفة والذي يطلق عليه "normalSumDistribution" ما لم التعليمات البرمجية تستهدف جمهورا محددا للغاية.

وهاه، وأنا أعتقد أنك لا يمكن أن تضيف توزيعات متعلق بالغاوس معا، ولكن يمكنك!

http://mathworld.wolfram.com/NormalSumDistribution.html

في الواقع، يعني هو مجموع التوزيعات الفردية، والفرق هو مجموع التوزيعات الفردية.

ولست متأكدا من أنني أحب ما كنت تدعو "التكامل" على سلسلة من القيم. هل تعني هذه الكلمة بمعنى حساب التفاضل والتكامل؟ هل تحاول أن تفعل التكامل العددي؟ وهناك غيرها، أفضل الطرق للقيام بذلك. لك لا تبدو الحق بالنسبة لي، ناهيك الأمثل.

وتوزيع جاوس هو لطيف، وظيفة على نحو سلس. أعتقد أن نهج التربيع لطيفة أو رونج كوتا تكون فكرة أفضل بكثير.

ظننت أن ذلك يعتمد على نوع من ذلك تقومون به.إذا كنت ترغب فقط في الحصول على التوزيع الطبيعي مع خصائص (يعني الانحراف المعياري.... الخ) يساوي مجموع اثنين من توزيعات ثم إضافة خصائص معينة في إجابات أخرى على ما يرام.هذا هو الافتراض المستخدمة في شيء مثل بيرت حيث إن عددا كبيرا من الطبيعي التوزيعات الاحتمالية تضاف ثم ينتج عن التوزيع الاحتمالي هو آخر العادية توزيع الاحتمالات.

المشكلة تأتي عندما اثنين من التوزيعات التي تضاف ليست مماثلة.خذ على سبيل المثال إضافة التوزيع الاحتمالي مع متوسط 2 و الانحراف المعياري 1 و احتمال توزيع 10 مع انحراف معياري 2.إذا قمت بإضافة هذين التوزيعات حتى تحصل على التوزيع الاحتمالي مع اثنين من قمم أحد في 2ish واحد في 10ish.والنتيجة لذلك لا عادي distibution.افتراض حول إضافة توزيعات هو فقط حقا صحيحا إذا الأصلي توزيعات إما مشابهة جدا أو لديك الكثير من التوزيعات الأصلية بحيث قمم وقيعان يمكن أن توظف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top