Skip to main content
Added x-axis scale at top that shows probabilities
Source Link

@Benoit Sanchez and @gung's graphs emphasize how little there is to distinguish the link functions, except with very large numbers of observations and/or in the extreme tails. The conversion ${\rm logit}(p) = 1.77\ {\rm probit}(p)$ never has an error of more than $0.1$ over the range $0.1 \le p \le 0.9$. Over $0.01 \le p \le 0.99$, the conversion is still a good approximation. Using such a conversion factor, one can get a good approximation to the odds ratio from a model that has a probit link.

The graph uses the following R code:

trellis.par.set(clip=list(panel='off')) p <- (1:99)/100 logit <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun gph <- lattice::xyplot(logit(p)~probit(p), type=c('p','r'), scales=list(x=list(alternating=1, tck=c(0.6,0)))) b <- coef(lm(logit(p) ~ 0 + probit(p))) ## Slope of line gph1 <- update(gph, main = list(paste("Slope of line is", round(b,2)), cex=1)) probs <- c(.01,.0504,.1, .25,.5,.75,.9,.9596,.99) gph+latticeExtragph1+latticeExtra::layer(panel.axis(side='top', at=probit(probs),  labels=paste(probs),outside=T, rot=0)) 

The slope of the line is 1.77enter image description here

@Benoit Sanchez and @gung's graphs emphasize how little there is to distinguish the link functions, except with very large numbers of observations and/or in the extreme tails. The conversion ${\rm logit}(p) = 1.77\ {\rm probit}(p)$ never has an error of more than $0.1$ over the range $0.1 \le p \le 0.9$. Over $0.01 \le p \le 0.99$, the conversion is still a good approximation. Using such a conversion factor, one can get a good approximation to the odds ratio from a model that has a probit link.

The graph uses the following R code:

trellis.par.set(clip=list(panel='off')) p <- (1:99)/100 logit <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun gph <- lattice::xyplot(logit(p)~probit(p), type=c('p','r'), scales=list(x=list(alternating=1, tck=c(0.6,0)))) b <- coef(lm(logit(p) ~ 0 + probit(p))) ## Slope of line probs <- c(.01,.05,.1, .25,.5,.75,.9,.95,.99) gph+latticeExtra::layer(panel.axis(side='top', at=probit(probs), labels=paste(probs),outside=T, rot=0)) 

The slope of the line is 1.77

@Benoit Sanchez and @gung's graphs emphasize how little there is to distinguish the link functions, except with very large numbers of observations and/or in the extreme tails. The conversion ${\rm logit}(p) = 1.77\ {\rm probit}(p)$ never has an error of more than $0.1$ over the range $0.1 \le p \le 0.9$. Over $0.01 \le p \le 0.99$, the conversion is still a good approximation. Using such a conversion factor, one can get a good approximation to the odds ratio from a model that has a probit link.

The graph uses the following R code:

trellis.par.set(clip=list(panel='off')) p <- (1:99)/100 logit <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun gph <- lattice::xyplot(logit(p)~probit(p), type=c('p','r'), scales=list(x=list(alternating=1, tck=c(0.6,0)))) b <- coef(lm(logit(p) ~ 0 + probit(p))) ## Slope of line gph1 <- update(gph, main = list(paste("Slope of line is", round(b,2)), cex=1)) probs <- c(.01,.04,.1, .25,.5,.75,.9,.96,.99) gph1+latticeExtra::layer(panel.axis(side='top', at=probit(probs),  labels=paste(probs),outside=T, rot=0)) 

enter image description here

Added x-axis scale at top that shows probabilities
Source Link

@Benoit Sanchez and @gung's graphs emphasize how little there is to distinguish the link functions, except with very large numbers of observations and/or in the extreme tails. The conversion ${\rm logit}(p) = 1.77\ {\rm probit}(p)$ never has an error of more than $0.1$ over the range $0.1 \le p \le 0.9$. Over $0.01 \le p \le 0.99$, the conversion is still a good approximation. Using such a conversion factor, one can get a good approximation to the odds ratio from a model that has a probit link.

The graph uses the following R code:

trellis.par.set(clip=list(panel='off')) p  <- (1:99)/100 logit  <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun$linkfun probit <- make.link('probit')$linkfun gph  <- lattice::xyplot(logit(p)~probit(p), type=c('p','r')), b  scales=list(x=list(alternating=1, tck=c(0.6,0)))) b <- coef(lm(logit(p) ~ 0 + probit(p))) update(gph, main =## list(paste("SlopeSlope of line probs is"<- c(.01,.05,.1, round.25,.5,.75,.9,.95,.99) gph+latticeExtra::layer(bpanel.axis(side='top',2 at=probit(probs), labels=paste(probs),outside=T, y=0rot=0))   

enter image description hereThe slope of the line is 1.77

@Benoit Sanchez and @gung's graphs emphasize how little there is to distinguish the link functions, except with very large numbers of observations and/or in the extreme tails. The conversion ${\rm logit}(p) = 1.77\ {\rm probit}(p)$ never has an error of more than $0.1$ over the range $0.1 \le p \le 0.9$. Over $0.01 \le p \le 0.99$, the conversion is still a good approximation. Using such a conversion factor, one can get a good approximation to the odds ratio from a model that has a probit link.

The graph uses the following R code:

p  <- (1:99)/100 logit  <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun gph  <- lattice::xyplot(logit(p)~probit(p), type=c('p','r')) b <- coef(lm(logit(p) ~ 0 + probit(p))) update(gph, main = list(paste("Slope of line is", round(b,2)), y=0)) 

enter image description here

@Benoit Sanchez and @gung's graphs emphasize how little there is to distinguish the link functions, except with very large numbers of observations and/or in the extreme tails. The conversion ${\rm logit}(p) = 1.77\ {\rm probit}(p)$ never has an error of more than $0.1$ over the range $0.1 \le p \le 0.9$. Over $0.01 \le p \le 0.99$, the conversion is still a good approximation. Using such a conversion factor, one can get a good approximation to the odds ratio from a model that has a probit link.

The graph uses the following R code:

trellis.par.set(clip=list(panel='off')) p <- (1:99)/100 logit <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun gph <- lattice::xyplot(logit(p)~probit(p), type=c('p','r'),   scales=list(x=list(alternating=1, tck=c(0.6,0)))) b <- coef(lm(logit(p) ~ 0 + probit(p))) ## Slope of line probs <- c(.01,.05,.1, .25,.5,.75,.9,.95,.99) gph+latticeExtra::layer(panel.axis(side='top', at=probit(probs), labels=paste(probs),outside=T, rot=0))   

The slope of the line is 1.77

light formatting
Source Link
gung - Reinstate Monica
  • 150.3k
  • 90
  • 418
  • 748

@Benoit Sanchez and @gung's graphs emphasize how little there is to distinguish the link functions, except with very large numbers of observations and/or in the extreme tails. The conversion logit(p) = 1.77 probit(p)${\rm logit}(p) = 1.77\ {\rm probit}(p)$ never has an error of more than 0.1$0.1$ over the range 0.1 <= p <= 0.9$0.1 \le p \le 0.9$. Over 0.01 <= p <= 0.99$0.01 \le p \le 0.99$, the conversion is still a good approximation. Using such a conversion factor, one can get a good approximation to the odds ratio from a model that has a probit link.

The graph uses the following R code:

logit <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun gph <- lattice::xyplot(logit(p)~probit(p), type=c('p','r')) b <- coef(lm(logit(p) ~ 0 + probit(p))) update(gph, main = list(paste("Slope of line is", round(b,2)), y=0)) 
p <- (1:99)/100 logit <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun gph <- lattice::xyplot(logit(p)~probit(p), type=c('p','r')) b <- coef(lm(logit(p) ~ 0 + probit(p))) update(gph, main = list(paste("Slope of line is", round(b,2)), y=0)) 

enter image description here

@Benoit Sanchez and @gung's graphs emphasize how little there is to distinguish the link functions, except with very large numbers of observations and/or in the extreme tails. The conversion logit(p) = 1.77 probit(p) never has an error of more than 0.1 over the range 0.1 <= p <= 0.9. Over 0.01 <= p <= 0.99, the conversion is still a good approximation. Using such a conversion factor, one can get a good approximation to the odds ratio from a model that has a probit link.

The graph uses the following R code:

logit <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun gph <- lattice::xyplot(logit(p)~probit(p), type=c('p','r')) b <- coef(lm(logit(p) ~ 0 + probit(p))) update(gph, main = list(paste("Slope of line is", round(b,2)), y=0)) 

enter image description here

@Benoit Sanchez and @gung's graphs emphasize how little there is to distinguish the link functions, except with very large numbers of observations and/or in the extreme tails. The conversion ${\rm logit}(p) = 1.77\ {\rm probit}(p)$ never has an error of more than $0.1$ over the range $0.1 \le p \le 0.9$. Over $0.01 \le p \le 0.99$, the conversion is still a good approximation. Using such a conversion factor, one can get a good approximation to the odds ratio from a model that has a probit link.

The graph uses the following R code:

p <- (1:99)/100 logit <- make.link('logit')$linkfun probit <- make.link('probit')$linkfun gph <- lattice::xyplot(logit(p)~probit(p), type=c('p','r')) b <- coef(lm(logit(p) ~ 0 + probit(p))) update(gph, main = list(paste("Slope of line is", round(b,2)), y=0)) 

enter image description here

Source Link
Loading