[R-sig-ME] Does corSymm() require balanced data?

Thierry Onkelinx th|erry@onke||nx @end|ng |rom |nbo@be
Mon Mar 15 18:04:03 CET 2021


Dear Joe,

CorSymm() needs n * (n - 1) / 2 parameters with n the number of groups
(subjects). n = 4 implies 6 parameters for the correlation alone. So you'll
need plenty of data to fit such a model. I'd recommend that the data should
contain at least 20 subjects for every combination of time points. So 20
subjects with measurements for time 0 and time 1, ... In a balanced case
you'll need at least 20 subjects measured at every time point. If some
combinations are missing in subjects, you'll need extra subjects with those
combinations. 9 and 7 subjects in your data is simply not enough for such a
complex correlation structure.

corAR1(form = ~time) is equivalent to corAR1(form = ~time | id) if random =
~1|id.
I think that corAR1(form = ~1| id) will use the order of the data. So if,
and only if, your data is ordered along time, then it is
equivalent to corAR1(form = ~time | id). I recommend to use the
verbose corAR1(form = ~time | id), which is more clear about the structure
what you want.

Best regards,

ir. Thierry Onkelinx
Statisticus / Statistician

Vlaamse Overheid / Government of Flanders
INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE AND
FOREST
Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance
thierry.onkelinx using inbo.be
Havenlaan 88 bus 73, 1000 Brussel
www.inbo.be

///////////////////////////////////////////////////////////////////////////////////////////
To call in the statistician after the experiment is done may be no more
than asking him to perform a post-mortem examination: he may be able to say
what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does not
ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey
///////////////////////////////////////////////////////////////////////////////////////////

<https://www.inbo.be>


Op ma 15 mrt. 2021 om 15:56 schreef Tip But <fswfswt using gmail.com>:

> Dear Thierry,
>
> Thank you so much for your insightful comments. May I follow-up on them
> below in-line:
>
>
> ***"You have too few subjects with 4 observations. Either drop those fourth
> observations."
>
> >>>> Does the above mean that for an unstructured residual correlation
> matrix, the unique number of measurements (e.g., 3 times, 4 times etc.)
> must have relatively equal sizes (e.g., 9 subjects with 3 times, 7 subjects
> with 4 times)?
>
> ***"Or use a different correlation structure. E.g. an AR1:
>
> fit_alt <- lme(opp ~ time * ccog, random = ~1 | id,
>   correlation = corAR1(form = ~ time), data = dat)
> "
>
> >>>> In your above R code, is it necessary to use `corAR1(form = ~ time)`?
> It seems `corAR1(form = ~1 | id)` gives the same result?
>
> On Mon, Mar 15, 2021 at 2:37 AM Thierry Onkelinx <thierry.onkelinx using inbo.be>
> wrote:
>
>> Dear Joe,
>>
>> You have too few subjects with 4 observations. Either drop those fourth
>> observations. Or use a different correlation structure. E.g. an AR1
>>
>> fit <- lme(
>>   opp ~ time * ccog, random = ~1 | id,
>>   correlation = corSymm(), data = dat, subset = time < 3
>> )
>>
>> fit_alt <- lme(
>>   opp ~ time * ccog, random = ~1 | id,
>>   correlation = corAR1(form = ~ time), data = dat
>> )
>> Best regards,
>>
>>
>> ir. Thierry Onkelinx
>> Statisticus / Statistician
>>
>> Vlaamse Overheid / Government of Flanders
>> INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE
>> AND FOREST
>> Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance
>> thierry.onkelinx using inbo.be
>> Havenlaan 88 bus 73, 1000 Brussel
>> www.inbo.be
>>
>>
>> ///////////////////////////////////////////////////////////////////////////////////////////
>> To call in the statistician after the experiment is done may be no more
>> than asking him to perform a post-mortem examination: he may be able to say
>> what the experiment died of. ~ Sir Ronald Aylmer Fisher
>> The plural of anecdote is not data. ~ Roger Brinner
>> The combination of some data and an aching desire for an answer does not
>> ensure that a reasonable answer can be extracted from a given body of data.
>> ~ John Tukey
>>
>> ///////////////////////////////////////////////////////////////////////////////////////////
>>
>> <https://www.inbo.be>
>>
>>
>> Op ma 15 mrt. 2021 om 03:27 schreef Tip But <fswfswt using gmail.com>:
>>
>>> Dear Members,
>>>
>>> In my longitudinal data below, the first couple of subjects were
>>> measured 4
>>> times but the rest of the subjects were measured 3 times (see data
>>> below).
>>>
>>> We intend to use an unstructured residual correlation matrix in
>>> `nlme::lme()`. But our model fails to converge.
>>>
>>> Question: Given our data is unbalanced with respect to our grouping
>>> variable (i.e., `id`), can we use ` corSymm()`? And if we do, what would
>>> be
>>> the dimensions of the resultant unstructured residual correlation matrix
>>> for our data; a 3x3 or a 4x4 matrix?
>>>
>>> Thank you for your expertise,
>>> Joe
>>>
>>> # Data and R Code
>>> dat <- read.csv("https://raw.githubusercontent.com/hkil/m/master/un.csv
>>> ")
>>>
>>> library(nlme)
>>>
>>> fit <- lme(opp~time*ccog, random = ~1|id, correlation=corSymm(form = ~ 1
>>> |
>>> id),
>>>            data=dat)
>>>
>>> Error:
>>>   nlminb problem, convergence error code = 1
>>>   message = false convergence (8)
>>>
>>>         [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-sig-mixed-models using r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>>>
>>

	[[alternative HTML version deleted]]



More information about the R-sig-mixed-models mailing list