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()... :geek:

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

Code: Alles auswählen

y~x+offset(z)
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).