আমার মতে, আপনি যে মডেলটি বর্ণনা করেছেন সেগুলি চক্রান্ত করার জন্য নিজেকে ঘৃণা করে না, কারণ প্লটগুলি যখন অন্যথায় বোঝা শক্ত যে জটিল তথ্য প্রদর্শন করে তখন সর্বোত্তমভাবে কাজ করে (যেমন জটিল ইন্টারঅ্যাকশন)। তবে, আপনি যদি নিজের মডেলটিতে সম্পর্কের একটি প্লট প্রদর্শন করতে চান তবে আপনার দুটি প্রধান বিকল্প রয়েছে:
- কাঁচা ডেটাপয়েন্টগুলির একটি ছড়িয়ে ছিটিয়ে থাকা আপনার আগ্রহের প্রতিটি ভবিষ্যদ্বাণী এবং আপনার ফলাফলের মধ্যে দ্বিবিভক্ত সম্পর্কের প্লটগুলির একটি সিরিজ প্রদর্শন করুন। আপনার লাইনের চারপাশে প্লট ত্রুটি খামগুলি।
- বিকল্প 1 টি থেকে প্লটটি প্রদর্শন করুন, তবে কাঁচা ডেটাপয়েন্টগুলি দেখানোর পরিবর্তে প্রান্তিক হয়ে আপনার অন্যান্য ভবিষ্যদ্বাণীদের সাথে ডেটাপয়েন্টগুলি দেখান (অর্থাত্, অন্যান্য ভবিষ্যদ্বাণীকারীদের অবদান বাদ দিয়ে)
বিকল্প 1 এর সুবিধাটি হ'ল এটি দর্শকদের কাঁচা ডেটার মধ্যে বিক্ষিপ্ত মূল্যায়ন করতে দেয়। বিকল্প 2 এর সুবিধাটি হ'ল এটি পর্যবেক্ষণ-স্তরের ত্রুটি দেখায় যা ফলস্বরূপ আপনি যে ফোকাল সহগের প্রদর্শন করছেন সেটি স্ট্যান্ডার্ড ত্রুটির ফলস্বরূপ।
আর Prestige
এর car
প্যাকেজে ডেটাসেট থেকে ডেটা ব্যবহার করে আমি নীচে প্রতিটি কোডের আর কোড এবং একটি গ্রাফ অন্তর্ভুক্ত করেছি ।
## Raw data ##
mod <- lm(income ~ education + women, data = Prestige)
summary(mod)
# Create a scatterplot of education against income
plot(Prestige$education, Prestige$income, xlab = "Years of education",
ylab = "Occupational income", bty = "n", pch = 16, col = "grey")
# Create a dataframe representing the values on the predictors for which we
# want predictions
pX <- expand.grid(education = seq(min(Prestige$education), max(Prestige$education), by = .1),
women = mean(Prestige$women))
# Get predicted values
pY <- predict(mod, pX, se.fit = T)
lines(pX$education, pY$fit, lwd = 2) # Prediction line
lines(pX$education, pY$fit - pY$se.fit) # -1 SE
lines(pX$education, pY$fit + pY$se.fit) # +1 SE
## Adjusted (marginalized) data ##
mod <- lm(income ~ education + women, data = Prestige)
summary(mod)
# Calculate the values of income, marginalizing out the effect of percentage women
margin_income <- coef(mod)["(Intercept)"] + coef(mod)["education"] * Prestige$education +
coef(mod)["women"] * mean(Prestige$women) + residuals(mod)
# Create a scatterplot of education against income
plot(Prestige$education, margin_income, xlab = "Years of education",
ylab = "Adjusted income", bty = "n", pch = 16, col = "grey")
# Create a dataframe representing the values on the predictors for which we
# want predictions
pX <- expand.grid(education = seq(min(Prestige$education), max(Prestige$education), by = .1),
women = mean(Prestige$women))
# Get predicted values
pY <- predict(mod, pX, se.fit = T)
lines(pX$education, pY$fit, lwd = 2) # Prediction line
lines(pX$education, pY$fit - pY$se.fit) # -1 SE
lines(pX$education, pY$fit + pY$se.fit) # +1 SE