Najlepszy sposób wizualnego przedstawienia relacji z wielu modeli liniowych


15

Mam model liniowy z około 6 predyktorami i zamierzam prezentować szacunki, wartości F, wartości p itd. Zastanawiałem się jednak, jaki byłby najlepszy wykres wizualny reprezentujący indywidualny wpływ pojedynczego predyktora na zmienna odpowiedzi? Wykres punktowy? Fabuła warunkowa? Fabuła efektów? itp? Jak interpretowałbym ten wątek?

Będę robił to w R, więc możesz podać przykłady, jeśli możesz.

EDYCJA: Jestem przede wszystkim zainteresowany przedstawieniem związku między dowolnym predyktorem a zmienną odpowiedzi.


Czy masz warunki interakcji? Fabułowanie byłoby znacznie trudniejsze, jeśli je masz.
Hotaka

Nie, tylko 6 zmiennych ciągłych
AMathew

Masz już sześć współczynników regresji, po jednym dla każdego predyktora, które prawdopodobnie zostaną przedstawione w formie tabelarycznej, jaki jest powód powtórzenia tego samego punktu ponownie na wykresie?
Penguin_Knight

3
W przypadku odbiorców nietechnicznych wolę pokazać im wykres niż mówić o szacunkach lub o sposobie obliczania współczynników.
AMathew

2
@ Tony, rozumiem. Być może te dwie strony internetowe mogą dać ci inspirację: użycie pakietu R visreg i wykresu paska błędów do wizualizacji modeli regresji.
Penguin_Knight

Odpowiedzi:


12

Moim zdaniem model, który opisałeś, tak naprawdę nie nadaje się do kreślenia, ponieważ wykresy działają najlepiej, gdy wyświetlają złożone informacje, które trudno zrozumieć inaczej (np. Złożone interakcje). Jeśli jednak chcesz wyświetlić wykres relacji w swoim modelu, masz dwie główne opcje:

  1. Wyświetl serię wykresów dwuwymiarowych relacji między każdym z twoich predyktorów zainteresowania i wyniku, z wykreślnym wykresem surowych punktów danych. Drukuj koperty błędów wokół linii.
  2. Wyświetl wykres z opcji 1, ale zamiast pokazywać nieprzetworzone punkty danych, pokaż punkty danych z innymi zminimalizowanymi innymi predyktorami (tj. Po odjęciu wkładu innych predyktorów)

Zaletą opcji 1 jest to, że pozwala widzowi ocenić rozproszenie w surowych danych. Zaletą opcji 2 jest to, że pokazuje błąd na poziomie obserwacji, który faktycznie spowodował błąd standardowy wyświetlanego współczynnika ogniskowej.

Poniżej umieściłem kod R i wykres każdej opcji, używając danych z Prestigezestawu danych w carpakiecie w języku R.

## 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

Wykres za pomocą surowych punktów danych

## 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

Skorygowane dane

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.