كيفية إجراء اختبار أندرسون-دارلينج في r
اختبار Anderson-Darling هو اختبار مدى جودة الملاءمة الذي يقيس مدى ملاءمة بياناتك لتوزيع محدد. يُستخدم هذا الاختبار غالبًا لتحديد ما إذا كانت بياناتك تتبعالتوزيع الطبيعي أم لا.
يعد هذا النوع من الاختبارات مفيدًا لاختبار الحالة الطبيعية، وهو افتراض شائع الاستخدام في العديد من الاختبارات الإحصائية، بما في ذلك الانحدار، وANOVA، واختبارات T، وغيرها الكثير.
مثال: اختبار أندرسون-دارلينج في R
لإجراء اختبار Anderson-Darling في R، يمكننا استخدام وظيفة ad.test() في المكتبة الشمالية .
يوضح التعليمة البرمجية التالية كيفية إجراء اختبار AD لاختبار ما إذا كان متجه 100 قيمة يتبع التوزيع الطبيعي أم لا:
#install (if not already installed) and load nortest library install.packages('nortest') library(nortest) #make this example reproducible set.seed(1) #defined vector of 100 values that are normally distributed x <- rnorm(100, 0, 1) #conduct Anderson-Darling Test to test for normality ad.test(x) # Anderson-Darling normality test # #data:x #A = 0.16021, p-value = 0.9471
يُرجع هذا الاختبار قيمتين:
ج : إحصائيات الاختبار.
القيمة p : القيمة p المقابلة لإحصائية الاختبار.
الفرضية الصفرية لاختبار AD هي أن البيانات تتبع التوزيع الطبيعي. لذا، إذا كانت القيمة الاحتمالية للاختبار أقل من مستوى الأهمية لدينا (الاختيارات الشائعة هي 0.10 و0.05 و0.01)، فيمكننا عندئذٍ رفض فرضية العدم ونستنتج أن لدينا أدلة كافية للتأكيد على أن بياناتنا لا تتبع مسار طبيعي. توزيع.
في هذه الحالة، القيمة الاحتمالية لدينا هي 0.9471. وبما أن هذا الرقم ليس أقل من مستوى الأهمية لدينا (على سبيل المثال 0.05)، فليس لدينا أدلة كافية لرفض فرضية العدم. من الآمن أن نقول إن بياناتنا تتبع التوزيع الطبيعي، وهو أمر منطقي نظرًا لأننا أنشأنا 100 قيمة تتبع التوزيع الطبيعي بمتوسط 0 وانحراف معياري قدره 1 باستخدام الدالة rnorm() في R.
ذات صلة: دليل إلى dnorm وpnorm وqnorm وrnorm في R
بدلًا من ذلك، لنفترض أننا قمنا بإنشاء متجه من 100 قيمة يتبع توزيعًا موحدًا بين 0 و1. يمكننا إجراء اختبار AD مرة أخرى لمعرفة ما إذا كانت هذه البيانات تتبع التوزيع الطبيعي:
#make this example reproducible set.seed(1) #defined vector of 100 values that are uniformly distributed x <- runif(100, 0, 1) #conduct Anderson-Darling Test to test for normality ad.test(x) # Anderson-Darling normality test # #data:x #A = 1.1472, p-value = 0.005086
إحصائية الاختبار A الخاصة بنا تساوي 1.1472 والقيمة p المقابلة تساوي 0.005086. وبما أن قيمة p لدينا أقل من 0.05، فيمكننا رفض فرضية العدم ونستنتج أن لدينا أدلة كافية لنقول أن هذه البيانات لا تتبع التوزيع الطبيعي. هذه هي النتيجة التي توقعناها لأننا نعلم أن بياناتنا تتبع توزيعًا موحدًا.
إجراء اختبار Anderson-Darling على عمود إطار البيانات في R
يمكننا أيضًا إجراء اختبار AD لعمود محدد من إطار البيانات في R. على سبيل المثال، ضع في اعتبارك مجموعة بيانات القزحية المضمنة:
#view first six lines of iris dataset
head(iris)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
#6 5.4 3.9 1.7 0.4 setosa
لنفترض أننا نريد معرفة ما إذا كان متغير Petal.Width يتم توزيعه بشكل طبيعي. يمكننا أولاً إنشاء رسم بياني لتصور توزيع القيم:
hist(iris$Petal.Width, col = 'steelblue', main = 'Distribution of Petal Widths', xlab = 'Petal Width')
لا يبدو أن البيانات موزعة بشكل طبيعي. لتأكيد ذلك، يمكننا إجراء اختبار AD لاختبار ما إذا كانت البيانات موزعة بشكل طبيعي أم لا:
#conduct Anderson-Darling Test to test for normality
ad.test(iris$Petal.Width)
# Anderson-Darling normality test
#
#data: iris$Petal.Width
#A = 5.1057, p-value = 1.125e-12
القيمة p للاختبار أقل من 0.05، لذلك لدينا أدلة كافية لرفض فرضية العدم ونستنتج أن Petal.Width لا يتبع التوزيع الطبيعي.