Seite 1 von 1
glm() Funktion - Koeffizienten zuweisen
Verfasst: Di Aug 22, 2017 5:33 pm
von kevin
Hallo R´ler,
ist es möglich für ein Modell zur Vorhersage mit glm(), meinen Variablen (abhängige und unabhängige Variablen) bestimmte Koeffizienten zuteilen, damit sie nicht eigene berechnet sondern die vorgegebenen verwendet?
Würde mich sehr über eine Antwort freuen.
Gruß
Re: glm() Funktion - Koeffizienten zuweisen
Verfasst: Di Aug 22, 2017 8:05 pm
von EDi
bestimmte Koeffizienten zuteilen, damit sie nicht eigene berechnet sondern die vorgegebenen verwendet?
Das geht mit offset()...
Wenn ich aber
die Variable Eigentuemer und Bodenart will die glm() Funktion nicht akzeptieren. Die Spalte Eigentuemer hat für alle 430 vorhandenen Zeilen das Wort "Privat" enthalten und Bodenart über alle "Tonschluffe".
lese,
würde ich dir anraten zuerstmal das Model das du das fittest auf ein Blatt Papier zu schreiben (und zwar in mathematischer Notation).
Wenn du das hast, weißt du a) die Antwort auf deine Frage und
b) was offset macht.
Re: glm() Funktion - Koeffizienten zuweisen
Verfasst: Fr Aug 25, 2017 11:53 am
von kevin
Leider stehe ich ziemlich auf dem Schlauch, bzw bin ich einfach noch zu sehr Neuling auf dem Gebiet.
wie kann ich mittles offset() meinem Modell zu verstehen geben, dass er jetzt beispielsweise für die Dosis den vorgegebenen Koeffizienten verwenden soll? Erstelle ich da am besten einen Vektor mit meinen Variablen wo ich die Koeffizienten hinterlege?
Re: glm() Funktion - Koeffizienten zuweisen
Verfasst: Fr Aug 25, 2017 3:31 pm
von EDi
Siehe ?formula.
Also
wobei z den coeffizient 1 hat. Will du was anderea musst du entsprechend multiplizieren.
Re: glm() Funktion - Koeffizienten zuweisen
Verfasst: Fr Aug 25, 2017 5:40 pm
von EDi
Hier noch ein reproduzierbares Beispiel:
Code: Alles auswählen
# Simulate some data ------------------------------------------------------
set.seed(1234)
n <- 100
x <- rnorm(n)
z <- rnorm(n)
# linear predictor
nu <- -10*x + 10*z
# on logit scale
mu <- 1 / (1 + exp(-nu))
y <- rbinom(n = n, size = 1, prob = mu)
df <- data.frame(x, y, z)
# Fit models --------------------------------------------------------------
# coef * z
mod <- glm(y ~ x + z, family = binomial(link = 'logit'), data = df)
summary(mod)
# 1 * z
mod1 <- glm(y ~ x + offset(z), family = binomial(link = 'logit'), data = df)
summary(mod1)
# = coef * z, but using the offset
mod2 <- glm(y ~ x + offset(coef(mod)[3] * z), family = binomial(link = 'logit'), data = df)
summary(mod2)
# = same as mod
coef(mod2)[2] - coef(mod)[2]
Re: glm() Funktion - Koeffizienten zuweisen
Verfasst: Do Aug 31, 2017 11:30 am
von kevin
Hallo EDi,
vielen Dank für dein Beispiel.
Gruß
Re: glm() Funktion - Koeffizienten zuweisen
Verfasst: Do Aug 31, 2017 4:30 pm
von EDi
Probier mal die Faktoren dummy-codieren und dann hinzufügen (Eine Ausprägung geht aber in den intercept, außer parametrisierst das Model ohne Intercept).