Inverse probit

Whereas it is very simple to inverse the logit function [p=1/(1+exp(x)), x=log((1-p)/p)], I had some difficulties with the probit one. Here is the solution using pnorm().

> data <- data.frame(Doses=c(80, 120, 150, 150, 180, 200),
+                    Alive=c(10, 12, 8, 6, 2, 1),
+                    Dead=c(0, 1, 5, 6, 9, 15))
> ep <- glm(cbind(Alive, Dead) ~ Doses, data=data, family=binomial(link="probit"))
> ep$coefficients
(Intercept)       Doses 
 5.74329978 -0.03690572 
> ep$coefficients["(Intercept)"]+ep$coefficients["Doses"]*data$Doses
[1]  2.7908421  1.3146132  0.2074416  0.2074416 -0.8997301 -1.6378445
> pnorm(ep$coefficients["(Intercept)"]+ep$coefficients["Doses"]*data$Doses)
[1] 0.99737144 0.90568004 0.58216749 0.58216749 0.18413196 0.05072707
> predict(ep)
         1          2          3          4          5          6 
 2.7908421  1.3146132  0.2074416  0.2074416 -0.8997301 -1.6378445 
> predict(ep, type="response")
         1          2          3          4          5          6 

0.99737144 0.90568004 0.58216749 0.58216749 0.18413196 0.05072707 

Commentaires

Posts les plus consultés de ce blog

Standard error from Hessian Matrix... what can be done when problem occurs

stepAIC from package MASS with AICc

Install treemix in ubuntu 20.04