4
$\begingroup$

I am looking at wound healing over time and have hit a wall with analysis. My data consist of injury cases which are tracked over time. Injury healing is measured as percentage wound area/perimeter change since initial sighting. Each case varies in the number of days since initial sighting and the total number of sightings, with some only seen twice and some seen 5 times.

DV = Area Change

IV = Days, Severity, Location, Type

Random effect = Shark ID, Injury

I want to look at changes over time and be able to statistically explore whether wounds are decreasing in size over time and what factors can influence this. Key points:

My response is a percentage that is dependent on previous records. How can I combat this?

Here is an example of data:

Injury  Shark ID   Name      Date     Days    Severity  Location  Type        Cause      Area Change     Perimeter Change  
1       WS198      Naococco  24.6.15     0    Major     Flank     Laceration  Boat                 0                    0
1       WS198      Naococco  8.7.15     14    Major     Flank     Laceration  Boat        74.6858632           63.6698483  
1       WS198      Naococco  10.7.15    16    Major     Flank     Laceration  Boat        81.4165492           77.0354486  
1       WS198      Naococco  1.8.15     38    Major     Flank     Laceration  Boat        81.9152998            89.704627  
1       WS198      Naococco  4.8.15     41    Major     Flank     Laceration  Boat        86.2165258           89.1497158  
1       WS198      Naococco  18.8.15    55    Major     Flank     Laceration  Boat        86.1513557           90.3776043  
1       WS198      Naococco  19.9.15    87    Major     Flank     Laceration  Boat        97.9639636           93.7961375 
1       WS198      Naococco  24.9.15    92    Major     Flank     Laceration  Boat        96.8353572            91.813769     
1       WS198      Naococco  3.11.15   132    Major     Flank     Laceration  Boat        99.7190944           98.0207677 
1       WS198      Naococco  10.11.15  139    Major     Flank     Laceration  Boat        99.8686985           98.8372268  
1       WS198      Naococco  30.11.15  159    Major     Flank     Laceration  Boat               100                  100 
2       WS198      Naococco  27.3.16     0    Major     Flank     Laceration  Boat                 0                    0  
2       WS198      Naococco  29.3.16     2    Major     Flank     Laceration  Boat         28.902414           17.0816156   
2       WS198      Naococco  4.4.16      8    Major     Flank     Laceration  Boat        47.1829361           45.5672997  
2       WS198      Naococco  30.5.16    64    Major     Flank     Laceration  Boat        97.4773761           91.7192607 
2       WS198      Naococco  13.9.16   170    Major     Flank     Laceration  Boat               100                  100 
3       WS198      Naococco  5.10.17     0    Major     Flank     Laceration  Boat                 0                    0 
3       WS198      Naococco  26.10.17   21    Major     Flank     Laceration  Boat        65.2492641           67.0574269  
3       WS198      Naococco  30.10.17   25    Major     Flank     Laceration  Boat        68.9993994           66.1401071 
3       WS198      Naococco  10.12.17   66    Major     Flank     Laceration  Boat               100                  100  

Please tell me if this does not make sense or if more information is required to clarify my question.

I know I cannot use a standard lmer model, as follows, because of my response:

healing.lmer <- lmer(Area Change ~ Days + Severity * Type * Location +
                (1 | Shark ID) + (1 |Injury), data = healing)

How can I change my response or my model to fit?

$\endgroup$
9
  • $\begingroup$ One thing to do is visually inspect scatterplots of days vs. area and days vs. perimeter to see if any obvious patterns are present. You might put all data on the plots, colored by different wound type (boat, etc.). $\endgroup$ Commented Jan 10, 2019 at 17:40
  • 1
    $\begingroup$ Have a look at beta regression. If you are using R, the betareg package implements this very nicely. I asked a similar question here: stats.stackexchange.com/questions/305272/… Further, a binomial GLM isn't possible in this case since it requires a proportion that came out of a series of success-failure experiments, or Bernoulli trials. $\endgroup$
    – Stefan
    Commented Jan 23, 2019 at 21:30
  • $\begingroup$ The reason there is no single "best" way is that it depends on what you're analyzing. For instance, a response that is a percentage of a count typically needs a different probability model than a response that is a low-level chemical measurement, and both would likely use different models than is appropriate in your example. The difficulty is that the question is too simple. Could you focus it on the problem you actually face? $\endgroup$
    – whuber
    Commented Jan 23, 2019 at 22:20
  • $\begingroup$ Thank you both for your input. @Stefan I had wondered about a Beta regression, but my issue is that it is still a bit debated and might cause contention with publishing. Ok useful to know binomial is not correct here. $\endgroup$
    – mb5572
    Commented Jan 23, 2019 at 22:35
  • 1
    $\begingroup$ I would suggest you update your question to reflect your actual study design and dataset better and ideally provide a minimal example for people to work with. As you see in the comments the best advice people can give you depend on knowing fairly accurately what you are trying to model. I suggested beta regression as it seemed most appropriate to me. Once you have dependency in your data, a mixed effects model may be more appropriate. $\endgroup$
    – Stefan
    Commented Jan 24, 2019 at 19:25

2 Answers 2

1
$\begingroup$

This is a complex (and interesting) dataset and I think the reason why you haven't gotten any specific answers yet is because people would need to play around with the actual data to better understand it. I would say there is no ONE answer to your question.

I would go ahead and do some initial data visualizations as suggested by @JamesPhillips. That should give you a very good idea what's going on in the data (you most likely know this already). Then I would start fitting some models that take into account the dependency (repeated measures) in your data. You can simply start with a linear-mixed effect model as specified and do detailed model validations. I agree with you that given your outcome variable a linear-mixed effects model may not be ideal but it could be a start. What I would probably do next then using the glmmTMB package, which handles Beta mixed models including zero and zero-one inflated models. If you don't want to go down that rabbit hole, you could try a logit or arcsine transformation of your percentages, however see: The arcsine is asinine: the analysis of proportions in ecology.

Regarding your random effects: Is the injury coding a running number across your sharks or does it always start from $1,...,n$ within each shark (cannot see this in your example)? If it is the latter, then you need to explicitly nest your random effect as + (1|Shark ID / Injury) (which is the same as + (1|Shark ID) + (1|Shark ID : Injury)). If it is the former (unique running number across sharks), you can either do + (1|Shark ID / Injury) or + (1|Shark ID) + (1|Injury) as they are equivalent in this case.

Also have a look at @BenBolker 's GLMM FAQ. It pretty much answers all technical questions regarding mixed models that you could have.

$\endgroup$
6
  • $\begingroup$ Thank you for your reply Stefan, very much appreciated. I will take the steps you suggested. Injury is a running number, so I will stick with the original code. One point that just occurred to me is about the reliance of the response on the number of days. The response alone does not mean anything unless coupled with the number of days that it took to reach that given percentage. When I want to explore the effects of Severity etc., will the model take this into account? Does that make sense? Happy to send over a .csv if you're interested in exploring this in detail. Thanks again. $\endgroup$
    – mb5572
    Commented Jan 28, 2019 at 15:25
  • $\begingroup$ No need to thank me @FreyaWomersley ! If this answer is useful consider upvoting/accepting it. Since you have Injury and Shark ID as random intercepts, the varying number of days should be accounted for by the model. You could also try and model random slopes for Severity, i.e. + (Severity | Shark ID / Injury). But again for all those possibilities have a look at the GLMM FAQ linked above. Unfortunately, I won't have the time available to look more closely into your analysis, although it seems like an interesting study! $\endgroup$
    – Stefan
    Commented Jan 28, 2019 at 17:25
  • $\begingroup$ @Stephen. I cant seem to get along with beta regression. So I went for an LME with the observed value 'Logit' transformed. This actually seems ok. Do you think this is an appropriate choice in your experience? $\endgroup$
    – mb5572
    Commented Jan 30, 2019 at 18:13
  • $\begingroup$ @FreyaWomersley Yes that should be fine as long as the residuals in your diagnostic plots don't show any patterns that would violate the assumptions of linear modeling. Two useful papers are here and here. Also you have to be careful now with interpretation since you data is transformed, see here: stats.stackexchange.com/questions/19069/… $\endgroup$
    – Stefan
    Commented Jan 30, 2019 at 23:57
  • $\begingroup$ @Stephan Last question re interpretation. My fixed effects (minimum adequate) output gives an estimate of 0.05610 for Days. When I convert this back into a percentage from the logit transform it equals: 51.40213. Is this a useful/useable value? Can I use it in my write up as I don't have a unit increase in days or has the transform distorted my data? $\endgroup$
    – mb5572
    Commented Feb 1, 2019 at 13:54
0
$\begingroup$

I agree this one is challenging, but you can design dynamic models that will respect the proportional nature and the temporal dependence of your observations. The {mvgam} package in R was designed specifically for this kind of challenging dataset. The package works by formulating State-Space models where your data (usually in the form of time series) are considered be be noisy observations of some true latent dynamic process. The process is modeled using appropriate dynamic models (in your case, a continuous time autoregressive model might be appropriate given the irregular spacing of your observations in time). You can also include any necessary predictors in the process model that you think impact its evolution, and these predictors can be in the form of penalized smooth functions like you would use in Generalized Additive Models. The observations are then taken using a separate model, and this is linked to the process model using an appropriate link function. This allows you to respect the features of your observations in the same way you would by using a Generalized Linear Model. A relevant resource to showcase how you could handle proportional time series would be the {mvgam} vignette on time-varying effects.

$\endgroup$

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.