2013-12-16 24 views
7

Hier einige DatenErhalten Sie 95% Konfidenzintervall mit GLM (..) in R

dat = data.frame(y = c(9,7,7,7,5,6,4,6,3,5,1,5), x = c(1,1,2,2,3,3,4,4,5,5,6,6), color = rep(c('a','b'),6)) 

und die Handlung dieser Daten, wenn Sie

require(ggplot) 
ggplot(dat, aes(x=x,y=y, color=color)) + geom_point() + geom_smooth(method='lm') 

wünschen Wenn Sie ein Modell mit der Funktion läuft MCMCglmm() ...

require(MCMCglmm) 
summary(MCMCglmm(fixed = y~x/color, data=dat)) 

ich erhalte die untere und die obere für die Schätzung 95% Intervall mir erlaubt, wenn die beiden zu wissen, slop es (Farbe = a und Farbe = b) sind signifikant verschieden.

Wenn an diesem Ausgang ...

summary(glm(y~x/color, data=dat)) 

... auf der Suche kann ich sehen, das Konfidenzintervall nicht!

Meine Frage ist:

Wie kann ich diese untere und die obere für den Schätzungen Intervall Vertrauen 95% haben, wenn glm() der Funktion?

+0

Es gibt eine 'confint' Funktion im ** MASS ** Paket, glaube ich. – joran

+0

... auch vorsichtig sein, statistische Signifikanz durch den Vergleich von Konfidenzintervallen zu beurteilen. Sie könnten einige signifikante Ergebnisse verpassen. – joran

+0

In diesem Fall funktionieren sie: schauen Sie sich einfach an, ob sich die Vertrauensgrenzen für den "x: colorb" -Koeffizienten überlappen 0. –

Antwort

8

Verwendung confint

 

mod = glm(y~x/color, data=dat) 
summary(mod) 
Call: 
glm(formula = y ~ x/color, data = dat) 

Deviance Residuals: 
    Min  1Q Median  3Q  Max 
-1.11722 -0.40952 -0.04908 0.32674 1.35531 

Coefficients: 
      Estimate Std. Error t value  Pr(>|t|) 
(Intercept) 8.8667  0.4782 18.540 0.0000000177 
x   -1.2220  0.1341 -9.113 0.0000077075 
x:colorb  0.4725  0.1077 4.387  0.00175 

(Dispersion parameter for gaussian family taken to be 0.5277981) 

    Null deviance: 48.9167 on 11 degrees of freedom 
Residual deviance: 4.7502 on 9 degrees of freedom 
AIC: 30.934 

Number of Fisher Scoring iterations: 2 

confint(mod) 
Waiting for profiling to be done... 
       2.5 %  97.5 % 
(Intercept) 7.9293355 9.8039978 
x   -1.4847882 -0.9591679 
x:colorb  0.2614333 0.6836217 
+0

Warum fragt niemand, ob es eine Rechtfertigung dafür gibt, colorb nicht als Haupteffekt einzubeziehen? –

+0

@DWin Ich möchte vergleichen, wie die Ebenen von "Farbe" mit dem Effekt von "x" auf "y" interagieren. Ich bin nur daran interessiert, Pisten zu vergleichen. Ich interessiere mich nicht wirklich für die Gesamtwirkung von "Farbe". Klingt das nach einer guten Rechtfertigung? –

+1

Nicht zu mir. Wenn Sie nicht beweisen, dass Farbe allein keine Wirkung hat, reduzieren Sie Ihre Fähigkeit, eine Interaktion zu untersuchen, indem Sie den Farbhaupteffekt auf null beschränken. –

2

@ Ansatz der alex finden Sie die Vertrauensgrenzen, aber über Interpretation vorsichtig sein. Da Glm grundsätzlich ein Nicht-Liner-Modell ist, haben die Koeffizienten üblicherweise eine große Kovarianz. Sie sollten sich zumindest die 95% ige Vertrauensellipse ansehen.

mod <- glm(y~x/color, data=dat) 
require(ellipse) 
conf.ellipse <- data.frame(ellipse(mod,which=c(2,3))) 
ggplot(conf.ellipse, aes(x=x,y=x.colorb)) + 
    geom_path()+ 
    geom_point(x=mod$coefficient[2],y=mod$coefficient[3], size=5, color="red") 

Erzeugt dies, das ist die 95% Vertrauensellipse für x und den Interaktionsterm.

Beachten Sie, wie das Vertrauen der hergestellten Grenzen confint(...) sind gut mit der Ellipse. In diesem Sinne liefert die Ellipse eine konservativere Schätzung der Vertrauensgrenzen.

+0

Es gibt viele Möglichkeiten, konservativere Vertrauensbereiche zu finden. Welche Methoden werden im ggplot-Paket verwendet? Das ist unklar. Profilgrenzen haben wirklich schöne Eigenschaften und unterliegen nicht dem Mangel, den Sie bemerkt haben. Sie werden oft in nichtlinearen Modellen verwendet. Da das ursprüngliche Modell GLM mit ID-Link und Gaußverteilung verwendet hat, muss man sich nicht um die "fundamentale Nichtlinearität" kümmern. –

+0

'ggplot' wird nur zum Plotten verwendet. Ellipse (...) kommt aus dem Ellipsenpaket. Aus der Darstellung wird deutlich, dass x und x: colorb stark korreliert sind. – jlhoward

+0

Die Koeffizienten sind korreliert, aber ich verstehe nicht, warum das ein Argument gegen das Testen ist, ob ein einzelner Koeffizient 0 ist. –

Verwandte Themen