سؤال

هل هناك أي طريقة لإنشاء مجموعة من الأرقام الموجبة بشكل عشوائي بحيث يكون لها المتوسط ​​المطلوب والانحراف المعياري؟

لدي خوارزمية لتوليد أرقام بتوزيع غاوسي، لكني لا أعرف كيفية التعامل مع الأرقام السالبة بطريقة تحافظ على المتوسط ​​والانحراف المعياري.
يبدو أن توزيع بواسون قد يكون تقريبيًا جيدًا، ولكنه يأخذ متوسطًا فقط.

يحرر:هناك بعض الالتباس في الردود لذا سأحاول التوضيح.

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

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

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

المحلول

ربما كنت تبحث عن التوزيع اللوغاريتمي الطبيعي، كما اقترح ديفيد نورمان، أو ربما متسارع, ذات الحدين, أو أي توزيع آخر.إذا كانت لديك خوارزمية لإنشاء توزيع واحد، فمن المحتمل أنها ليست جيدة لتوليد أرقام تتوافق مع توزيع آخر.لكنك وحدك تعرف كيف يتم توزيع أرقامك حقًا.

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

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

في أسوأ الحالات، يمكنك إنشاء رقم حقيقي عشوائي بين 0 و1 وحساب دالة الكثافة الاحتمالية بنفسك.(اعتمادًا على التوزيع، قد يكون قول ذلك أسهل بكثير من فعله).

نصائح أخرى

أولاً، لا يمكنك إنشاء قيم موجبة فقط من توزيع غاوسي.

ثانيا، هل أفهم بشكل صحيح أنك تحاول إنشاء توزيع عشوائي بمتوسط ​​وانحراف معياري معين؟هل سيفعل أي توزيع؟إذا كان الأمر كذلك، دعني = m والانحراف المعياري= s.أنا أفترض ذلك m - s > 0.

let n = random integer modulo 2;
if n equals 0 return m - s
else return m + s

القيم التي يتم إرجاعها بواسطة هذه العملية سيكون لها متوسط m والانحراف المعياري s.

يمكنك استخدام أ سجل عادي توزيع.

لماذا لا تستخدم طريقة إعادة التشكيل؟اذا كنت تمتلك ن الأرقام في العينة الخاصة بك، فقط خذ ن سحب عشوائي من العينة مع الاستبدال.ستتوقع المجموعة الناتجة متوسطًا وتباينًا مماثلًا تقريبًا للعينة الأصلية، ولكنها عادةً ما تكون مختلفة قليلًا.

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

لم أستطع المقاومة - تعجبني حقًا زاوية جيسون ولكني لم أكن سعيدًا لأن إجابته تغطي فقط الحالات التي يكون فيها m > s، لذلك توصلت إلى حل عام وفقًا لفكرته.
التوزيع الأكثر بساطة مع m،s وشروط إيجابية هو

مع احتمال ص، العودة 0
مع الاحتمال (1-ع)، العودة م / (1-ع)
حيث (1-ع) = م^2 / (م^2 + ق^2)

دليل:لتوزيع X ذو نتيجتين lowX مع احتمالية p وHighX مع احتمالية (1-p)،
m = E[X] = p x lowX + (1-p) x HighX
s^2 = التباين(X) = E[X^2] - E[X]^2 = p x lowX^2 + (1-p) x HighX^2 - m^2

اضبط lowX على 0 وحلها في HighX وp.

يمكنك استخدام أي توزيع يتمتع بدعم إيجابي ويمكن تحديده بالمتوسط ​​والتباين.على سبيل المثال،

  • لن تعمل التوزيعات ذات المعلمة الواحدة بشكل عام.على سبيل المثال، لن يعمل مربع كاي إلا إذا كان تباينك دائمًا ضعف متوسطه.وبالمثل لن يعمل الأسي إلا إذا كان التباين يساوي متوسطك التربيعي.
  • لن تعمل بعض التوزيعات ذات المعلمتين في بعض الحالات.لن يعمل التوزيع ذو الحدين إلا إذا كان التباين أقل من المتوسط.وبالمثل، فإن مربع كاي غير المركزي لن يعمل إلا إذا كان تباينك أكبر من ضعفي وسطك وأقل من 4 أضعاف وسطك!
  • ومع ذلك، فإن السجل العادي وغاما سيعملان في جميع الحالات.

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

مربع كاي: http://en.wikipedia.org/wiki/Chi-square_distribution(وهو مجرد مجموع اثنين من الجاوسيين المربعين)

جميع التوزيعات غير المتماثلة (الأسي، ويبول، باريتو، معكوس غاوسي، لوغاريتم عادي، غاما)

جميع التوزيعات من عائلة الانحراف (انحراف عادي، انحراف طالب،...)

جميع الوظائف المذكورة أعلاه تجعل أي رقم عشوائي يتم سحبه من أي منها سيكون دائمًا موجبًا.

ما هيك الذي تتحدث عنه أيها المهرجون؟المعيار الطبيعي له متوسط ​​صفر، ولكن هذه حالة خاصة للتوزيع الغاوسي، الذي يحتوي على متوسط ​​المعلمات والانحراف المعياري.مع زيادة المتوسط، مع بقاء sd ثابتًا، فإن احتمالية توليد أي أرقام أقل من الصفر تتضاءل إلى الصفر.يمكنك بالتأكيد الحصول على توزيع غاوسي بدون أرقام سالبة.

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