كيفية إجراء تحويل box-cox في لغة r (مع أمثلة)


يعد تحويل box-cox طريقة شائعة الاستخدام لتحويل مجموعة بيانات غير موزعة بشكل طبيعي إلى مجموعة موزعة بشكل طبيعي .

الفكرة الأساسية وراء هذه الطريقة هي إيجاد قيمة لـ lect بحيث تكون البيانات المحولة قريبة قدر الإمكان من التوزيع الطبيعي، باستخدام الصيغة التالية:

  • y() = (y – 1) /  إذا y ≠ 0
  • y(lect) = log(y) إذا كانت y = 0

يمكننا إجراء تحويل box-cox في R باستخدام الدالة boxcox() من مكتبة MASS() . يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.

ارجع إلى هذه المقالة من جامعة كونيتيكت للحصول على ملخص لطيف لتطور تحول Box-Cox.

مثال: تحويل Box-Cox في R

يوضح التعليمة البرمجية التالية كيفية ملاءمة نموذج الانحدار الخطي لمجموعة بيانات، ثم استخدم الدالة boxcox() للعثور على lambda الأمثل لتحويل متغير الاستجابة وملاءمة نموذج جديد.

 library (MASS)

#create data
y=c(1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 6, 7, 8)
x=c(7, 7, 8, 3, 2, 4, 4, 6, 6, 7, 5, 3, 3, 5, 8)

#fit linear regression model
model <- lm(y~x)

#find optimal lambda for Box-Cox transformation 
bc <- boxcox(y ~ x)
(lambda <- bc$x[which.max(bc$y)])

[1] -0.4242424

#fit new linear regression model using the Box-Cox transformation
new_model <- lm(((y^lambda-1)/lambda) ~ x)

وتبين أن لامدا الأمثل هو -0.4242424 . وبالتالي، قام نموذج الانحدار الجديد باستبدال متغير الاستجابة الأصلي y بالمتغير y = (y -0.4242424 – 1) / -0.4242424.

يوضح التعليمة البرمجية التالية كيفية إنشاء مخططي QQ في R لتصور الاختلافات في القيم المتبقية بين نموذجي الانحدار:

 #define plotting area
op <- par(pty = "s", mfrow = c(1, 2))

#QQ plot for original model
qqnorm(model$residuals)
qqline(model$residuals)

#QQ plot for Box-Cox transformed model
qqnorm(new_model$residuals)
qqline(new_model$residuals)

#display both QQ plots
by(op)

تم تحويل تضاريس QQ بواسطة Box-Cox في R

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

لاحظ كيف ينتج نموذج Box-cox المتحول مخطط QQ بخط أكثر استقامة من نموذج الانحدار الأصلي.

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

مصادر إضافية

كيفية تحويل البيانات إلى لغة R (السجل، الجذر التربيعي، الجذر التكعيبي)
كيفية إنشاء وتفسير مؤامرة QQ في R
كيفية إجراء اختبار شابيرو ويلك للحياة الطبيعية في R

Add a Comment

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