كيفية التنبؤ بقيمة واحدة باستخدام نموذج الانحدار في r
لملاءمة نموذج الانحدار الخطي في لغة R، يمكننا استخدام الدالة lm() ، والتي تستخدم الصيغة التالية:
model <- lm(y ~ x1 + x2, data=df)
يمكننا بعد ذلك استخدام بناء الجملة التالي لاستخدام النموذج للتنبؤ بقيمة واحدة:
predict(model, newdata = new)
توضح الأمثلة التالية كيفية التنبؤ بقيمة واحدة باستخدام نماذج الانحدار المجهزة في R.
مثال 1: التنبؤ باستخدام نموذج الانحدار الخطي البسيط
يوضح الكود التالي كيفية ملاءمة نموذج الانحدار الخطي البسيط في R:
#create data df <- data. frame (x=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit simple linear regression model model <- lm(y ~ x, data=df)
ويمكننا استخدام الكود التالي للتنبؤ بقيمة الاستجابة لملاحظة جديدة:
#define new observation new <- data. frame (x=c(5)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) 1 25.36364
يتوقع النموذج أن هذه الملاحظة الجديدة سيكون لها قيمة استجابة تبلغ 25.36364 .
مثال 2: التنبؤ باستخدام نموذج الانحدار الخطي المتعدد
يوضح الكود التالي كيفية ملاءمة نموذج الانحدار الخطي المتعدد في R:
#create data df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit multiple linear regression model model <- lm(y ~ x1 + x2, data=df)
ويمكننا استخدام الكود التالي للتنبؤ بقيمة الاستجابة لملاحظة جديدة:
#define new observation new <- data.frame(x1=c(5), x2=c(10)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) 1 26.17073
يتوقع النموذج أن هذه الملاحظة الجديدة سيكون لها قيمة استجابة تبلغ 26.17073 .
الأخطاء المحتملة عند التنبؤ بالقيم الجديدة
الخطأ الأكثر شيوعًا الذي قد تواجهه عند محاولة التنبؤ بقيمة جديدة هو عندما لا تحتوي مجموعة البيانات التي استخدمتها لملاءمة نموذج الانحدار على نفس أسماء الأعمدة مثل الملاحظة الجديدة التي تحاول التنبؤ بها .
على سبيل المثال، لنفترض أننا نلائم نموذج الانحدار الخطي المتعدد التالي في R:
#createdata df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit multiple linear regression model model <- lm(y ~ x1 + x2, data=df)
بعد ذلك، لنفترض أننا نحاول استخدام النموذج للتنبؤ بقيمة الاستجابة لهذه الملاحظة الجديدة:
#define new observation new <- data.frame(x_1=c(5), x_2=c(10)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) Error in eval(predvars, data, env): object 'x1' not found
لقد تلقينا خطأ لأن أسماء أعمدة الملاحظة الجديدة (x_1، x_2) لا تتطابق مع أسماء أعمدة إطار البيانات الأصلي (x1، x2) الذي استخدمناه لملاءمة نموذج الانحدار.
مصادر إضافية
كيفية إجراء الانحدار الخطي البسيط في R
كيفية إجراء الانحدار الخطي المتعدد في R
كيفية إنشاء قطعة أرض متبقية في R