5
$\begingroup$

I appreciate that similar questions have been asked and answered to this, but I think that my case is substantively different as the specific interpretation of the coefficient is not relevant.

I have a set of choice experiment results that I am using to calculate the 'Valuation of Travel Time' for the participants. The standard process for doing this is to fit a logistic regression model to the result of whether someone accepts a specific level of compensation for a specific travel time. You can then divide the time coefficient by the compensation one to generate the valuation of travel time (don't worry if doesn't make sense). Hence for the below model:

term estimate std.error z value p.value
(Intercept) 1.256319853 0.1096819372 11.45420919 2.24E-30
time 0.1015354957 0.003527728861 -28.78211442 3.59E-182
comp 0.1532430136 0.005337402709 28.7111582 2.77E-181

The 'VTT' is (approximately) 0.102/0.153 - which, is £0.67 per minute, or £40 per hour.

I want to provide a 95% confidence interval for this valuation and I've been searching for the correct method. My instinct is that it's just:

upper limit: time_coef + 1.96time_SE / comp_coef - 1.96comp_SE

lower limit: time_coef - 1.96time_SE / comp_coef + 1.96comp_SE

Without a detailed understanding of VTT methodology, does this look correct?

Edit - following useful feedback, I can include the covariance table if anyone else is able to use this data to help me validate that I am using the correct method.

(Intercept) time comp
(Intercept 1.203013e-02 -1.265604e-04 9.785909e-06
time -1.265804e 1.244487e-05 -1.437472e-05
comp 9.785909e-06 -1.437472e-05 2.848787e-05
$\endgroup$
2
  • $\begingroup$ no that's nonsense. You are trying to perform inference on a non-linear function of an estimator. Thus the easiest way is to resort to the delta method as suggested in the answer below. $\endgroup$
    – utobi
    Commented Mar 24, 2023 at 15:23
  • $\begingroup$ One possibility is profile likelihood as in stats.stackexchange.com/a/588832/11887 $\endgroup$ Commented Apr 2, 2023 at 23:32

2 Answers 2

7
$\begingroup$

Expanding over Bjorn's answer, you are trying to perform statistical inference on the ratio of two regression coefficients and since this is a nonlinear function you have to use additional tools. The most accessible tool is the delta method; other possible procedures may be higher-order asymptotics (e.g. Brazzale et al. Applied Asymptotics: Case Studies in Small-Sample Statistics, Cambridge, 2007).

R implementations for the delta method and higher-order asymptotics can be found in the car and likelihoodAsy (see also hoa) packages respectively.

Here is an example of the delta method using the car package. Note that in order to use the delta method you'll need the full estimated covariance matrix of the estimator of your regression coefficients. The function deltaMethod automatically takes care of this.

library(car)

# create a fictitius binary variable
binary_time <- ifelse(Transact$time <= 5000, 1, 0)

# run binary logistic regression
m1 <- glm(binary_time ~ t1 + t2, data = Transact, 
          family = "binomial") 

# get the CI by the delta method
deltaMethod(m1, "b1/b2", parameterNames= paste("b", 0:2, sep="")) 
$\endgroup$
3
  • $\begingroup$ Thanks. So, if I have: model <- glm(value ~ time + comp, data = results, family = "binomial") Then deltaMethod(model, "time/comp") Gives me as result with the following variables: estimate = 0.66.. SE = 0.015.. 2.5% = 0.63.. 97.5% = 0.69 So, I can be 95% confident that the true value is between 0.63 and 0.69? $\endgroup$
    – Ben G
    Commented Mar 24, 2023 at 15:45
  • $\begingroup$ Yes, that's correct. $\endgroup$
    – utobi
    Commented Mar 24, 2023 at 15:53
  • 1
    $\begingroup$ Another possibility is profile likelihood as in stats.stackexchange.com/a/588832/11887 $\endgroup$ Commented Apr 2, 2023 at 23:32
6
$\begingroup$

No, that's not correct. You don't have the necessary information in the output, you would additionally need the information on the covariance matrix of the regression coefficients (with the standard errors, you have the square root of the diagonal entries of that matrix). Luckily, if you have that, you can use something like the delta method, which there are existing packages that will handle the details for you, e.g. in R the deltaMethod function from the car package. That's a useful search term to look for/the background information given there would be a good starting point.

$\endgroup$
1
  • $\begingroup$ Thank you for this. I have had some training in general use of logit models and interpreting results, but this is a bit beyond my understanding. I have read that I can use the vcov function to generate the covariance matrix. I will update my question to include those results. $\endgroup$
    – Ben G
    Commented Mar 24, 2023 at 15:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.