Mit predict()
kann man den vorhergesagten Wert der abhängigen Variable (y
) für einen bestimmten Wert der unabhängigen Variable (x
) für ein gegebenes Modell erhalten. Gibt es eine Funktion, die x
für eine gegebene y
voraussagt?Inverse der 'Predict' Funktion
Zum Beispiel:
kalythos <- data.frame(x = c(20,35,45,55,70),
n = rep(50,5), y = c(6,17,26,37,44))
kalythos$Ymat <- cbind(kalythos$y, kalythos$n - kalythos$y)
model <- glm(Ymat ~ x, family = binomial, data = kalythos)
Wenn wir den vorhergesagten Wert des Modells für x=50
wissen wollen:
predict(model, data.frame(x=50), type = "response")
Ich möchte wissen, welche x
macht y=30
, zum Beispiel.
Vorhersage steht immer im Zusammenhang mit einem statistischen Modell. Man braucht eine Verteilung und strukturelle Annahmen, bevor die Variable "vorhergesagt" werden kann. Im Fall von Funktionen wie lm und glm wird angenommen, dass die unabhängigen Variablen fest sind (d. H. Deterministisch), so dass deren Vorhersage bedeutungslos ist.Wenn Sie auf X schließen wollen, müssen Sie einen hierarchischen Ansatz verwenden, um X stochastisch zu machen. Am wahrscheinlichsten werden Sie in einem Bayes'schen Rahmen enden, der Ihnen das posterior für Ihr X gibt, das Sie wiederum für Vorhersagen verwenden können. – VitoshKa
Sie spezifizieren besser, was genau Sie wollen. Mit 1 x ist das machbar. Mit 2 x haben Sie unendlich viele mögliche Antworten. Also frage ich mich wirklich, warum genau Sie die umgekehrte Vorhersage brauchen. Ist es für Kalibrierungszwecke oder so? - Bearbeiten: Siehe auch VitoshKas Kommentar. –
könnten Sie ein inverses Modell erstellen, etwa so etwas wie 'invM1 <- lm (x ~ y, data)' und dann 'predicate' auf Ihrem neuen Prädiktor' y' verwenden. Nun, bevor du einspringst und dies tust, empfehle ich dir zu berücksichtigen, was @vitoshKa oben kommentiert hat. – PavoDive