Seite 1 von 1

Wahrscheinlichkeit prognostizieren

Verfasst: So Jun 14, 2020 2:35 pm
von Tomas
Hallo,
ich soll die Wahrscheinlichkeit, dass Y = 1, wenn X = 0.9 ist prognostizieren für das Modell mit der summary:

Code: Alles auswählen

Call:
glm(formula = Y ~ X + I(X^2) + I(X^3) + I(X^4), family = binomial(),
data = Daten)

Deviance Residuals:
Min 1Q Median 3Q Max
-1.9338 -0.9569 -0.6950 1.1088 1.7609

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.27937 0.35600 -3.594 0.000326 ***
X 0.94974 0.74892 1.268 0.204744
I(X^2) 6.66454 2.18111 3.056 0.002246 **
I(X^3) -0.01775 1.19474 -0.015 0.988145
I(X^4) -5.03476 2.44411 -2.060 0.039403 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 221.41 on 159 degrees of freedom
Residual deviance: 195.16 on 155 degrees of freedom
AIC: 205.16

Number of Fisher Scoring iterations: 4
Kann mir da wer weiterhelfen?
Danke, Tomas

Re: Wahrscheinlichkeit prognostizieren

Verfasst: So Jun 14, 2020 2:51 pm
von EDi
Hier mal ein kleines Beispiel das dir bestimmt weiterhift:

Code: Alles auswählen

# some data
n <- 10000
x <- runif(n)
y <- rbinom(n, size = 1, plogis(1 + 3*x))
df <- data.frame(x, y)
plot(df)

# a model
mod <- glm(y ~ x, data = df, family = binomial)
summary(mod)

# add model to plot
pdat <- data.frame(x = seq(0,1, length.out = 1000))
pdat$ftd <- predict(mod, newdata = pdat, type = "response")
lines(pdat$x, pdat$ftd)

# predict a x = 0.9
pdat <- data.frame(x = 0.9)
predict(mod, newdata = pdat, type = "response")

Re: Wahrscheinlichkeit prognostizieren

Verfasst: So Jun 14, 2020 3:20 pm
von Tomas
Danke schon einmal für die Hilfe, aber ehrlich gesagt verstehe ich es trotzdem nicht.

Re: Wahrscheinlichkeit prognostizieren

Verfasst: So Jun 14, 2020 6:42 pm
von EDi
Wo hängt's?
Ohne mehr Info / reproduzierbares Beispiel kann ich da leider nicht mehr helfen...

Re: Wahrscheinlichkeit prognostizieren

Verfasst: So Jun 14, 2020 6:55 pm
von Tomas
Ich brauche ja für predict ein linear model, oder? Und das habe ich ja nicht, sondern nur die summary eines lm. Und Zufallszahlen erzeugen kann aber auch nicht richtig sein, wir sollen nämlich ein festes Ergebnis erhalten(0.8399)

Re: Wahrscheinlichkeit prognostizieren

Verfasst: So Jun 14, 2020 8:16 pm
von bigben
Wenn Du nicht das Model, sondern nur die Summary hast, sollst Du bestimmt aus der Summary die Formel erstellen und dann x = 0,9 in die Formel einsetzen.

Kennst Du die Modellformel der logistischen Regression? Den linearen Teil und die nichtlineare Link-Funktion?

Re: Wahrscheinlichkeit prognostizieren

Verfasst: So Jun 14, 2020 10:03 pm
von EDi
Was hat das dann noch mit R zu tun?
Ist ja dann "nur" noch Statistik ;)

Schreib doch mal das Model auf papier auf...

Für das binomials GLM mit logit link gilt:

Code: Alles auswählen

Yi∼ Bin(N, πi) 
E(Yi) = πi × N 
var(Yi) = πi(1 − πi)/N 
logit (πi) = β × Xi
D.h. Y is binomial verteilt. N ist vermute ich mal bei dir 1. πi ist die Wahrscheinlichkeit der iten beobachtung 1 zu sein.
Der Erwartungswert ist πi × N,
Varianz ist πi(1 − πi)/N
Die Link-Funktion ist der logit (logit(p) = ln(p / 1-p)), und stellt den Zusammenhang die Prädikatoren (X) mit der Wkeit πi dar. β sind die geschätzen Modelparameter.

Die letzte Zeile ist also die entscheidende...

Setzen wir die Zahlen ein:

Code: Alles auswählen

logit(π) = -1.27937 + 0.94974 * 0.9 + 6.66454 *0.9^2 + -0.01775*0.9^3 + -5.03476 * 0.9^4
logit(π) = 1.657428
π = 1 / (1 + exp(-1*1.657428)) = 0.8398924