y-Achse verschieben

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

ga84pew
Beiträge: 7
Registriert: Fr Okt 12, 2018 4:46 pm

y-Achse verschieben

Beitrag von ga84pew » Fr Okt 12, 2018 6:09 pm

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: 1006
Registriert: Fr Okt 07, 2016 8:25 am

Re: y-Achse verschieben

Beitrag von jogo » Fr Okt 12, 2018 7:37 pm

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: 358
Registriert: Mo Okt 10, 2016 8:18 pm

Re: y-Achse verschieben

Beitrag von consuli » Fr Okt 12, 2018 7:41 pm

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
A joystick, a compass and a somewhat erratic RPM-indicator.

ga84pew
Beiträge: 7
Registriert: Fr Okt 12, 2018 4:46 pm

Re: y-Achse verschieben

Beitrag von ga84pew » Fr Okt 12, 2018 8:35 pm

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: 104
Registriert: Mo Feb 26, 2018 8:19 pm

Re: y-Achse verschieben

Beitrag von Athomas » Sa Okt 13, 2018 11:20 am

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: !
Glaube nicht alles, was im Internet geschrieben wird - bloss weil da ein Name und ein Zitat stehen! (Immanuel Kant)

consuli
Beiträge: 358
Registriert: Mo Okt 10, 2016 8:18 pm

Re: y-Achse verschieben

Beitrag von consuli » Sa Okt 13, 2018 2:28 pm

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
A joystick, a compass and a somewhat erratic RPM-indicator.

ga84pew
Beiträge: 7
Registriert: Fr Okt 12, 2018 4:46 pm

Re: y-Achse verschieben

Beitrag von ga84pew » Sa Okt 13, 2018 11:22 pm

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: 358
Registriert: Mo Okt 10, 2016 8:18 pm

Re: y-Achse verschieben

Beitrag von consuli » So Okt 14, 2018 10:56 am

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
A joystick, a compass and a somewhat erratic RPM-indicator.

Athomas
Beiträge: 104
Registriert: Mo Feb 26, 2018 8:19 pm

Re: y-Achse verschieben

Beitrag von Athomas » So Okt 14, 2018 2:02 pm

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?
Glaube nicht alles, was im Internet geschrieben wird - bloss weil da ein Name und ein Zitat stehen! (Immanuel Kant)

consuli
Beiträge: 358
Registriert: Mo Okt 10, 2016 8:18 pm

Re: y-Achse verschieben

Beitrag von consuli » So Okt 14, 2018 4:03 pm

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?
A joystick, a compass and a somewhat erratic RPM-indicator.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast