كيفية إجراء اختبار شابيرو ويلك في لغة r (مع أمثلة)


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

يعد هذا النوع من الاختبارات مفيدًا لتحديد ما إذا كانت مجموعة بيانات معينة تأتي من التوزيع الطبيعي أم لا، وهو افتراض شائع الاستخدام في العديد من الاختبارات الإحصائية، بما في ذلك الانحدار ، و ANOVA ، واختبارات T ، وغيرها الكثير. ‘آحرون.

يمكننا بسهولة إجراء اختبار Shapiro-Wilk على مجموعة بيانات معينة باستخدام الوظيفة المدمجة التالية في R:

اختبار شابيرو (x)

ذهب:

  • x: متجه رقمي لقيم البيانات.

تنتج هذه الوظيفة إحصائية اختبار W مع قيمة p المقابلة. إذا كانت القيمة p أقل من α = 0.05، فهناك أدلة كافية للقول بأن العينة ليست من مجتمع موزع بشكل طبيعي.

ملاحظة: يجب أن يتراوح حجم العينة بين 3 و5000 لاستخدام الدالة shapiro.test().

يوضح هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الوظيفة.

مثال 1: اختبار شابيرو ويلك على البيانات العادية

يوضح الكود التالي كيفية إجراء اختبار Shapiro-Wilk على مجموعة بيانات بحجم العينة n=100:

 #make this example reproducible
set.seed(0)

#create dataset of 100 random values generated from a normal distribution
data <- rnorm(100)

#perform Shapiro-Wilk test for normality
shapiro.test(data)

	Shapiro-Wilk normality test

data:data
W = 0.98957, p-value = 0.6303

وتبين أن القيمة p للاختبار هي 0.6303 . وبما أن هذه القيمة لا تقل عن 0.05، يمكننا أن نفترض أن بيانات العينة تأتي من مجتمع موزع بشكل طبيعي.

لا ينبغي أن تكون هذه النتيجة مفاجئة لأننا أنشأنا بيانات العينة باستخدام الدالة rnorm()، التي تولد قيمًا عشوائية من التوزيع الطبيعي بمتوسط = 0 وانحراف معياري = 1.

ذات صلة: دليل إلى dnorm وpnorm وqnorm وrnorm في R

يمكننا أيضًا إنتاج رسم بياني للتحقق بصريًا من توزيع بيانات العينة بشكل طبيعي:

 hist(data, col=' steelblue ') 

اختبار شابيرو ويلك للحياة الطبيعية في R

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

مثال 2: اختبار شابيرو ويلك على البيانات غير العادية

يوضح الكود التالي كيفية إجراء اختبار Shapiro-Wilk على مجموعة بيانات بحجم عينة n=100 حيث يتم إنشاء القيم بشكل عشوائي من توزيع Poisson :

 #make this example reproducible
set.seed(0)

#create dataset of 100 random values generated from a Poisson distribution
data <- rpois(n=100, lambda=3)

#perform Shapiro-Wilk test for normality
shapiro.test(data)

	Shapiro-Wilk normality test

data:data
W = 0.94397, p-value = 0.0003393

وتبين أن القيمة p للاختبار هي 0.0003393 . وبما أن هذه القيمة أقل من 0.05، فلدينا أدلة كافية للقول بأن بيانات العينة لا تأتي من مجموعة سكانية موزعة بشكل طبيعي.

لا ينبغي أن تكون هذه النتيجة مفاجئة لأننا أنشأنا بيانات العينة باستخدام الدالة rpois()، التي تولد قيمًا عشوائية من توزيع بواسون.

ذات صلة: دليل إلى dpois وppois وqpois وrpois في R

يمكننا أيضًا إنتاج رسم بياني لنرى بصريًا أن بيانات العينة لا يتم توزيعها بشكل طبيعي:

 hist(data, col=' coral2 ') 

الرسم البياني لاختبار شابيرو ويلك في R

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

ما يجب القيام به مع البيانات غير العادية

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

1. تحويل السجل: تحويل متغير الاستجابة من y إلى log(y) .

2. تحويل الجذر التربيعي: تحويل متغير الاستجابة من y إلى √y .

3. تحويل الجذر التكعيبي: تحويل متغير الاستجابة من y إلى y 1/3 .

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

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

مصادر إضافية

كيفية إجراء اختبار أندرسون-دارلينج في R
كيفية إجراء اختبار Kolmogorov-Smirnov في R
كيفية إجراء اختبار شابيرو ويلك في بايثون

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *