الأرقام العشوائية: التوليد والاختبار
تعتمد كل محاكاة في هذا المقرر على الأرقام العشوائية. فهي التي قادت جداول المحاكاة وهي التي أعطت أزمنة ما بين الوصول وأزمنة الخدمة في طابور الخادم الواحد. يعرض هذا القسم كيف ينتج الحاسوب هذه الأرقام بمولدين. ويعرض كيف تتحقق ثلاثة اختبارات إحصائية من أن الأرقام تتصرف مثل الأرقام العشوائية الحقيقية: أي أنها موزعة توزيعا منتظما (uniform) على [0, 1] ومستقلة (independent) بعضها عن بعض. ونحل مسائل التمرين 3 الخمس كلها خطوة بخطوة.
الأهداف
- حساب متتالية المولد الضربي (multiplicative generator) وإيجاد دورته (cycle) وطول دورته (period).
- حساب أرقام عشوائية في
[0, 1]باستخدام المولد الخطي المتطابق (linear congruential generator, LCG). - تطبيق اختبار كولموجوروف-سميرنوف (Kolmogorov-Smirnov) للتحقق من أن عينة صغيرة موزعة توزيعا منتظما.
- تطبيق اختبار مربع كاي (chi-square) للتحقق من أن عينة كبيرة موزعة توزيعا منتظما.
- تطبيق اختبار الارتباط الذاتي (autocorrelation) للتحقق من أن الأرقام التي تفصل بينها مسافة ثابتة مستقلة.
- قراءة القيمة الحرجة (critical value) من الجدول الصحيح وإعلان القرار.
1. ما المطلوب من الرقم العشوائي
تحول المحاكاة الأرقام العشوائية إلى أحداث عشوائية: وصول عميل أو زمن خدمة أو طلب. ولكي تكون النتائج صحيحة يجب أن تتوفر في الأرقام خاصيتان:
| الخاصية | المعنى | الاختبار في هذا القسم |
|---|---|---|
| الانتظام (uniformity) | يحصل كل جزء من [0, 1] على نصيبه العادل من الأرقام | كولموجوروف-سميرنوف ومربع كاي |
| الاستقلال (independence) | لا يكشف الرقم شيئا عن الأرقام التي تأتي بعده | الارتباط الذاتي |
تحسب المولدات التالية كل رقم من الرقم الذي قبله. ولذلك تتكرر المتتالية بعد مدة. ويبدأ كل اختبار من فرضية: إما أن الأرقام موزعة توزيعا منتظما وإما أنها مستقلة. ثم إما أن يرفض الاختبار هذه الفرضية وإما ألا يرفضها.
2. توليد الأرقام العشوائية
المولد الضربي
- هي البذرة (seed) وهي القيمة الابتدائية.
- هو المعامل الضربي (multiplier) و هو المقياس (modulus).
x mod mهو باقي قسمةxعلىm. ولذلك تقع كل قيمة بين0وm - 1.
تعتمد كل قيمة على وحدها. فإذا ظهرت قيمة للمرة الثانية فإن المتتالية تتكرر من تلك النقطة: أي أن المولد دخل في دورة (cycling). وعدد القيم في الدورة الواحدة هو طول الدورة (period). والدورة الطويلة أفضل لأن الأرقام تبدأ في التكرار في وقت متأخر.
السؤال 1 (أ): Z0 = 1, a = 11, m = 16
| i | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| 1 | 11 | 9 | 3 | 1 | 11 |
بما أن فإن الدورة هي 1, 11, 9, 3 وطول الدورة m / 4 = 16 / 4 = 4 أرقام.
السؤال 1 (ب): Z0 = 2, a = 11, m = 16
| i | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| 2 | 6 | 2 | 6 |
طول الدورة هنا 2 فقط. قيمتا a وm هما نفسهما في (أ) ولم تتغير إلا البذرة فانخفض طول الدورة من 4 إلى 2. فاختيار البذرة مهم.
السؤال 1 (ج): Z0 = 1, a = 2, m = 13
| i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 4 | 8 | 3 | 6 | 12 | 11 | 9 | 5 | 10 | 7 | 1 |
طول الدورة 12 = m - 1: إذ تظهر كل قيمة من 1 إلى 12 مرة واحدة قبل أن تتكرر المتتالية. وهذه أطول دورة ممكنة عند m = 13 لأن 0 لا يظهر أبدا (فإذا صارت Z = 0 كانت كل القيم بعدها 0 أيضا).
ملاحظة على ورقة التمرين. الجدول في الورقة صحيح لكن سطور الخطوات تتخطى قيمة واحدة: فهي تنتقل من مباشرة إلى
24 mod 13 = 9. والصحيح أن24 mod 13 = 11هي وأن9تأتي بعدها بخطوة واحدة كما يبين الجدول.
السؤال 1 (د): Z0 = 2, a = 3, m = 13
| i | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| 2 | 6 | 5 | 2 |
طول الدورة 3 فقط. فمع المقياس نفسه الذي في (ج) يعطي المعامل الضربي a = 3 دورة قصيرة جدا بينما أعطى a = 2 الدورة الكاملة التي طولها 12.
المولد الخطي المتطابق (LCG)
يضيف المولد الخطي المتطابق ثابتا c يسمى الزيادة (increment) قبل أخذ الباقي:
كل قيمة عدد صحيح من 0 إلى m - 1. وللحصول على رقم عشوائي في [0, 1] نقسم على المقياس:
السؤال 2: X0 = 27, a = 8, c = 47
عند m = 100 يكون الباقي هو آخر خانتين في العدد:
وأول ثلاثة أرقام عشوائية في [0, 1] هي:
ملاحظة على ورقة التمرين. يعطي السؤال
m = 102لكن الحل يحسب بـm = 100. ونحن نتبع الحل. ومعm = 102تكون الأعداد الصحيحة59, 9, 17وتكون الأرقام العشوائية59/102 = 0.578و9/102 = 0.088و17/102 = 0.167.
3. اختبار الانتظام
يستخدم الاختباران فرضية واحدة هي فرضية العدم (null hypothesis) : الأرقام موزعة توزيعا منتظما على [0, 1]. ويحسب كل منهما إحصاءة اختبار (test statistic) من البيانات ثم يقارنها بقيمة حرجة من جدول عند مستوى المعنوية (level of significance) . فإذا كانت الإحصاءة أصغر من القيمة الحرجة لا نرفض .
| الاختبار | الإحصاءة | الجدول |
|---|---|---|
| كولموجوروف-سميرنوف | أكبر مسافة | القيم الحرجة لاختبار KS حسب N و |
| مربع كاي | القيم الحرجة لمربع كاي حسب درجات الحرية و |
اختبار كولموجوروف-سميرنوف
يقارن هذا الاختبار العينة بالتوزيع المنتظم المثالي نقطة بنقطة:
- رتب الأرقام تصاعديا: .
- احسب أكبر مسافة فوق الخط المثالي:
- احسب أكبر مسافة تحته:
- خذ .
- اقرأ المقابلة لـ
Nو من جدول KS. فإذا كان لا نرفض .
السؤال 3: 0.54, 0.73, 0.98, 0.11, 0.68 عند α = 0.05
بعد الترتيب تصبح الأرقام 0.11, 0.54, 0.68, 0.73, 0.98 ويكون N = 5:
| i | ||||
|---|---|---|---|---|
| 1 | 0.11 | 0.20 | 0.09 | 0.11 |
| 2 | 0.54 | 0.40 | -0.14 | 0.34 |
| 3 | 0.68 | 0.60 | -0.08 | 0.28 |
| 4 | 0.73 | 0.80 | 0.07 | 0.13 |
| 5 | 0.98 | 1.00 | 0.02 | 0.18 |
من جدول KS نجد عند N = 5. وبما أن فإننا لا نرفض : أي أن الأرقام تجتاز اختبار الانتظام.
اختبار مربع كاي
- قسم
[0, 1]إلىnمن الفترات المتساوية (class intervals). - احسب وهو العدد المشاهد (observed) من القيم التي تقع في الفترة
i. - احسب العدد المتوقع (expected) لكل فترة: .
- احسب الإحصاءة:
- اقرأ من جدول مربع كاي عند
n - 1من درجات الحرية (degrees of freedom). فإذا كان لا نرفض .
السؤال 4: 100 رقم عند α = 0.05
| 0.34 | 0.90 | 0.25 | 0.89 | 0.87 | 0.44 | 0.12 | 0.21 | 0.46 | 0.67 |
| 0.83 | 0.76 | 0.79 | 0.64 | 0.70 | 0.81 | 0.94 | 0.74 | 0.22 | 0.74 |
| 0.96 | 0.99 | 0.77 | 0.67 | 0.56 | 0.41 | 0.52 | 0.73 | 0.99 | 0.02 |
| 0.47 | 0.30 | 0.17 | 0.82 | 0.56 | 0.05 | 0.45 | 0.31 | 0.78 | 0.05 |
| 0.79 | 0.71 | 0.23 | 0.19 | 0.82 | 0.93 | 0.65 | 0.37 | 0.39 | 0.42 |
| 0.99 | 0.17 | 0.99 | 0.46 | 0.05 | 0.66 | 0.10 | 0.42 | 0.18 | 0.49 |
| 0.37 | 0.51 | 0.54 | 0.01 | 0.81 | 0.28 | 0.69 | 0.34 | 0.75 | 0.49 |
| 0.72 | 0.43 | 0.56 | 0.97 | 0.30 | 0.94 | 0.96 | 0.58 | 0.73 | 0.05 |
| 0.06 | 0.39 | 0.84 | 0.24 | 0.40 | 0.64 | 0.40 | 0.19 | 0.79 | 0.62 |
| 0.18 | 0.26 | 0.97 | 0.88 | 0.64 | 0.47 | 0.60 | 0.11 | 0.29 | 0.78 |
تصنف البيانات في n = 10 فترات: [0, 0.1] و(0.1, 0.2] و(0.2, 0.3] وهكذا حتى (0.9, 1.0]. ومع N = 100 يكون العدد المتوقع في كل فترة قيم.
| الفترة | ||||
|---|---|---|---|---|
| 1: [0, 0.1] | 8 | 10 | -2 | 0.4 |
| 2: (0.1, 0.2] | 8 | 10 | -2 | 0.4 |
| 3: (0.2, 0.3] | 10 | 10 | 0 | 0 |
| 4: (0.3, 0.4] | 9 | 10 | -1 | 0.1 |
| 5: (0.4, 0.5] | 12 | 10 | 2 | 0.4 |
| 6: (0.5, 0.6] | 8 | 10 | -2 | 0.4 |
| 7: (0.6, 0.7] | 10 | 10 | 0 | 0 |
| 8: (0.7, 0.8] | 14 | 10 | 4 | 1.6 |
| 9: (0.8, 0.9] | 10 | 10 | 0 | 0 |
| 10: (0.9, 1.0] | 11 | 10 | 1 | 0.1 |
| المجموع | 100 | 100 | 0 | 3.4 |
نجد القيمة الجدولية في الصف n - 1 = 9 من جدول مربع كاي تحت العمود . وبما أن فإننا لا نرفض وتعد البيانات موزعة توزيعا منتظما.
ملاحظة على ورقة التمرين. تكتب شريحة الاستنتاج . والعلاقة الصحيحة هي (3.4 مقابل 16.9) ولهذا لا نرفض .
4. اختبار الاستقلال: اختبار الارتباط الذاتي
قد تكون الأرقام منتظمة التوزيع ومع ذلك يعتمد بعضها على بعض. ومثال ذلك أن يكون كل رقم خامس صغيرا دائما. ويفحص اختبار الارتباط الذاتي الأرقام التي تفصل بينها مسافة ثابتة:
iهو موقع أول رقم نختبره.mهو الإزاحة (lag) وهي المسافة بين رقمين مختبرين. ولا يعنيmهنا مقياس المولد.Nهو عدد القيم في المتتالية.Mهو أكبر عدد صحيح يبقي آخر رقم مختبر داخل المتتالية:
وتقدير الارتباط الذاتي وانحرافه المعياري (standard deviation) وإحصاءة الاختبار هي:
الفرضية : الأرقام مستقلة. فإذا كان لا نرفض . وعند يكون ولذلك نبحث عن الاحتمال التراكمي 0.975 في جدول التوزيع الطبيعي: .
السؤال 5: الأرقام في المواقع 3, 8, 13, ... عند α = 0.05
| 0.12 | 0.01 | 0.23 | 0.28 | 0.89 | 0.31 | 0.64 | 0.28 | 0.83 | 0.93 |
| 0.99 | 0.15 | 0.33 | 0.35 | 0.91 | 0.41 | 0.60 | 0.27 | 0.75 | 0.88 |
| 0.68 | 0.49 | 0.05 | 0.43 | 0.95 | 0.58 | 0.19 | 0.36 | 0.69 | 0.87 |
يبدأ الاختبار من الرقم الموجود في الموقع 3 فيكون i = 3. ومن الموقع 3 إلى الموقع 8 إزاحة قدرها m = 5. ولدينا N = 30.
الأرقام المختبرة هي = 0.23, 0.28, 0.33, 0.27, 0.05, 0.36 وهي المكتوبة بخط عريض في الجدول أعلاه.
وبما أن فإننا لا نرفض : أي أن الأرقام في المواقع 3, 8, 13, ... تبدو مستقلة.
5. الأخطاء الشائعة
- نسيان القسمة على
m. يعطي المولد الخطي المتطابق أعدادا صحيحة. والرقم العشوائي في[0, 1]هو : ففي السؤال 2 يصبح63هو0.63. - اختبار الأرقام دون ترتيب. يحتاج اختبار KS إلى ترتيب الأرقام تصاعديا أولا. ولو استخدمنا الترتيب الأصلي في السؤال 3 لقوبل العمود
i/Nبالقيم الخطأ. - الخلط بين عمودي KS. تستخدم الفرق وتستخدم الفرق . وكل منهما هو أكبر قيمة في عموده هو. أما القيم السالبة فلا يمكن أن تكون الأكبر.
- درجات حرية خطأ. يقرأ جدول مربع كاي عند
n - 1من درجات الحرية حيثnعدد الفترات وليس عدد القيم: أي9وليس99. - عكس القرار. في الاختبارات الثلاثة كلها تعني الإحصاءة الواقعة داخل الحد الحرج أننا لا نرفض . أما ما يؤدي إلى الرفض فهو قيمة كبيرة لـ أو لـ أو لـ.
- تقريب
Mإلى أعلى.Mهو أكبر عدد صحيح يحقق . ففي السؤال 5 يعطيM ≤ 4.4القيمةM = 4. أماM = 5فتحتاج إلى رقم في الموقع 33.
6. تدريب
حل كل مسألة ثم راجع الإجابات في نهاية هذه الصفحة. استخدم عند N = 5 و و.
- مولد ضربي فيه
Z0 = 3وa = 5وm = 16. احسب القيم حتى تدخل المتتالية في دورة ثم أعط طول الدورة. - مولد خطي متطابق فيه
X0 = 7وa = 21وc = 13وm = 100. احسب أول ثلاثة أرقام عشوائية في[0, 1]. - استخدم اختبار كولموجوروف-سميرنوف عند لفحص انتظام الأرقام
0.44, 0.81, 0.14, 0.05, 0.93. - لدينا خمسون رقما مصنفة في 5 فترات متساوية والأعداد المشاهدة فيها
12, 7, 9, 13, 9. استخدم اختبار مربع كاي عند . - باستخدام الأرقام الـ30 في السؤال 5 اختبر الارتباط الذاتي للأرقام في المواقع 1, 7, 13, ... عند .
أهم النقاط
- يحسب المولد الضربي . والبذرة والمعامل الضربي والمقياس هي التي تحدد طول الدورة.
- يضيف المولد الخطي المتطابق زيادة: . ثم يعطي رقما في
[0, 1]. - كولموجوروف-سميرنوف: رتب ثم احسب و وخذ الأكبر وقارنه بـ.
- مربع كاي: احسب عدد القيم في كل فترة واجمع وقارن بالجدول عند
n - 1من درجات الحرية. - الارتباط الذاتي: أوجد
Mواحسب و و ثم قارن بـ. - في كل اختبار تعني الإحصاءة الواقعة داخل الحد أننا لا نرفض الفرضية.
الإجابات
التدريب 1
نحسب: و و و. وهذه القيمة هي مرة أخرى. فالدورة هي 3, 15, 11, 7 وطولها 4 = m / 4.
التدريب 2
نحسب: و و. فالأرقام العشوائية هي 0.60 و0.73 و0.46.
التدريب 3
| i | ||||
|---|---|---|---|---|
| 1 | 0.05 | 0.20 | 0.15 | 0.05 |
| 2 | 0.14 | 0.40 | 0.26 | -0.06 |
| 3 | 0.44 | 0.60 | 0.16 | 0.04 |
| 4 | 0.81 | 0.80 | -0.01 | 0.21 |
| 5 | 0.93 | 1.00 | 0.07 | 0.13 |
نجد و إذن . وبما أن فإننا لا نرفض : أي أن الأرقام موزعة توزيعا منتظما.
التدريب 4
لدينا . وقيم حدود المجموع هي 0.4, 0.9, 0.1, 0.9, 0.1 ولذلك . وعند n - 1 = 4 من درجات الحرية تكون . وبما أن فإننا لا نرفض .
التدريب 5
لدينا i = 1 وm = 6 وN = 30: والشرط يعطي إذن M = 3. والأرقام المختبرة هي = 0.12, 0.64, 0.33, 0.75, 0.95.
وبما أن فإننا لا نرفض : أي أن هذه الأرقام تبدو مستقلة.