• Tidak ada hasil yang ditemukan

eAppendix Supplemental Digital Content 1 Sections:

N/A
N/A
Protected

Academic year: 2024

Membagikan "eAppendix Supplemental Digital Content 1 Sections:"

Copied!
89
0
0

Teks penuh

(1)

eAppendix

Supplemental Digital Content 1 Sections:

Statistical analysis, model and estimation of parameters: pp.1-9 Further details of the design of the VSPP studies: pp.9-10

Statistical method of determining calibration equations: pp.10-11

Tables presenting calibration equations for each dietary component and sex: pp. 12-18

Examples of SAS code to estimate model parameters, including sample data and output: pp.19-89

Statistical analysis, model and estimation of parameters

Outlier exclusions: All dietary intake and biomarker variables were logarithmically transformed before analysis so that their distributions within each study/sex were

approximately normal, as confirmed by visualization of quantile-quantile (QQ) plots. For each variable, extreme outlying values were excluded if the log value was less than Q1 – 2×(Q3-Q1) or greater than Q3 + 2×(Q3-Q1), where Q1 was the 25

th

percentile of the distribution of log values and Q3 was the 75

th

percentile. Overall less than 1% of all observations were so excluded. Detailed percentages of exclusions for each type of measurement in each study are included in eTable A7 at the end of this document.

Exclusion of urine samples: We excluded urinary marker values from analysis only if participants declared missing two or more voids during 24-hour collection. This information was elicited by questionnaire or interview and supplied to us for all of the studies except NPAAS. Approximately 1% of urine samples were thereby excluded from our analysis in the remaining four studies. No exclusions were made on the basis of para- amino-benzoic acid results.

28

Specifically, the numbers of urine samples that were excluded due to a report of missing two or more voids were as follows: OPEN: 5 samples in men and 5 samples in women:

total 10 samples out of a total of 941 samples (1.1%); Energetics: 3 samples in women

and none in men: total 3 samples out of a total of 643 samples (0.5%); AMPM: 14 sample

in women and 5 in men: total 19 samples out of a total of 1,131 samples (1.7%); NBS: 6

samples in women out of total of 661 samples (0.9%). No participants in our database

(2)

were entirely excluded from the analysis due to the report of missing two or more voids, since their other urine samples were available.

Choice of length of sub-period for usual intake: We chose the length of the sub-period to

be 90 days. This choice should be made with care. The aim should be to include short enough sub-periods to capture the variation in dietary intakes, but not so short that measurements within any sub-period are absent or very sparse. Thus the choice depends on the design of the study and the data that are available.

Why the meta-analysis framework is necessary in our application: Our model is specified

within the framework of a meta-analysis. The meta-analysis framework is necessary because the design of each study involved repeated applications of the biomarkers within a specific and relatively narrow time-window. In OPEN, the repeat was after

approximately 2 weeks, in Energetics, NBS and NPAAS after approximately 6 months, and in AMPM after 10-23 months. Our method requires estimation of the correlation between intakes over the whole of the target period, which we choose to be 1-year.

Therefore we needed to include these different studies so as to span the whole period.

Biomarker model: Denote the k

th

repeat biomarker assessment in the j

th

sub-period (j

=1,…,10) on the i

th

individual of study h (h=1,..,5) by M

hijk

. Note that in each study the 6

th

sub-period (j=6) is the period in which the first FFQ was administered. The model is:

M

hijk

= T

hijk

+ δ

hijk

, [A1]

(3)

where T

hijk

is the true intake on the day corresponding to the marker assessment and δ

hijk

is random error that is independent of T and all other error variables (introduced in models [A2] and [A3] below).

24HR model: Denote the 24-hour recall assessment that corresponds to the day of marker

assessment M

hijk

by R

hijk

. Otherwise if the 24-hour recall is conducted in the same sub- period as the biomarker but not corresponding to the same day, then a subscript k’ that is not the same as any k used for the biomarker assessments in this sub-period is assigned.

We write the model as:

R

hijk

= β

R0h

+ β

R1h

T

hijk

+ β

R2ht

Z

Rhi

+ u

Rhi

+ ε

Rhijk

[A2]

where T

hijk

is the true intake on the day corresponding to the 24HR assessment, Z

Rhi

is a vector of explanatory variables, u

Rhi

is a random error term representing subject-specific bias (6) and e

Rhijk

is independent random error that is not correlated over time. Thus it is assumed that correlation between repeat 24HRs occurs through the correlation between the true intakes at those times and also the subject-specific biases. The covariates Z

R

are included in the model for the purpose of estimating calibration equations, but are omitted for the purpose of estimating attenuation factors and correlations with truth, since the latter are traditionally reported without adjustment for covariates.

FFQ Model: Denote the first FFQ assessment that was obtained from individual i in study

h by Q

hi

. We write the model as

(4)

Q

hi

= β

Q0h

+ β

Q1h

T

hi

+ β

Q2ht

Z

Qhi

+ u

Qhi

+ ε

Qhi

[A3]

where T

hi

is the average true intake over the sub-period in which the FFQ was

administered and the 3 previous sub-periods, i.e. in sub-periods 3,4,5 and 6, since this is assumed to be the target of the FFQ. The covariates Z

Q

may be the same as Z

R

or may differ. The term u

Qhi

is a random error term representing subject-specific bias and e

Qhi

is independent random error. In models [A1]-[A3] the error terms (d,e) and the subject- specific biases (u) are all assumed to be independent of each other, except for u

Rhi

and u

Qhi

, which are allowed to be correlated. This correlation and also the variances of u

Qhi

, ε

Qhi

, u

Rhi

, and ε

Rhijk

are assumed to differ by study. However, the variance of δ

hijk

is assumed to be the same for each study, since there were not sufficient replications of the DLW measurements within sub-periods to estimate it separately for each study.

Time-Varying True Intake Model: We need to specify a stochastic structure for how T

varies with time. Denote true usual intake in sub-period j by T

hij

, conditional on

explanatory variables Z

T

. The conditional distribution of T

hij

, given Z

Thi

, has expectation, variance and serial correlation given by:

E(T

hij

| Z

hi

) = g

T0h

+ γ

T1ht

Z

Thi

var(T

hij

| Z

Thi

) = s

Th2

[A4]

corr(T

hij

,T

hij’

| Z

Thi

) = r

jj’

In addition, a single-day’s intake within a sub-period is:

(5)

T

hijk

= T

hij

+ f

hijk

where var( f

hijk

) = w

f

s

2Th

and f

hijk

are independent of each other and of T

hij

and Z

Thij

. The covariates Z

T

may be the same as Z

R

or Z

Q

or may differ. The correlations r

jj’

are taken to have a structure corresponding to banded Toeplitz, autoregressive model order 1,

compound symmetry, or degenerate (all 1’s), whichever provides the best fit to the model (as judged by the Akaike Information Criterion). The last option (degenerate structure), together with setting w

f

=0, corresponds to the fixed usual intake (no variation in usual intake over time) model, and we use it to make comparisons of estimates under a fixed usual intake model with those obtained under a time-varying usual intake model.

Under this model the correlation between true intakes on different days within the same

sub-period is given by 1/(1+ w

f

), and the correlation between true intakes on a day in

period j and another day in period j’ is given by r

jj’

/(1+ w

f

). Another consequence of the

model is that 24HRs and biomarkers that measure the same day’s intake have covariance

(conditional on covariates Z) β

R1h

var(T

hijk

) = β

R1h

s

2Th

(1+ w

f

), whereas 24HRs and

biomarkers measured in the same sub-period but not for the same day’s intake have a

smaller covariance, equal to β

R1h

s

2Th

, and those measured in different sub-periods, j and

j’, have an even smaller covariance, equal to β

R1h

s r

2Th jj’

.

(6)

We take the target measure of each instrument to be the average true intake over a period of 12 months. However the timing of these twelve months differs slightly between the 24HR and the FFQ. For a 24HR reported by individual i of study h in sub-period j, because the report is on current intake, we take the target to be

å

+

-

=

=

j1

2 j ' j

' hij

hi

T / 4

T , [A5]

the average over sub-periods surrounding (and including) sub-period j. For a FFQ

reported in sub-period j (where in or application j=6), because the report is on past intake, we take

å

=-

=

j

3 j ' j

' hij

hi

T / 4

T , [A6]

the average over the sub-periods before (and including) sub-period j. These choices affect the calculation of the attenuation factors and the correlations with true average intake, as indicated below. Note, also, that other definitions of average intake may be used, for example, averaging over different numbers of sub-periods, with each definition resulting in a different calculation of the attenuation factor and correlation with truth.

(a) 24-hour recall

The attenuation factor, l

Rh

, for a single 24HR in study h is calculated as

cov(R

hijk

,T

hi

)/var(R

hijk

), with T

hi

defined in [A5]. From model [A2] without covariates Z and the structure [4] defined for T

hijk

, we may compute that

) )

1 ( (

4

) 1

(

2 Rh 2

uRh 2

Th 2

h 1 R

1 j , j 1 j , j 2 j , j 2

Th h 1 R Rh

e f

+ - -

s + s + w + s b

r + r + r + s

= b

l .

(7)

Similarly, the correlation, r

Rh

, between a single 24HR and truth, that is T

hi

defined in [A5], is given by

) 2 2

2 2

2 2

4 )(

) 1 ( (

) 1

(

j , 1 j 1 j , 1 j 1 j , j 2 j , 1 j 2 j , j 2 j , 1 j 2

Rh 2

uRh 2

Th 2

h 1 R

1 j , j 1 j , j 2 j , j Th h 1 R Rh

+ -

+ - -

+ -

- - e

f

+ - -

r + r + r + r + r + r + s

+ s + w + s b

r + r + r + s

= b r

It is of interest also to compute these quantities for the mean of two or more 24HRs. This is done simply by using s

2eRh

/ m in place of s

2eRh

in the above equations, where m is the number of repeat 24HRs that is of interest.

(b) Food Frequency Questionnaire

From model 3 without covariates, together with the T

hi

defined in [A6], we can compute the attenuation factor, l

Qh

, as

2 Qh 2

uQh 2

j , j 2 j , j 2 j , 1 j 3 j , j 3 j , 1 j 3 j , 2 j 2

Th 2

h 1 Q

2 j , j 2 j , j 2 j , 1 j 3 j , j 3 j , 1 j 3 j , 2 j 2

Th h 1 Q

Qh

( 4 2 2 2 2 2 2 ) 16 16

) 2 2

2 2

2 2

4 (

e -

- -

- -

- - -

-

- -

- - -

- - -

-

s + s + r + r + r + r + r + r + s b

r + r + r + r + r + r + s

= b l

and the correlation with truth, r

Qh

, as

2 Qh 2

uQh 2

j , j 2 j , j 2 j , 1 j 3 j , j 3 j , 1 j 3 j , 2 j 2

Th 2

h 1 Q

2 j , j 2 j , j 2 j , 1 j 3 j , j 3 j , 1 j 3 j , 2 j 2

Th 2

h 1 Q

Qh

( 4 2 2 2 2 2 2 ) 16 16

) 2 2

2 2

2 2

4 (

e -

- -

- -

- - -

-

- -

- - -

- - -

-

s + s + r + r + r + r + r + r + s b

r + r + r + r + r + r + s

= b r

.

For both 24HR and FFQ, the attenuation factor and correlation with truth may be

estimated by substituting the maximum likelihood estimates of the parameters into the

above equations. The variances of the estimates are obtained using the nonparametric

bootstrap. Values for the time-fixed average intake model are obtained by setting the r

(8)

values to 1 and w

f

to 0. Overall attenuation factors and correlations with truth are obtained by taking weighted averages across the five studies, with weights inversely proportional to the variance of the estimates.

Estimation of the model parameters

Parameters were estimated using maximum likelihood (conditional likelihood given fixed covariates Z), under the assumption that Q

hi

, R

hijk

and M

hijk

have a conditional normal distribution given Z

hi

(we write Z without the subscript Q, R or T assuming here that these three sets of covariates coincide). The conditional means, variances and covariances of Q

hi

, R

hijk

and M

hijk

, given Z

hi

, are provided in the Appendix. In fact, as long as the first and second moments are correctly specified, the assumption of normality is not needed, and all parameters are consistently estimated. The use of the nonparametric bootstrap for inference also obviates the need to assume normality. The estimation was carried out using a custom-built program written in SAS.

Previous work that did not assume a fixed usual intake model

Rosner et al

3

modeled data from a nutritional study with two sets of measurements taken 4 years apart, and allowed usual intake of vitamin C to differ at the two time points. Their main aim was to estimate attenuation coefficients that did not depend on an assumption of uncorrelated errors between a questionnaire and the more accurate self-report

instrument, which they did by introducing the repeated assessments. However, they

(9)

estimated the attenuation coefficient pertaining to the intake at a single time point rather than the average intake over the whole period. Keogh et al

4

followed Rosner et al’s approach but dropped their assumption that the more accurate self-report was unbiased.

The price to pay for this was that their model was not completely identifiable and required the use of sensitivity analysis to make inferences about the model parameters.

Prentice and Huang

5

discussed the longer time-period of dietary exposure of interest relative to the typically shorter time periods of validation studies with biomarkers, and presented sensitivity analyses of the impact of this difference, but did not develop a specific model for the variation of dietary intake with time. Our proposed model is related to these approaches, but, unlike them, specifically models the correlation of true intake across time and estimates attenuation factors and correlations of self-reports with true intake for a longer-term average intake.

Further details of the design of the VSPP studies

Food Frequency Questionnaires (FFQ): Three versions FFQ were used: Diet History

Questionnaire (OPEN, Energetics);

15

the Harvard FFQ (AMPM),

16

and the WHI FFQ (NBS, NPAAS).

17,18

24-hour recalls (24HR): Different versions of 24HR were used. OPEN used a pencil-

paper version of USDA’s interviewer-administered Automated Multiple Pass Method in

person.

10

AMPM used a computer-automated version of this same method; the first

recall was conducted in person and the second and third recalls were telephone-

administered.

11

NBS and NPAAS used the Nutrition Data System for Research (2005

nutrient database) interviewer-administered multiple-pass method by telephone.

17,19
(10)

Energetics used DietDay, a web-based self-administered 24HR.

11

For further details, see references 10-19.

Biomarkers: Doubly labeled water was measured at the University of Wisconsin in four

studies, and at the USDA laboratory in AMPM. In three studies urinary nitrogen was measured at the Medical Research Council (Cambridge UK), using the Kjeldahl method, and in the AMPM and Energetics studies at the USDA laboratory, using the Dumas combustion method. Urinary potassium and sodium were measured for OPEN at the Medical Research Council, Cambridge, UK, using the flame photometry method, and in the other studies using the ion-selective electrode method at the following laboratories:

UCLA (Energetics - potassium), USDA (Energetics – sodium), Medstar Penn Medical (AMPM), PPD (NBS), and University of Washington (NPAAS).

Timing of the different measurements: In all studies except AMPM, the FFQ was

administered at the beginning of the main study. In AMPM, the FFQ was administered 1- 14 months after the beginning of the main study. In OPEN, a second FFQ was

administered 60 days after the first. In all studies DLW was administered at 1-14 days, and 24-hour urines were collected during the same period. The 24HRs were administered on the following days: OPEN 1 and 61; Energetics 1, 3, 5, 8, 11, 14, 30 and 60; AMPM 1, 5-6, 10-11; NBS none in the main study (but one in the reliability sub-study at 180 days in 20% of the sample); NPAAS three repeats from 14 to 104 days. These

measurements were supplemented by those in the reliability sub-studies (see main text).

Calibration Equations

(11)

We fit the models [A1]-[A4], estimated the parameters, and from there derived the calibration equations. Some technical details of the derivation for the FFQ follow.

The conditional expectation of T given Q is

E(T

hi

| Q

hi

, Z

hi

) = λ

Qh

{Q

hi

– E(Q

hi

| Z

hi

)} + g

T0h

+ γ

T1ht

Z

hi

, [A7]

where

E(Q

hi

| Z

hi

) = β

Q0h

+ β

Q1h

(g

T0h

+ γ

T1ht

Z

hi

) + β

Q2ht

Z

hi

.

Formula [7] can be used to calculate the calibration equation for any single study h.

If one wants to obtain an overall calibration equation that is of general use for new studies that use a similar FFQ in a similar population to the ones used in the 5 studies, then one may use in place of l

Qh

and g

T0h

their weighted averages over the 5 studies, and the estimate of g

T1

from a model that sets γ

T1ht

equal for all 5 studies, after testing for heterogeneity across studies. In this case, the only quantity on the right-hand side of [A7]

that remains to be determined is E(Q

hi

| Z

hi

), which can be estimated for the new study,

since both Q and Z are observed. In Tables A1-A6, the estimates of l

Qh

are presented for

each study together with the weighted average of g

T0h

(Intercept) and the estimates of g

T1

.

(12)

eTable A1. Calibration Equations for Usual Intakes of Energy, Protein and Protein Density, Multiple Correlations (R

2

), and Squared Correlation for the Instrument Only: Men

Covariate

Energy Protein Protein Density

Reg.

coeff. P R

2 a

R

2

instr

b

Reg.

coeff. P R

2 a

R

2

instr

b

Reg.

coeff. P R

2 a

R

2

instr

b

FFQ: OPEN 0.061 0.40 0.03 0.151 0.40 0.11 0.426 0.25 0.20

Energetics 0.066 0.35 0.05 0.151 0.28 0.06 0.472 0.22 0.14

AMPM -0.003 0.28 0.004 0.189 0.35 0.07 0.364 0.14 0.12

Weighted Average 0.051 0.161 0.414

Heterogeneity

f

0.143 0.706 0.778

Intercept 6.105 3.720 2.253

Age: <40y v 50-59y 0.049

<0.001

0.059

0.042

0.017

0.318

40-49y v 50-59y 0.039 0.031 -0.001

60-69y v 50-59y -0.074 -0.028 0.043

log BMI 0.575 <0.001 0.691 <0.001 0.102 0.129

Race: African American v Other

h

-0.044 0.064 -0.201 <0.001 -0.133 0.002

Education: High school v College 0.030

0.553 0.046

0.096 0.042

0.195

Postgrad v College 0.002 0.042 0.036

Heterogeneity

g

0.103 0.117 0.314

a

R-squared for model with self-report instrument and covariates

b

R-squared for model with self-report instrument only

c

24HR = 24-hour dietary recall

d

FFQ = Food frequency questionnaire

e

Z = other covariates in the calibration model

f

P-value for heterogeneity of adjusted “attenuation coefficient” across studies

g

P-value for heterogeneity of regression coefficients for other covariates (γ

T1h

) across studies

h

Other includes non-Hispanic whites

(13)

eTable A2. Calibration Equations for Usual Intakes of Energy, Protein and Protein Density, Multiple Correlations (R

2

), and Squared Correlation for the Instrument Only: Women

Covariate

Energy Protein Protein Density

Reg.

coeff. P R

2 a

R

2

instr

b

Reg.

coeff. P R

2 a

R

2

instr

b

Reg.

coeff. P R

2 a

R

2

instr

b

FFQ: OPEN 0.039 0.46 0.02 0.132 0.18 0.09 0.419 0.23 0.16

Energetics 0.078 0.42 0.11 0.039 0.17 0.005 0.528 0.33 0.29

AMPM 0.060 0.24 0.02 0.149 0.22 0.08 0.425 0.18 0.17

NBS 0.039 0.48 0.02 0.191 0.42 0.17 0.426 0.25 0.23

NPAAS 0.063 0.50 0.09 0.162 0.31 0.16 0.412 0.21 0.18

Weighted Average 0.053 0.152 0.436

Heterogeneity

f

0.327 0.116 0.886

Intercept 6.390 4.441 2.596

Age: <40y v 50-59y 0.039

<0.001

0.059

<0.001

0.027

0.004

40-49y v 50-59y 0.052 0.023 -0.033

60-69y v 50-59y -0.029 0.021 0.048

70-79y v 50-59y -0.084 -0.048 0.037

>80y v 50-59y -0.129 -0.177 -0.051

log BMI 0.405 <0.001 0.371 <0.001 -0.012 0.744

Race: African American v Other

h

-0.038 <0.001 -0.116 <0.001 -0.072 <0.001

Education: High school v College -0.013

0.212 -0.030

0.067 -0.016

0.220

Postgrad v College 0.004 0.014 0.018

Heterogeneity

g

0.111 0.579 0.054

a

R-squared for model with self-report instrument and covariates

b

R-squared for model with self-report instrument only

c

24HR = 24-hour dietary recall

d

FFQ = food frequency questionnaire

e

Z = other covariates in the calibration model

f

P-value for heterogeneity of adjusted “attenuation coefficient” across studies

g

P-value for heterogeneity of regression coefficients for other covariates (γ

T1h

) across studies

h

Other includes non-Hispanic whites

(14)

eTable A3. Calibration Equations for Usual Intakes of Potassium and Potassium Density, Multiple Correlations (R

2

), and Squared Correlation for the Instrument Only: Men

Covariate

Potassium Potassium Density

Reg.

coeff. P R

2 a

R

2

instr

b

Reg.

coeff. P R

2 a

R

2

instr

b

FFQ: OPEN 0.307 0.39 0.31 0.388 0.38 0.24

Energetics 0.174 0.24 0.05 0.540 0.32 0.15

AMPM 0.399 0.35 0.20 0.600 0.37 0.25

Weighted Average 0.322 0.453

Heterogeneity

f

0.157 0.157

Intercept 7.771 1.792

Age: <40y v 50-59y -0.111

0.026

-0.159

<0.001

40-49y v 50-59y -0.026 -0.081

60-69y v 50-59y 0.029 0.096

log BMI 0.149 0.072 -0.474 <0.001

Race: African American v Other

h

-0.243 <0.001 -0.166 0.002 Education: High school v College 0.095

0.025 0.053

0.078

Postgrad v College 0.063 0.060

Heterogeneity

g

0.788 0.844

a

R-squared for model with self-report instrument and covariates

b

R-squared for model with self-report instrument only

c

24HR = 24-hour dietary recall

d

FFQ = Food frequency questionnaire

e

Z = other covariates in the calibration model

f

P-value for heterogeneity of adjusted “attenuation coefficient” across studies

g

P-value for heterogeneity of regression coefficients for other covariates (γ

T1h

) across studies

h

Other includes non-Hispanic whites

(15)

eTable A4. Calibration Equations for Usual Intakes of Potassium and Potassium Density, Multiple Correlations (R

2

), and Squared Correlation for the Instrument Only: Women

Covariate

Potassium Potassium Density

Reg.

coeff. P R

2 a

R

2

instr

b

Reg.

coeff. P R

2 a

R

2

instr

b

FFQ: OPEN 0.206 0.15 0.10 0.511 0.44 0.35

Energetics 0.072 0.15 0.03 0.565 0.42 0.32

AMPM 0.198 0.20 0.11 0.627 0.36 0.28

NBS 0.299 0.30 0.22 0.441 0.38 0.26

NPAAS 0.230 0.24 0.15 0.356 0.32 0.17

Weighted Average 0.221 0.472

Heterogeneity

f

0.018 0.158

Intercept 7.920 1.432

Age: <40y v 50-59y -0.145

0.001

-0.182

<0.001

40-49y v 50-59y -0.034 -0.090

60-69y v 50-59y 0.011 0.035

70-79y v 50-59y -0.002 0.083

>80y v 50-59y -0.086 0.053

log BMI -0.006 0.892 -0.374 <0.001

Race: African American v Other

h

-0.192 <0.001 -0.149 <0.001 Education: High school v College -0.036

<0.001 -0.027

<0.001

Postgrad v College 0.089 0.082

Heterogeneity

g

0.395 0.195

a

R-squared for model with self-report instrument and covariates

b

R-squared for model with self-report instrument only

c

24HR = 24-hour dietary recall

d

FFQ = food frequency questionnaire

e

Z = other covariates in the calibration model

f

P-value for heterogeneity of adjusted “attenuation coefficient” across studies

g

P-value for heterogeneity of regression coefficients for other covariates (γ

T1h

) across studies

h

Other includes non-Hispanic whites

(16)

eTable A5. Calibration Equations for Usual Intakes of Sodium and Sodium Density, Multiple Correlations (R

2

), and Squared Correlation for the Instrument Only: Men

Covariate

Sodium Sodium Density

Reg.

coeff. P R

2 a

R

2

instr

b

Reg.

coeff. P R

2 a

R

2

instr

b

FFQ: OPEN 0.130 0.40 0.07 0.393 0.29 0.20

Energetics 0.069 0.20 0.00 0.498 0.11 0.09

AMPM 0.135 0.29 0.04 0.297 0.12 0.07

Weighted Average 0.125 0.366

Heterogeneity

f

0.770 0.697

Intercept 5.480 -0.502

Age: <40y v 50-59y 0.041

0.305

0.005

0.173

40-49y v 50-59y 0.002 -0.033

60-69y v 50-59y -0.044 0.040

log BMI 0.857 <0.001 0.254 0.003

Race: African American v Other

h

-0.071 0.179 0.003 0.956 Education: High school v College 0.043

0.597 0.037

0.334

Postgrad v College 0.022 0.038

Heterogeneity

g

0.742 0.479

a

R-squared for model with self-report instrument and covariates

b

R-squared for model with self-report instrument only

c

24HR = 24-hour dietary recall

d

FFQ = Food frequency questionnaire

e

Z = other covariates in the calibration model

f

P-value for heterogeneity of adjusted “attenuation coefficient” across studies

g

P-value for heterogeneity of regression coefficients for other covariates (γ

T1h

) across studies

h

Other includes non-Hispanic whites

(17)

eTable A6. Calibration Equations for Usual Intakes of Sodium and Sodium Density, Multiple Correlations (R

2

), and Squared Correlation for the Instrument Only: Women

Covariate

Sodium Sodium Density

Reg.

coeff. P R

2 a

R

2

instr

b

Reg.

coeff. P R

2 a

R

2

instr

b

FFQ: OPEN 0.086 0.29 0.04 0.293 0.14 0.13

Energetics -0.005 0.14 0.01 0.001 0.04 0.00

AMPM 0.090 0.32 0.05 0.311 0.19 0.17

NBS 0.057 0.30 0.04 0.385 0.19 0.12

NPAAS 0.076 0.33 0.02 0.466 0.27 0.13

Weighted Average 0.068 0.349

Heterogeneity

f

0.688 0.252

Intercept 6.273 -0.099

Age: <40y v 50-59y 0.132

<0.001

0.073

0.168

40-49y v 50-59y 0.046 -0.002

60-69y v 50-59y -0.056 -0.016

70-79y v 50-59y -0.076 0.021

>80y v 50-59y -0.181 -0.052

log BMI 0.548 <0.001 0.146 0.002

Race: African American v Other

h

0.002 0.925 0.058 0.026 Education: High school v College 0.015

0.273 0.033

0.109

Postgrad v College -0.025 -0.023

Heterogeneity

g

0.374 0.092

a

R-squared for model with self-report instrument and covariates

b

R-squared for model with self-report instrument only

c

24HR = 24-hour dietary recall

d

FFQ = food frequency questionnaire

e

Z = other covariates in the calibration model

f

P-value for heterogeneity of adjusted “attenuation coefficient” across studies

g

P-value for heterogeneity of regression coefficients for other covariates (γ

T1h

) across studies

h

Other includes non-Hispanic whites

(18)

eTable A7: Percentage observations removed due to outlier detection:

Study/Gender/Instrument Energy

%

Protein

%

Protein Density

%

Potass.

%

Potass.

Density

%

Sodium

%

Sodium Density

%

OPEN Male 24HR 0.8 0.6 0.0 0.2 0.4 0.6 1.2

FFQ 1.0 0.6 1.5 0.6 0.4 1.2 1.9

Marker 1.2 2.0 2.8 1.2 1.5 0.4 1.1

Female 24HR 0.2 1.6 0.7 0.2 0.2 1.1 0.7

FFQ 0.2 0.2 0.5 0.2 0.0 0.2 1.4

Marker 0.0 0.2 0.3 0.5 1.5 0.5 1.0

UCLA Male 24HR 1.3 2.2 0.3 1.3 0.0 0.5 1.1

FFQ 1.1 2.2 2.2 2.2 1.1 0.0 2.2

Marker 0.0 0.6 0.6 1.1 1.3 0.0 0.0

Female 24HR 0.8 0.9 0.4 0.7 0.4 1.0 1.5

FFQ 0.6 0.0 1.2 0.0 1.8 0.0 1.2

Marker 0.6 0.0 1.6 0.0 0.0 0.0 0.0

AMPM Male 24HR 0.4 0.6 0.3 0.4 0.4 1.2 0.8

FFQ 0.4 0.0 0.4 0.4 0.0 0.4 0.4

Marker 0.0 0.4 0.0 0.4 0.6 1.0 1.0

Female 24HR 0.4 0.1 0.4 0.5 0.4 0.6 0.6

FFQ 0.4 0.8 0.4 0.8 0.4 0.4 0.4

Marker 0.4 2.7 1.9 0.2 0.0 0.8 0.6

NBS Female 24HR 0.5 0.9 0.0 0.9 0.0 0.0 0.0

FFQ 1.3 1.1 0.4 1.5 0.4 0.7 0.6

Marker 0.4 0.6 0.6 0.9 0.6 0.0 0.0

NPAAS Female 24HR 0.6 0.8 0.2 0.5 0.5 0.2 0.3

FFQ 0.4 0.2 1.1 0.4 0.2 0.0 0.0

Marker 2.9 0.0 2.5 0.5 2.7 0.5 2.8

(19)

SAS code for estimating the parameters for the compound symmetry model for protein intake in men

title1 "Time-Varying Model Example: Fit Model to Simulated Data Using SAS Proc Calis";

title2 "Data Simulated Using Estimated Parameters for Protein Intake in Men in VSPP";

/* file name of simulated data. */

filename infile "c:\users\midthund\my

documents\freedman\dlw.studies\data\simulated_data.txt";

%let nperiod = 10; /* number of time periods */

options center linesize=120 pagesize=42;

/* read in simulated data from text file. */

data simdata;

infile infile;

input study id ffq rec1-rec6 biom1-biom4

period_rec1-period_rec6 period_biom1-period_biom4 day_rec1-day_rec6 day_biom1-day_biom4;

run;

proc sort data=simdata; by study; run;

proc means data=simdata;

by study;

title4 "Means for Simulated Data, By Study";

run;

title4;

/* create data set for proc calis. */

data simdata;

set simdata;

/* 24hr */

/* r1_1 = recall 1 measured in period 1, r1_2 = recall 1 measured in period 2, etc. */

array r1i (*) r1_1-r1_10;

array r2i (*) r2_1-r2_10;

array r3i (*) r3_1-r3_10;

array r4i (*) r4_1-r4_10;

(20)

array r5i (*) r5_1-r5_10;

array r6i (*) r6_1-r6_10;

/* biomarkers values */

/* b1_1 = biomarker 1 measured in period 1, b1_2 = biomarker 1 measured in period 2, etc. */

array b1i (*) b1_1-b1_10;

array b2i (*) b2_1-b2_10;

array b3i (*) b3_1-b3_10;

array b4i (*) b4_1-b4_10;

array b5i (*) b5_1-b5_10;

array b6i (*) b6_1-b6_10;

array b7i (*) b7_1-b7_10;

array b8i (*) b8_1-b8_10;

array b9i (*) b9_1-b9_10;

array b10i (*) b10_1-b10_10;

/* ffq */

q = ffq;

/* 24hr */

if (period_rec1 ^= .) then r1i(period_rec1) = rec1;

if (period_rec2 ^= .) then r2i(period_rec2) = rec2;

if (period_rec3 ^= .) then r3i(period_rec3) = rec3;

if (period_rec4 ^= .) then r4i(period_rec4) = rec4;

if (period_rec5 ^= .) then r5i(period_rec5) = rec5;

if (period_rec6 ^= .) then r6i(period_rec6) = rec6;

/* biomarker values */

/* if biomarker measured on same day as a 24hr, use arrays b1i to b6i. */

/* if biomarker not measured on same day as any 24hr, use arrays b7i to b10i. */

if (period_biom1 ^= . & day_biom1 = day_rec1) then b1i(period_biom1) = biom1;

else if (period_biom1 ^= . & day_biom1 = day_rec2) then b2i(period_biom1) = biom1;

else if (period_biom1 ^= . & day_biom1 = day_rec3) then b3i(period_biom1) = biom1;

else if (period_biom1 ^= . & day_biom1 = day_rec4) then b4i(period_biom1) = biom1;

else if (period_biom1 ^= . & day_biom1 = day_rec5) then b5i(period_biom1) = biom1;

else if (period_biom1 ^= . & day_biom1 = day_rec6) then b6i(period_biom1) = biom1;

else if (period_biom1 ^= .) then b7i(period_biom1) = biom1;

if (period_biom2 ^= . & day_biom2 = day_rec1) then b1i(period_biom2) = biom2;

else if (period_biom2 ^= . & day_biom2 = day_rec2) then b2i(period_biom2) = biom2;

else if (period_biom2 ^= . & day_biom2 = day_rec3) then b3i(period_biom2) = biom2;

(21)

else if (period_biom2 ^= . & day_biom2 = day_rec4) then b4i(period_biom2) = biom2;

else if (period_biom2 ^= . & day_biom2 = day_rec5) then b5i(period_biom2) = biom2;

else if (period_biom2 ^= . & day_biom2 = day_rec6) then b6i(period_biom2) = biom2;

else if (period_biom2 ^= .) then b8i(period_biom2) = biom2;

if (period_biom3 ^= . & day_biom3 = day_rec1) then b1i(period_biom3) = biom3;

else if (period_biom3 ^= . & day_biom3 = day_rec2) then b2i(period_biom3) = biom3;

else if (period_biom3 ^= . & day_biom3 = day_rec3) then b3i(period_biom3) = biom3;

else if (period_biom3 ^= . & day_biom3 = day_rec4) then b4i(period_biom3) = biom3;

else if (period_biom3 ^= . & day_biom3 = day_rec5) then b5i(period_biom3) = biom3;

else if (period_biom3 ^= . & day_biom3 = day_rec6) then b6i(period_biom3) = biom3;

else if (period_biom3 ^= .) then b9i(period_biom3) = biom3;

if (period_biom4 ^= . & day_biom4 = day_rec1) then b1i(period_biom4) = biom4;

else if (period_biom4 ^= . & day_biom4 = day_rec2) then b2i(period_biom4) = biom4;

else if (period_biom4 ^= . & day_biom4 = day_rec3) then b3i(period_biom4) = biom4;

else if (period_biom4 ^= . & day_biom4 = day_rec4) then b4i(period_biom4) = biom4;

else if (period_biom4 ^= . & day_biom4 = day_rec5) then b5i(period_biom4) = biom4;

else if (period_biom4 ^= . & day_biom4 = day_rec6) then b6i(period_biom4) = biom4;

else if (period_biom4 ^= .) then b10i(period_biom4) = biom4;

run;

/*

proc means data=simdata;

by study;

var q r1_1-r1_10 r2_1-r2_10 r3_1-r3_10 r4_1-r4_10 r5_1-r5_10 r6_1-r6_10 b1_1-b1_10 b2_1-b2_10 b3_1-b3_10 b4_1-b4_10 b5_1-b5_10

b6_1-b6_10 b7_1-b7_10 b8_1-b8_10 b9_1-b9_10 b10_1-b10_10;

title4 "Data for Proc Calis";

run;

title4;

*/

/* print number of subjects and total number of observations. */

data simdata;

set simdata;

array x (*) q r1_1-r1_10 r2_1-r2_10 r3_1-r3_10 r4_1-r4_10 r5_1-r5_10 r6_1-r6_10 b1_1-b1_10 b2_1-b2_10 b3_1-b3_10 b4_1-b4_10 b5_1-b5_10

b6_1-b6_10 b7_1-b7_10 b8_1-b8_10 b9_1-b9_10 b10_1-b10_10;

nobsi = 0;

do i = 1 to dim(x);

if (x(i) ^= .) then nobsi = nobsi + 1;

end;

(22)

if (nobsi = 0) then nobsi = .;

run;

proc means data=simdata n min max sum;

by study;

var nobsi;

title4 "Number of Subjects, Minimum and Maximum Number of Observations per Subject, and Total Number of Observations";

title5 "By Study";

run;

title4;

/* initial parameter estimates for proc calis. */

data inest;

_type_ = "PARMS";

beta_Q0_Study1 = 8;

beta_Q0_Study2 = 8;

beta_Q0_Study3 = 8;

beta_Q1a_Study1 = 0;

beta_Q1a_Study2 = 0;

beta_Q1a_Study3 = 0;

beta_R0_Study1 = 8;

beta_R0_Study2 = 8;

beta_R0_Study3 = 8;

beta_R1_Study1 = 0;

beta_R1_Study2 = 0;

beta_R1_Study3 = 0;

mean_Tij_Study1 = 8;

mean_Tij_Study2 = 8;

mean_Tij_Study3 = 8;

logse_Tij_Study1 = -1;

logse_Tij_Study2 = -1;

logse_Tij_Study3 = -1;

logse_eQ_Study1 = -1;

logse_eQ_Study2 = -1;

logse_eQ_Study3 = -1;

logse_eR_Study1 = -1;

logse_eR_Study2 = -1;

logse_eR_Study3 = -1;

logse_uR_Study1 = -1;

logse_uR_Study2 = -1;

logse_uR_Study3 = -1;

z_eQuR_Study1 = 0;

z_eQuR_Study2 = 0;

(23)

z_eQuR_Study3 = 0;

logse_delta = -1;

z_Tij = 0.5;

log_omega_phi = -0.5;

run;

/* call proc calis to fit measurement error (ME) model. */

/* Note 1: The most important table in the output is the final table labeled "Additional Parameters". */

/* Note 2: SAS will print the following warnings to the log file:

WARNING: Group 1. Variable b1_5 is constant for all nonmissing values ...

NOTE: PROC CALIS failed to fit the saturated model by the FIML estimation.

These warnings are generated because the data is sparse and can be safely igonored. */

ods exclude modelstatement endogenousvar exogenousvar stdmanifesteq stdlatenteq sqmultcorr lineqseq;

proc calis data=simdata method=fiml stderr nostand pshort inest=inest outest=outest;

nloptions omethod=newrap gconv=1e-8 fconv=1e-8 maxiter=200 maxfunc=1000 history;

/* --- */

/* define general ME model. */

/* --- */

model 1;

lineqs

/* true average intake in time period i = 1 to 10. */

ft_1 = mean_Tij * intercept + dt1,

ft_2 = mean_Tij * intercept + dt2,

ft_3 = mean_Tij * intercept + dt3,

ft_4 = mean_Tij * intercept + dt4,

ft_5 = mean_Tij * intercept + dt5,

ft_6 = mean_Tij * intercept + dt6,

ft_7 = mean_Tij * intercept + dt7,

ft_8 = mean_Tij * intercept + dt8,

ft_9 = mean_Tij * intercept + dt9,

ft_10 = mean_Tij * intercept + dt10,

/* ffq. */

(24)

q = beta_Q0 * intercept + beta_Q1a * ft_3 + beta_Q1a * ft_4 + beta_Q1a * ft_5 + beta_Q1a * ft_6 + eq,

/* person-specific bias for 24-hour recall. */

fur = 0 * intercept + dur;

/* covariance parameters. */

parameter logse_delta var_delta log_omega_phi omega_phi z_Tij rho_Tij corr_T2- corr_T&nperiod;

var_delta = exp(2 * logse_delta);

omega_phi = exp(log_omega_phi);

rho_Tij = (exp(2 * z_Tij) - 1) / (exp(2 * z_Tij) + 1);

array corrt (*) corr_T2-corr_T&nperiod;

/* autoregressive correlation structure for true average intake. */

/*

do i = 1 to dim(corrt);

corrt[i] = rho_Tij**i;

end;

*/

/* compound symmetric correlation structure for true average intake. */

do i = 1 to dim(corrt);

corrt[i] = rho_Tij;

end;

/* --- */

/* define study-specific ME models. */

/* --- */

group 1 / data=simdata(where=(study=1)) label="Study 1";

group 2 / data=simdata(where=(study=2)) label="Study 2";

group 3 / data=simdata(where=(study=3)) label="Study 3";

/* --- */

/* ME model for Study 1. */

(25)

/* --- */

model 2 / group=1;

refmodel 1;

/* rename parameters that differ by group. */

renameparm mean_Tij = mean_Tij_Study1, beta_Q0 = beta_Q0_Study1,

beta_Q1a = beta_Q1a_Study1;

lineqs

/* true intake on a given day */

ft1_5 = 0 * intercept + ft_5 + dphi1, ft2_6 = 0 * intercept + ft_6 + dphi2, ft2_7 = 0 * intercept + ft_7 + dphi3, ft7_5 = 0 * intercept + ft_5 + dphi4, ft7_6 = 0 * intercept + ft_6 + dphi5, ft9_5 = 0 * intercept + ft_5 + dphi6, ft9_6 = 0 * intercept + ft_6 + dphi7, /* 24-hour recall */

r1_5 = beta_R0_Study1 * intercept + beta_R1_Study1 * ft1_5 + fur + er1, r2_6 = beta_R0_Study1 * intercept + beta_R1_Study1 * ft2_6 + fur + er2, r2_7 = beta_R0_Study1 * intercept + beta_R1_Study1 * ft2_7 + fur + er3, /* biomarker values */

b1_5 = 0 * intercept + ft1_5 + eb1, b7_5 = 0 * intercept + ft7_5 + eb2, b7_6 = 0 * intercept + ft7_6 + eb3, b9_6 = 0 * intercept + ft9_6 + eb4;

variance

dur = var_uR_Study1, eq = var_eQ_Study1,

dt1-dt&nperiod = var_Tij_Study1 [...], dphi1-dphi7 = var_phi_Study1 [...], er1-er3 = var_eR_Study1 [...], eb1-eb4 = var_delta [...];

cov

(26)

dur * eq = cov_eQuR_Study1,

dt1 * dt2-dt&nperiod = cov_Study1_T2-cov_Study1_T10, dt2 * dt3-dt&nperiod = cov_Study1_T2-cov_Study1_T9, dt3 * dt4-dt&nperiod = cov_Study1_T2-cov_Study1_T8, dt4 * dt5-dt&nperiod = cov_Study1_T2-cov_Study1_T7, dt5 * dt6-dt&nperiod = cov_Study1_T2-cov_Study1_T6, dt6 * dt7-dt&nperiod = cov_Study1_T2-cov_Study1_T5, dt7 * dt8-dt&nperiod = cov_Study1_T2-cov_Study1_T4, dt8 * dt9-dt&nperiod = cov_Study1_T2-cov_Study1_T3, dt9 * dt&nperiod = cov_Study1_T2;

/* study-specific parameters */

parameter beta_Q0_Study1 beta_Q1_Study1 beta_R0_Study1 beta_R1_Study1 mean_Tij_Study1

logse_Tij_Study1 logse_eQ_Study1 logse_eR_Study1 logse_uR_Study1 var_Tij_Study1 var_eQ_Study1 var_eR_Study1 var_uR_Study1

var_phi_Study1 var_Tijk_Study1

z_eQuR_Study1 corr_eQuR_Study1 cov_eQuR_Study1 cov_Study1_T2-cov_Study1_T&nperiod

var_Ti_Study1 var_Q_Study1 var_R_Study1 cov_QT_Study1 cov_RT_Study1 corr_QT_Study1 corr_RT_Study1 atten_Q_Study1 atten_R_Study1;

beta_Q1_Study1 = 4 * beta_Q1a_Study1;

var_Tij_Study1 = exp(2 * logse_Tij_Study1);

var_eQ_Study1 = exp(2 * logse_eQ_Study1);

var_eR_Study1 = exp(2 * logse_eR_Study1);

var_uR_Study1 = exp(2 * logse_uR_Study1);

var_phi_Study1 = var_Tij_Study1 * omega_phi;

var_Tijk_Study1 = var_Tij_Study1 + var_phi_Study1;

corr_eQuR_Study1 = (exp(2 * z_eQuR_Study1) - 1) / (exp(2 * z_eQuR_Study1) + 1);

cov_eQuR_Study1 = corr_eQuR_Study1 * sqrt(var_eQ_Study1 * var_uR_Study1);

array covt1 (*) cov_Study1_T2-cov_Study1_T&nperiod;

do i = 1 to dim(covt1);

covt1[i] = corrt[i] * var_Tij_Study1;

end;

/* calculate correlations with truth and attenuation factors. */

var_Ti_Study1 = var_Tij_Study1 * (4 + 6 * corr_T2 + 4 * corr_T3 + 2 * corr_T4) /

4**2;

(27)

var_Q_Study1 = beta_Q1_Study1**2 * var_Ti_Study1 + var_eQ_Study1;

var_R_Study1 = beta_R1_Study1**2 * var_Tijk_Study1 + var_uR_Study1 + var_eR_Study1;

cov_QT_Study1 = beta_Q1_Study1 * var_Ti_Study1;

cov_RT_Study1 = beta_R1_Study1 * var_Tij_Study1 * (1 + 2 * corr_T2 + corr_T3) / 4;

corr_QT_Study1 = cov_QT_Study1 / sqrt(var_Q_Study1 * var_Ti_Study1);

corr_RT_Study1 = cov_RT_Study1 / sqrt(var_R_Study1 * var_Ti_Study1);

atten_Q_Study1 = cov_QT_Study1 / var_Q_Study1;

atten_R_Study1 = cov_RT_Study1 / var_R_Study1;

/* --- */

/* ME model for Study 2. */

/* --- */

model 3 / group=2;

refmodel 1;

/* rename parameters that differ by group. */

renameparm mean_Tij = mean_Tij_Study2, beta_Q0 = beta_Q0_Study2,

beta_Q1a = beta_Q1a_Study2;

lineqs

/* true intake on a given day */

ft1_5 = 0 * intercept + ft_5 + dphi1,

ft1_6 = 0 * intercept + ft_6 + dphi2,

ft2_5 = 0 * intercept + ft_5 + dphi3,

ft2_6 = 0 * intercept + ft_6 + dphi4,

ft3_5 = 0 * intercept + ft_5 + dphi5,

ft3_6 = 0 * intercept + ft_6 + dphi6,

ft3_7 = 0 * intercept + ft_7 + dphi7,

ft4_7 = 0 * intercept + ft_7 + dphi8,

ft4_8 = 0 * intercept + ft_8 + dphi9,

ft4_9 = 0 * intercept + ft_9 + dphi10,

ft5_7 = 0 * intercept + ft_7 + dphi11,

ft5_8 = 0 * intercept + ft_8 + dphi12,

ft5_9 = 0 * intercept + ft_9 + dphi13,

ft5_10 = 0 * intercept + ft_10 + dphi14,

ft6_7 = 0 * intercept + ft_7 + dphi15,

(28)

ft6_8 = 0 * intercept + ft_8 + dphi16, ft6_9 = 0 * intercept + ft_9 + dphi17, ft6_10 = 0 * intercept + ft_10 + dphi18, ft7_6 = 0 * intercept + ft_6 + dphi19, ft8_5 = 0 * intercept + ft_5 + dphi20, ft8_6 = 0 * intercept + ft_6 + dphi21, ft8_9 = 0 * intercept + ft_9 + dphi22, ft10_7 = 0 * intercept + ft_7 + dphi23, ft10_8 = 0 * intercept + ft_8 + dphi24, ft10_9 = 0 * intercept + ft_9 + dphi25, ft10_10 = 0 * intercept + ft_10 + dphi26, /* 24-hour recall */

r1_5 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft1_5 + fur + er1, r1_6 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft1_6 + fur + er2, r2_5 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft2_5 + fur + er3, r2_6 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft2_6 + fur + er4, r3_5 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft3_5 + fur + er5, r3_6 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft3_6 + fur + er6, r3_7 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft3_7 + fur + er7, r4_7 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft4_7 + fur + er8, r4_8 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft4_8 + fur + er9, r4_9 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft4_9 + fur + er10, r5_7 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft5_7 + fur + er11, r5_8 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft5_8 + fur + er12, r5_9 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft5_9 + fur + er13, r5_10 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft5_10 + fur + er14, r6_7 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft6_7 + fur + er15, r6_8 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft6_8 + fur + er16, r6_9 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft6_9 + fur + er17, r6_10 = beta_R0_Study2 * intercept + beta_R1_Study2 * ft6_10 + fur + er18, /* biomarker values */

b1_5 = 0 * intercept + ft1_5 + eb1,

b1_6 = 0 * intercept + ft1_6 + eb2,

b2_5 = 0 * intercept + ft2_5 + eb3,

b2_6 = 0 * intercept + ft2_6 + eb4,

b3_6 = 0 * intercept + ft3_6 + eb5,

b4_7 = 0 * intercept + ft4_7 + eb6,

b4_8 = 0 * intercept + ft4_8 + eb7,

b5_7 = 0 * intercept + ft5_7 + eb8,

b5_8 = 0 * intercept + ft5_8 + eb9,

b5_9 = 0 * intercept + ft5_9 + eb10,

b5_10 = 0 * intercept + ft5_10 + eb11,

(29)

b6_7 = 0 * intercept + ft6_7 + eb12, b6_8 = 0 * intercept + ft6_8 + eb13, b6_9 = 0 * intercept + ft6_9 + eb14, b7_6 = 0 * intercept + ft7_6 + eb15, b8_5 = 0 * intercept + ft8_5 + eb16, b8_6 = 0 * intercept + ft8_6 + eb17, b8_9 = 0 * intercept + ft8_9 + eb18, b10_7 = 0 * intercept + ft10_7 + eb19, b10_8 = 0 * intercept + ft10_8 + eb20, b10_9 = 0 * intercept + ft10_9 + eb21, b10_10 = 0 * intercept + ft10_10 + eb22;

variance

dur = var_uR_Study2, eq = var_eQ_Study2,

dt1-dt&nperiod = var_Tij_Study2 [...], dphi1-dphi26 = var_phi_Study2 [...], er1-er18 = var_eR_Study2 [...], eb1-eb22 = var_delta [...];

cov

dur * eq = cov_eQuR_Study2,

dt1 * dt2-dt&nperiod = cov_Study2_T2-cov_Study2_T10, dt2 * dt3-dt&nperiod = cov_Study2_T2-cov_Study2_T9, dt3 * dt4-dt&nperiod = cov_Study2_T2-cov_Study2_T8, dt4 * dt5-dt&nperiod = cov_Study2_T2-cov_Study2_T7, dt5 * dt6-dt&nperiod = cov_Study2_T2-cov_Study2_T6, dt6 * dt7-dt&nperiod = cov_Study2_T2-cov_Study2_T5, dt7 * dt8-dt&nperiod = cov_Study2_T2-cov_Study2_T4, dt8 * dt9-dt&nperiod = cov_Study2_T2-cov_Study2_T3, dt9 * dt&nperiod = cov_Study2_T2;

/* study-specific parameters */

parameter beta_Q0_Study2 beta_Q1_Study2 beta_R0_Study2 beta_R1_Study2 mean_Tij_Study2

logse_Tij_Study2 logse_eQ_Study2 logse_eR_Study2 logse_uR_Study2 var_Tij_Study2 var_eQ_Study2 var_eR_Study2 var_uR_Study2

var_phi_Study2 var_Tijk_Study2

z_eQuR_Study2 corr_eQuR_Study2 cov_eQuR_Study2 cov_Study2_T2-cov_Study2_T&nperiod

var_Ti_Study2 var_Q_Study2 var_R_Study2 cov_QT_Study2 cov_RT_Study2 corr_QT_Study2 corr_RT_Study2 atten_Q_Study2 atten_R_Study2;

beta_Q1_Study2 = 4 * beta_Q1a_Study2;

(30)

var_Tij_Study2 = exp(2 * logse_Tij_Study2);

var_eQ_Study2 = exp(2 * logse_eQ_Study2);

var_eR_Study2 = exp(2 * logse_eR_Study2);

var_uR_Study2 = exp(2 * logse_uR_Study2);

var_phi_Study2 = var_Tij_Study2 * omega_phi;

var_Tijk_Study2 = var_Tij_Study2 + var_phi_Study2;

corr_eQuR_Study2 = (exp(2 * z_eQuR_Study2) - 1) / (exp(2 * z_eQuR_Study2) + 1);

cov_eQuR_Study2 = corr_eQuR_Study2 * sqrt(var_eQ_Study2 * var_uR_Study2);

array covt2 (*) cov_Study2_T2-cov_Study2_T&nperiod;

do i = 1 to dim(covt2);

covt2[i] = corrt[i] * var_Tij_Study2;

end;

/* calculate correlations with truth and attenuation factors. */

var_Ti_Study2 = var_Tij_Study2 * (4 + 6 * corr_T2 + 4 * corr_T3 + 2 * corr_T4) / 4**2;

var_Q_Study2 = beta_Q1_Study2**2 * var_Ti_Study2 + var_eQ_Study2;

var_R_Study2 = beta_R1_Study2**2 * var_Tijk_Study2 + var_uR_Study2 + var_eR_Study2;

cov_QT_Study2 = beta_Q1_Study2 * var_Ti_Study2;

cov_RT_Study2 = beta_R1_Study2 * var_Tij_Study2 * (1 + 2 * corr_T2 + corr_T3) / 4;

corr_QT_Study2 = cov_QT_Study2 / sqrt(var_Q_Study2 * var_Ti_Study2);

corr_RT_Study2 = cov_RT_Study2 / sqrt(var_R_Study2 * var_Ti_Study2);

atten_Q_Study2 = cov_QT_Study2 / var_Q_Study2;

atten_R_Study2 = cov_RT_Study2 / var_R_Study2;

/* --- */

/* ME model for Study 3. */

/* --- */

model 4 / group=3;

refmodel 1;

/* rename parameters that differ by group. */

renameparm mean_Tij = mean_Tij_Study3,

beta_Q0 = beta_Q0_Study3,

(31)

beta_Q1a = beta_Q1a_Study3;

lineqs

/* true intake on a given day */

ft1_1 = 0 * intercept + ft_1 + dphi1, ft1_2 = 0 * intercept + ft_2 + dphi2, ft1_3 = 0 * intercept + ft_3 + dphi3, ft1_4 = 0 * intercept + ft_4 + dphi4, ft1_5 = 0 * intercept + ft_5 + dphi5, ft2_1 = 0 * intercept + ft_1 + dphi6, ft2_2 = 0 * intercept + ft_2 + dphi7, ft2_3 = 0 * intercept + ft_3 + dphi8, ft2_4 = 0 * intercept + ft_4 + dphi9, ft2_5 = 0 * intercept + ft_5 + dphi10, ft3_1 = 0 * intercept + ft_1 + dphi11, ft3_2 = 0 * intercept + ft_2 + dphi12, ft3_3 = 0 * intercept + ft_3 + dphi13, ft3_4 = 0 * intercept + ft_4 + dphi14, ft3_5 = 0 * intercept + ft_5 + dphi15, ft4_7 = 0 * intercept + ft_7 + dphi16, ft4_8 = 0 * intercept + ft_8 + dphi17, ft5_7 = 0 * intercept + ft_7 + dphi18, ft5_8 = 0 * intercept + ft_8 + dphi19, ft6_7 = 0 * intercept + ft_7 + dphi20, ft6_8 = 0 * intercept + ft_8 + dphi21, ft7_3 = 0 * intercept + ft_3 + dphi22, ft7_5 = 0 * intercept + ft_5 + dphi23, ft8_1 = 0 * intercept + ft_1 + dphi24, ft8_2 = 0 * intercept + ft_2 + dphi25, ft8_3 = 0 * intercept + ft_3 + dphi26, ft8_5 = 0 * intercept + ft_5 + dphi27, /* 24-hour recall */

r1_1 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft1_1 + fur + er1,

r1_2 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft1_2 + fur + er2,

r1_3 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft1_3 + fur + er3,

r1_4 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft1_4 + fur + er4,

r1_5 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft1_5 + fur + er5,

r2_1 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft2_1 + fur + er6,

r2_2 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft2_2 + fur + er7,

r2_3 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft2_3 + fur + er8,

r2_4 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft2_4 + fur + er9,

r2_5 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft2_5 + fur + er10,

(32)

r3_1 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft3_1 + fur + er11, r3_2 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft3_2 + fur + er12, r3_3 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft3_3 + fur + er13, r3_4 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft3_4 + fur + er14, r3_5 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft3_5 + fur + er15, r4_7 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft4_7 + fur + er16, r4_8 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft4_8 + fur + er17, r5_7 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft5_7 + fur + er18, r5_8 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft5_8 + fur + er19, r6_7 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft6_7 + fur + er20, r6_8 = beta_R0_Study3 * intercept + beta_R1_Study3 * ft6_8 + fur + er21, /* biomarker values */

b1_1 = 0 * intercept + ft1_1 + eb1, b1_2 = 0 * intercept + ft1_2 + eb2, b1_3 = 0 * intercept + ft1_3 + eb3, b1_4 = 0 * intercept + ft1_4 + eb4, b1_5 = 0 * intercept + ft1_5 + eb5, b2_1 = 0 * intercept + ft2_1 + eb6, b2_2 = 0 * intercept + ft2_2 + eb7, b2_3 = 0 * intercept + ft2_3 + eb8, b2_4 = 0 * intercept + ft2_4 + eb9, b2_5 = 0 * intercept + ft2_5 + eb10, b3_4 = 0 * intercept + ft3_4 + eb11, b4_7 = 0 * intercept + ft4_7 + eb12, b4_8 = 0 * intercept + ft4_8 + eb13, b5_7 = 0 * intercept + ft5_7 + eb14, b5_8 = 0 * intercept + ft5_8 + eb15, b7_3 = 0 * intercept + ft7_3 + eb16, b7_5 = 0 * intercept + ft7_5 + eb17, b8_1 = 0 * intercept + ft8_1 + eb18, b8_2 = 0 * intercept + ft8_2 + eb19, b8_3 = 0 * intercept + ft8_3 + eb20, b8_5 = 0 * intercept + ft8_5 + eb21;

variance

dur = var_uR_Study3, eq = var_eQ_Study3,

dt1-dt&nperiod = var_Tij_Study3 [...], dphi1-dphi27 = var_phi_Study3 [...], er1-er21 = var_eR_Study3 [...], eb1-eb21 = var_delta [...];

cov

dur * eq = cov_eQuR_Study3,

(33)

dt1 * dt2-dt&nperiod = cov_Study3_T2-cov_Study3_T10, dt2 * dt3-dt&nperiod = cov_Study3_T2-cov_Study3_T9, dt3 * dt4-dt&nperiod = cov_Study3_T2-cov_Study3_T8, dt4 * dt5-dt&nperiod = cov_Study3_T2-cov_Study3_T7, dt5 * dt6-dt&nperiod = cov_Study3_T2-cov_Study3_T6, dt6 * dt7-dt&nperiod = cov_Study3_T2-cov_Study3_T5, dt7 * dt8-dt&nperiod = cov_Study3_T2-cov_Study3_T4, dt8 * dt9-dt&nperiod = cov_Study3_T2-cov_Study3_T3, dt9 * dt&nperiod = cov_Study3_T2;

/* study-specific parameters */

parameter beta_Q0_Study3 beta_Q1_Study3 beta_R0_Study3 beta_R1_Study3 mean_Tij_Study3

logse_Tij_Study3 logse_eQ_Study3 logse_eR_Study3 logse_uR_Study3 var_Tij_Study3 var_eQ_Study3 var_eR_Study3 var_uR_Study3

var_phi_Study3 var_Tijk_Study3

z_eQuR_Study3 corr_eQuR_Study3 cov_eQuR_Study3 cov_Study3_T2-cov_Study3_T&nperiod

var_Ti_Study3 var_Q_Study3 var_R_Study3 cov_QT_Study3 cov_RT_Study3 corr_QT_Study3 corr_RT_Study3 atten_Q_Study3 atten_R_Study3;

beta_Q1_Study3 = 4 * beta_Q1a_Study3;

var_Tij_Study3 = exp(2 * logse_Tij_Study3);

var_eQ_Study3 = exp(2 * logse_eQ_Study3);

var_eR_Study3 = exp(2 * logse_eR_Study3);

var_uR_Study3 = exp(2 * logse_uR_Study3);

var_phi_Study3 = var_Tij_Study3 * omega_phi;

var_Tijk_Study3 = var_Tij_Study3 + var_phi_Study3;

corr_eQuR_Study3 = (exp(2 * z_eQuR_Study3) - 1) / (exp(2 * z_eQuR_Study3) + 1);

cov_eQuR_Study3 = corr_eQuR_Study3 * sqrt(var_eQ_Study3 * var_uR_Study3);

array covt3 (*) cov_Study3_T2-cov_Study3_T&nperiod;

do i = 1 to dim(covt3);

covt3[i] = corrt[i] * var_Tij_Study3;

end;

/* calculate correlations with truth and attenuation factors. */

var_Ti_Study3 = var_Tij_Study3 * (4 + 6 * corr_T2 + 4 * corr_T3 + 2 * corr_T4) / 4**2;

var_Q_Study3 = beta_Q1_Study3**2 * var_Ti_Study3 + var_eQ_Study3;

(34)

var_R_Study3 = beta_R1_Study3**2 * var_Tijk_Study3 + var_uR_Study3 + var_eR_Study3;

cov_QT_Study3 = beta_Q1_Study3 * var_Ti_Study3;

cov_RT_Study3 = beta_R1_Study3 * var_Tij_Study3 * (1 + 2 * corr_T2 + corr_T3) / 4;

corr_QT_Study3 = cov_QT_Study3 / sqrt(var_Q_Study3 * var_Ti_Study3);

corr_RT_Study3 = cov_RT_Study3 / sqrt(var_R_Study3 * var_Ti_Study3);

atten_Q_Study3 = cov_QT_Study3 / var_Q_Study3;

atten_R_Study3 = cov_RT_Study3 / var_R_Study3;

run;

(35)

Hypothetical data (similar to those from our study)

1 1 5.770 6.016 6.606 . . . . 5.935 . 5.961 . 5 7 . . . . 6 . 6 . -1 103 . . . . 2 . 12 . 1 2 6.124 5.923 5.936 . . . . 6.369 . 6.159 . 5 7 . . . . 6 . 6 . -1 112 . . . . 1 . 13 . 1 3 5.457 5.770 6.062 . . . . 5.663 . 5.786 . 5 7 . . . . 6 . 6 . -1 104 . . . . 2 . 14 . 1 4 5.539 5.572 6.011 . . . . 6.087 . 5.741 . 5 7 . . . . 6 . 6 . -1 108 . . . . 1 . 13 . 1 5 5.167 6.139 5.914 . . . . 5.992 . 6.007 . 5 7 . . . . 6 . 6 . -1 107 . . . . 1 . 11 . 1 6 6.239 6.011 6.197 . . . . 6.393 . 6.222 . 5 7 . . . . 6 . 6 . -1 106 . . . . 1 . 13 . 1 7 6.000 6.087 6.430 . . . . 6.133 . 6.008 . 5 7 . . . . 6 . 6 . -1 113 . . . . 1 . 14 . 1 8 5.388 5.513 5.938 . . . . 5.816 . 5.811 . 5 7 . . . . 6 . 6 . -1 111 . . . . 2 . 13 . 1 9 6.613 6.335 6.084 . . . . 5.970 . 6.014 . 5 7 . . . . 6 . 6 . -1 104 . . . . 1 . 13 . 1 10 5.620 5.208 5.287 . . . . 5.806 . 6.272 . 5 7 . . . . 6 . 6 . -1 106 . . . . 1 . 13 . 1 11 5.546 5.736 6.075 . . . . 5.992 . 5.986 . 5 7 . . . . 6 . 6 . -1 104 . . . . 1 . 12 . 1 12 5.458 6.037 6.308 . . . . 5.919 . 6.019 . 5 7 . . . . 6 . 6 . -1 118 . . . . 2 . 16 . 1 13 6.255 6.190 5.922 . . . . 5.888 . 6.193 . 5 7 . . . . 6 . 6 . -1 111 . . . . 1 . 13 . 1 14 5.745 5.879 5.764 . . . . 6.220 . 5 7 . . . 6 . -1 107 . . . . 13 . 1 15 6.009 5.632 6.081 . . . . 5.572 . 5.488 . 5 7 . . . . 6 . 6 . -1 104 . . . . 2 . 15 . 1 16 6.456 5.862 5.835 . . . . 6.286 . . . 5 7 . . . . 6 . . . -1 106 . . . . 13 . . . 1 17 5.386 6.284 6.092 . . . . 5.915 . 5.721 . 5 7 . . . . 6 . 6 . -1 104 . . . . 2 . 13 . 1 18 5.435 5.397 6.063 . . . . 5.905 . 5.627 . 5 7 . . . . 6 . 6 . -1 111 . . . . 1 . 13 . 1 19 5.695 6.282 6.194 . . . . 6.623 . 6.621 . 5 7 . . . . 6 . 6 . -1 106 . . . . 2 . 13 . 1 20 5.988 6.158 5.678 . . . . 5.975 . 6.160 . 5 7 . . . . 6 . 6 . -1 110 . . . . 3 . 15 . 1 21 6.151 6.384 5.494 . . . . 6.000 . 6.209 . 5 7 . . . . 6 . 6 . -1 106 . . . . 1 . 12 . 1 22 5.168 6.092 5.457 . . . . 6.219 . . . 5 7 . . . . 6 . . . -1 110 . . . . 14 . . . 1 23 5.161 5.720 5.460 . . . . 5.686 . 5.733 . 5 7 . . . . 6 . 6 . -1 107 . . . . 1 . 12 . 1 24 5.904 5.865 5.563 . . . . 5.986 . . . 5 7 . . . . 6 . . . -1 125 . . . . 1 . . . 1 25 5.656 5.558 6.163 . . . . 5.941 . 5 7 . . . 6 . -1 107 . . . . 14 . 1 26 6.043 5.975 5.897 . . . . 6.349 . 6.570 . 5 7 . . . . 6 . 6 . -1 104 . . . . 2 . 14 . 1 27 5.393 5.625 5.625 . . . . 5.601 . 5.943 . 5 7 . . . . 6 . 6 . -1 111 . . . . 3 . 13 . 1 28 6.059 6.065 . . . . . 5.988 . 6.085 . 5 . . . 6 . 6 . -1 . . . 3 . 12 . 1 29 5.910 6.579 6.202 . . . . 6.317 . 6.487 . 5 7 . . . . 6 . 6 . -1 111 . . . . 2 . 13 . 1 30 6.592 5.107 5.900 . . . . 6.254 . . . 5 7 . . . . 6 . . . -1 101 . . . . 13 . . . 1 31 5.797 5.672 5.216 . . . . 6.425 . 6.169 . 5 7 . . . . 6 . 6 . -1 117 . . . . 7 . 19 . 1 32 5.157 5.396 5.811 . . . . 5.806 . 5.717 . 5 7 . . . . 6 . 6 . -1 100 . . . . 2 . 12 . 1 33 5.229 5.165 5.727 . . . . 5.868 . 5.704 . 5 7 . . . . 6 . 6 . -1 104 . . . . 1 . 10 . 1 34 5.490 5.589 5.971 . . . . 6.064 . 6.354 . 5 7 . . . . 6 . 6 . -1 109 . . . . 2 . 13 . 1 35 5.904 6.828 5.760 . . . . 6.003 . 6.057 . 5 7 . . . . 6 . 6 . -1 112 . . . . 1 . 14 . 1 36 5.679 5.633 6.187 . . . . 6.046 . 5.920 . 5 7 . . . . 6 . 6 . -1 106 . . . . 2 . 13 . 1 37 5.059 6.170 5.940 . . . . 5.618 . 5.830 . 5 7 . . . . 6 . 6 . -1 104 . . . . 2 . 13 . 1 38 5.163 5.814 5.442 . . . . 5.633 . 5.860 . 5 7 . . . . 6 . 6 . -1 111 . . . . 2 . 12 . 1 39 5.516 5.202 5.772 . . . . 6.094 . 5.579 . 5 7 . . . . 6 . 6 . -1 97 . . . . 2 . 14 . 1 40 5.418 5.925 5.631 . . . . 6.259 . 6.282 . 5 6 . . . . 6 . 6 . -1 86 . . . . 2 . 13 . 1 41 6.242 5.980 5.993 . . . . 6.577 . 6.251 . 5 7 . . . . 6 . 6 . -1 125 . . . . 1 . 13 . 1 42 6.187 5.877 6.353 . . . . 6.161 . 5.934 . 5 7 . . . . 6 . 6 . -1 109 . . . . 1 . 12 . 1 43 5.636 5.647 5.481 . . . . 5.906 . 6.069 . 5 7 . . . . 6 . 6 . -1 105 . . . . 3 . 13 . 1 44 5.426 5.489 6.148

Referensi

Dokumen terkait