Seite 1 von 1

Visualisierung polynomialer Regressionen

BeitragVerfasst: Di 1. Mär 2022, 17:01
von roalt102
Liebes Forum,

ich ich komme bei einer Sache nicht weiter und habe online nicht wirklich viel gefunden; vielleicht kann mir hier jemand helfen.
Und zwar, habe ich eine Regression zwischen X (0-10), X^2 und Y (0-5000) modelliert - inklusive mehrerer Kontrollvariablen.
Ich würde mir das Ergebnis bzw. die geschätzte Kurve nun gerne graphisch anzeigen lassen (X auf X-Achse und Y auf Y-Achse).
Dazu habe ich die "predicted values" von Y gespeichert (Y_pred). Dann habe ich alle Fälle von X gelöscht, die keinen gültigen Wert bei Y_pred haben, und hatte dann X_gültig.
X_gültig und Y_pred habe ich dann grapisch darstellen lassen.
Allerdings sieht der Graph sehr "abgehackt" aus. Gibt es einen einfacheren Weg - am besten bereits im Regressionsbefehl selbst - diese Variablen graphisch darzustellen?

Außerdem habe ich in einem weiteren Schritt eine Interaktion eingefügt: X (0-10), X^2, Z (0,1) und Z*X auf Y (0-5000). Dort habe ich das Gleiche gemacht und wollte zwei Graphen anzeigen lassen, getrennt nach Z. Der Graph sieht allerdings (aus verschiedenen Gründen) ganz komisch aus. Es wäre perfekt, wenn sich eine Lösug auch hierauf übertragen ließe. Danke.

Hier noch mein Code (verkürzt):

REGRESSION
/var= Y X X^2 Z A B C D E F G
/DESCRIPTIVES=all
/STATISTICS=all
/dep=Y
/method=enter X X^2 Z A B C D E F G
/SAVE=PRED (Y_pred).

compute X_gueltig = X.
if missing (Y_pred) X_gueltig = 999.
Missing values X_gueltig (999).
exe.

GGRAPH
/GRAPHDATASET NAME="Name" VARIABLES=X_gueltig MEAN(Y_pred)[name="MEAN_Y_pred"]
MISSING=LISTWISE REPORTMISSING=NO
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("Name"))
DATA: X_gueltig=col(source(s), name("X_gueltig"), unit.category())
DATA: Y_pred=col(source(s), name("MEAN_Y_pred"))
SCALE: linear(dim(2), include(0))
ELEMENT: line(position(smooth.spline(X_gueltig*MEAN_Y_pred)), missing.wings())
END GPL.

compute Z_gueltig = Z.
if missing (Y_pred) Z_gueltig = 999.
Missing values Z_gueltig (999).
exe.

GGRAPH
/GRAPHDATASET NAME="Name" VARIABLES=X_gueltig MEAN(Y_pred)[name="MEAN_Y_pred"] Z_gueltig
MISSING=LISTWISE REPORTMISSING=NO
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("Name"))
DATA: X_gueltig=col(source(s), name("X_gueltig"), unit.category())
DATA: Y_pred=col(source(s), name("MEAN_Y_pred"))
DATA: Z_gueltig =col(source(s), name("Z_gueltig "), unit.category())
SCALE: linear(dim(2), include(0))
SCALE: cat(aesthetic(aesthetic.color.interior), include("0.00", "1.00"))
ELEMENT: line(position(smooth.spline(X_gueltig*MEAN_Y_pred)), color.interior(Z_gueltig ), missing.wings())
END GPL.

Re: Visualisierung polynominaler Regressionen

BeitragVerfasst: Mi 2. Mär 2022, 06:59
von strukturmarionette
Hi,

- wie sieht komisches und abgehacktes Aussehen aus?

Gruß
S.

Re: Visualisierung polynomialer Regressionen

BeitragVerfasst: Sa 5. Mär 2022, 15:16
von roalt102
Hallo,

ich füge einfach mal zwei Bilder ein. Hier der erste Graph
Effekt.JPG
Erster Graph
Effekt.JPG (38.88 KiB) 1334-mal betrachtet



Beim zweiten (Interaktion) kommt die Form dadurch zustande, dass untere Kategorien sehr schlecht besetzt sind. Deshalb mein Wunsch/Frage, die Graphen direkt im Regressionsbefehl modellieren zu können.
Interaktion.JPG
Interaktionsgraph
Interaktion.JPG (37.66 KiB) 1334-mal betrachtet