En utilisant predict()
on peut obtenir la valeur prédite de la variable dépendante (y
) pour une certaine valeur de la variable indépendante (x
) pour un modèle donné. Y at-il une fonction qui prédit x
pour un donné y
?inverse de la fonction 'predict'
Par exemple:
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)
Si nous voulons connaître la valeur prédite du modèle pour x=50
:
predict(model, data.frame(x=50), type = "response")
Je veux savoir qui fait x
y=30
, par exemple.
La prédiction est toujours dans le contexte d'un modèle statistique. Il faut des hypothèses distributionnelles et structurelles avant que la variable puisse être "prédite". Dans le cas de fonctions telles que lm et glm, les variables indépendantes sont supposées être fixes (c'est-à-dire déterministes), de sorte que la prédiction de celles-ci est dénuée de sens.Si vous voulez faire une inférence sur X, vous devrez utiliser une approche hiérarchique pour rendre X stochastique. Très probablement, vous allez vous retrouver dans un cadre bayésien qui vous donnera le postérieur pour votre X, qui à son tour vous pouvez utiliser pour les prédictions. – VitoshKa
Vous devriez préciser exactement ce que vous voulez. Avec 1 x, c'est faisable. Avec 2 x, vous avez une quantité infinie de réponses possibles. Donc je me demande vraiment pourquoi exactement vous avez besoin de la prédiction inverse. Est-ce à des fins d'étalonnage ou à peu près? - edit: voir aussi le commentaire de VitoshKa. –
vous pouvez construire un modèle inverse, quelque chose comme 'invM1 <- lm (x ~ y, data)' et ensuite utiliser 'predict' sur votre nouveau prédicteur' y'. Maintenant, avant de vous lancer et de le faire, je recommande de prendre en compte ce que @vitoshKa a commenté plus haut. – PavoDive