y-Achse verschieben

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

ga84pew

y-Achse verschieben

Beitrag von ga84pew »

Hallo zusammmen,
ich möchte in meinem Model über eine lineare Regression mit logaristischer Transformation den y-Wert nicht gegen Null gehen lassen, sondern gegen einen anderen y-Wert oder z.B. 5% vom mean. Auch soll die x-Achse dann nicht bei 0 die y-Achse schneiden, sondern bei dem entsprechenden y-Wert. Kann mit jemand bei der Findung des Befehls oder der Funktion für diese Aufgabe helfen?
Besten Dank
Jakob
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: y-Achse verschieben

Beitrag von jogo »

Hallo Jakob,

willkommen im Forum!
Kannst Du uns bitte ein reproduzierbares Beispiel geben? im Sinne von viewtopic.php?f=20&t=11
Was hast Du bisher unternommen? Was passt an den bisherigen Ergebnissen nicht?

Dass man ein lineares Modell mit lm() schätzt und die Funktion log() den natürlichen Logarithmus berechnet, sollte Dir bekannt sein, oder?

Gruß, Jörg
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: y-Achse verschieben

Beitrag von consuli »

Poste mal einen Plot Deiner Werte und dann sag uns, wo Deine (logarithmische/ exponentielle) Ausgleichsgerade liegen soll.

Der Ursprung des Koordinatensystems ist immer bei (0; 0).

Consuli
Irmgard.
ga84pew

Re: y-Achse verschieben

Beitrag von ga84pew »

Danke für die schnellen Antworten! Hier ein Beispiel mit Plot:

Code: Alles auswählen

x <- c(100,250,450,700)
y <- c(5500,5300,3500,2000)
model <- lm(log(y)~x)
summary(model)
par(mfrow=c(2,2))
plot(model)
par(mfrow=c(1,1))
plot(y~x)
plot(x,y,type="n",ylab = "y", xlab = "x",ylim = c(0,6000),xlim = c(0,3000))
points(x,y)
smoothx<-seq(0,3000,0.1)
smoothy<-predict(model, list(x=smoothx))
smoothy_back<-exp(smoothy)
lines(smoothx, smoothy_back,lty = 2)
Ich würde jetzt y-Werte, die zum Beispiel kleiner als 100 sind oder bestenfalls anteilig von den y-Werten ignorieren (z.B. 5% vom mean oder des größten Wertes) ignorieren. Sozusagen die y-Achse nach oben verschieben.
Dateianhänge
Rplot.jpeg
Zuletzt geändert von jogo am So Okt 14, 2018 11:57 am, insgesamt 1-mal geändert.
Grund: wieder mal die Formattierung von Code
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: y-Achse verschieben

Beitrag von Athomas »

Ich würde jetzt y-Werte, die zum Beispiel kleiner als 100 sind oder bestenfalls anteilig von den y-Werten ignorieren (z.B. 5% vom mean oder des größten Wertes) ignorieren. Sozusagen die y-Achse nach oben verschieben.
Du redest in Rätseln :shock: !
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: y-Achse verschieben

Beitrag von consuli »

Athomas hat geschrieben: Sa Okt 13, 2018 11:20 am Du redest in Rätseln :shock: !
Allerdings.

Insbesondere weil das m.E. richtige Vorgehen darin besteht, dem Regressionsmodell von vornherein eine Variabilität betreffend y-Achsenabschnitt mit zu geben, und nicht nachträglich ein bereits gefittetes Modell durch Zensieren (Rausstreichen) einiger Beobachtungen auf das gewünschte zu bringen.

Consuli
Irmgard.
ga84pew

Re: y-Achse verschieben

Beitrag von ga84pew »

Hm, anders ausgedruckt: wenn ich zu dem Model die Vorhersage (predict) mache und für irgendein x y= 50 rauskommen würde, ich aber will, dass dieser Wert als 0 angezeigt wird, da er kleiner als 100 ist. Heißt alle Ergenisse kleiner 100 gleich 0 sind. Gibt es dafür keinen Befehl?
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: y-Achse verschieben

Beitrag von consuli »

Nochmal. Statistische Modelle arbeiten so nicht, dass man etwas manipuliert, um ein gewünschtes Ergebnis zu erhalten.

Und in Deinem Fall funktioniert die Manipulation auch gar nicht, weil Du die richtigen Manipulationsparameter erst dann kennst, wenn das Modell gerechnet hat.

Du musst also zusätzliche Parameter y-Achsenabschnitt und x-Achsenabschnitt in die Formel

lm(log(y)~x)

packen, und das ganze dann vermutlich mit einem nicht-linearen Model fitten.

Außerdem scheint der von Dir gezeichnete Graph nicht zu Formel lm(log(y)~x) zu passen.

Consuli
Irmgard.
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: y-Achse verschieben

Beitrag von Athomas »

Außerdem scheint der von Dir gezeichnete Graph nicht zu Formel lm(log(y)~x) zu passen.
So, wie ich es verstanden habe, ist das nur ein Beispiel auf Basis von 4 erfundenen Werten.
Was passt da nicht?
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: y-Achse verschieben

Beitrag von consuli »

Sollte die Kurve von

ln(y) = x
[ aka ln(y) ~ x ]

nicht equivalent mit

y= exp(x)

sein?

Also die einschlägige ansteigende Exponentialfunktion sein?
Irmgard.
Antworten