I would like to use a cox proportional hazards model to estimate the effect of percent tree cover on the minimum time interval between the occurrence of two species at a location. The first species I consider at each location is the domestic dog, and the second is the coyote.
The arrival of a coyote after a dog, after a certain time limit, is the "event" for my model. Since I am interested only in the visit of the first coyote after a dog, I censored all dog "waiting times" for dogs who were eventually followed by another dog instead of a coyote.
I'm using only one continuous covariate for my model (%tree cover), but unfortunately, I only have four different values for it across all my time-to-events. Additionally, the large abundance of dogs relative to coyotes results in a very high 95% censoring rate.
The assumptions of proportionality and linearity appear to hold for my model, based on the Schoenfeld test (with cox.zph()) and a plot of Martingale residuals against my covariate values (ggcoxfunctional()).
However, I have plotted the deviance residuals for my model and obtained the following plot:
We can see that all the events have high positive residuals, while the censored observations are clustered around 0. Low residuals are expected for censored observations. However, I suspect there was also informative censoring because dogs are very common during the day while foxes appear only at night. Hence, censored dogs actually would have a lower probability of being followed by a fox.
Is there a way I can account for this with a Cox model? Or would this approach not be appropriate for my data?