Benim düşünceme göre, tanımladığınız model, çizimleri tam olarak ödünç vermez, çünkü grafikler, aksi takdirde anlaşılması zor karmaşık bilgileri (ör., Karmaşık etkileşimler) gösterdiklerinde en iyi şekilde çalışırlar. Ancak, modelinizdeki ilişkilerin bir grafiğini görüntülemek istiyorsanız, iki ana seçeneğiniz vardır:
- Ham veri noktalarının bir dağılım grafiğiyle, her bir ilgili belirleyiciniz ve sonucunuz arasındaki iki değişkenli ilişkilerin bir dizi grafiğini görüntüleyin. Hata zarflarını satırlarınızın çevresine çizin.
- Seçenek 1'deki grafiği görüntüleyin, ancak ham veri noktalarını göstermek yerine, veri noktalarını marjinal hale getirilmiş diğer öngörücülerinizle gösterin (yani, diğer tahmincilerin katkılarını çıkardıktan sonra)
Seçenek 1'in yararı, izleyicinin ham verilerdeki saçılımı değerlendirmesine izin vermesidir. Seçenek 2'nin yararı, görüntülemekte olduğunuz odak katsayısının standart hatasıyla sonuçlanan gözlem düzeyi hatasını göstermesidir.
R kodunu ve R'deki paketteki Prestige
veri kümesinden verileri kullanarak aşağıdaki her seçeneğin bir grafiğini ekledim.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