I have a dataset of observations taken at random time points across a wide range of time. These are X-rays taken in a fashion that, sadly, is a bit random (clinic can get a bit manic).

I have 70 patients. Each patient has between 2 and 8 images. This means about 300 images. The image capture time is random, but always between 1 and 80 months from the first image.

We have a series of morphological measurements we have extracted from each image. SC_1 is the first metric, we have about 18 to look at.

I want to determine if the measurements we are obtaining are changing significantly over time. I expect that around half of them will show a substantial change in morphology after 6 months. But I need to see if this is true, and then identify those patients who did change significantly.

[Data structure][1]

I have tried plotting the data - it is a bit of a mess unfortunately because there are more patients than colours to choose, and the varying time-frame. But some are definitely are showing change over time, while others are not.

Plot of all images colour coded for the patient

I am at a loss to figure out the best way to quantify the change for each patient. I was thinking perhaps take the percentage change for each patient, between the first and last image - and assigning this number to each patient? Or take the standard deviation for each patient's measurements over time?

Or is there a more sophisticated method? If I can get a pointer in the right direction, I'd happily learn a new method (e.g. some form of time series). It is just getting to the point of knowing which methods to look at.... I will have about double to dataset in a few months though....


1 Answer 1


One of the possible methods you might consider here is a multi-level linear models (I've added these tags to your question). In brief, your model will have a response variable of the morphological measurement (say SC_1), and there will be predictor variables for the individual and the time of the x-ray measurement. The multi-level model will allow you to run this model in such a way that it will estimate a random intercept and/or slope for each patient. This is somewhat more sophisticated than running just a regular OLS regression, but this should get you pointed in the correct direction.

Happy to share more or update this answer as needed.

  • $\begingroup$ Thank you Gregg, I am just doing the required research. I will post my results and solutions later - should someone else find this thread and seek similar solutions. Many thanks! $\endgroup$
    – Maks Hall
    May 26, 2023 at 12:42

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.