Вы находитесь на странице: 1из 9

METHOD FOR CALCULATING ENERGY INTAKE CHANGES OVER TIME

USING REPEATED BODY WEIGHT DATA

We previously showed that the NIDDK mathematical model of adult human body weight

dynamics (1) can be linearized as:

η FM + ρ FM + αη FFM + αρ FFM  dBW 1  γ FM + αγ FFM  ∆d


  = ∆EI −  + d 0 + ∆d  ( BW − BW0 ) − BW
 (1 − β )(1 + α )  dt (1 − β )  (1 + α )  (1 − β ) 0

Parameter values and descriptions are given in Table S1. Briefly, the parameters γFFM and

γFM are the regression coefficients relating resting metabolic rate to fat-free mass (FFM)

and fat mass (FM), respectively. Parameters ρFM and ρFFM are the energy densities

associated with changes in FM and FFM, respectively. Physical activity energy

expenditure is proportional to body weight, where δ0 represents the baseline level of

physical activity and Δδ is the change in physical activity from baseline over each time

period which could be informed by objective physical activity measurements. The

parameter β accounts for the adaptation of energy expenditure during a diet perturbation,

ΔEI. Parameters η FM and η FFM account for the biochemical cost of tissue deposition and

turnover assuming that the change of FFM is primarily accounted for by body protein and

its associated water. The parameter α represents the relationship between changes of

lean and fat mass: α ≡ dFFM dFM =


C FM where C = 10.4 kg is the Forbes parameter.

For modest weight changes, α can be considered to be approximately constant with FM

fixed at its initial value FM0. The larger the initial fat mass, FM0, the smaller the

parameter α.
The NIDDK model parameter values are provided in Supplemental Table S1. Baseline

anthropometric and demographic data were used to define the values of all model

parameters as previously described (2). Note that no model parameters have been

adjusted to fit the ΔEI data.

The linearized model can therefore be written as:

dBW ∆d
ρ =∆EI − ε ( BW − BW0 ) − BW − f
dt (1 − β ) 0
where ρ is an effective energy density associated with the BW change:

η FM + ρ FM + αη FFM + αρ FFM
ρ=
(1 − β )(1 + α )
and ε is a parameter that defines how energy expenditure depends on BW:

1  γ F + αγ L 
=ε  + δδ
0 +∆ 
.
(1 − β )  (1 + α ) 

We have appended an additional term, f, to represent changes in energy output not

captured by the energy expenditure component of the model (e.g., changes in urinary

excretion of glucose or ketones). The form of this parameter is context dependent, and f =

0 in the present application of the model.

Estimating the uncertainty associated with the linearized NIDDK model

We have presented a general linearized model to calculate changes in energy intake over

each interval i:

∆d i
∆EI
= i ρ
dBWi
dt
(
+ ε i BW i − BW0 + )
1− β
BW0 + fi
An ordinary least-squares regression of the body weight time course is taken over each

interval of length=
t ( N − 1) T , where N is the number of body weight measurements in
each interval and T is the time between measurements in days. The linear regression

provides the rate of change of body weight, dBWi dt , and the moving average body

weight, BW i , within each interval. Besides baseline demographic information, these are

the only inputs required by the model.

The variance of the model estimate is given by:

Var= ( )
( ∆EIi ) ε i2Var BW i + fi2Var ( BW0 ) + r 2Var 
dBWi 
 dt 
 + Var ( fi )

( ) 
+2ε ifi Cov BW i , BW0 + 2ε i r Cov  BW i ,

dBWi 
dt 

 + 2fi r Cov  BW0 ,

dBWi 

dt 

( )  dBWi
+2ε i Cov BW i , fi + 2fi Cov ( BW0 , fi ) + 2 r Cov 
 dt

, fi 

where

∆δ i
φi
= − εi
1− β

Since BW i is determined from the linear regression of equidistant body weight

measurements in interval evaluated at the midpoint, propagation of error yields:

Var ( BW )
Var ( BWi ) =
N

Var ( BW ) can be determined from the residual error of the body weight measurements

around the regression line.


The ordinary least squares formula for the rate of change of body weight using N

equidistant measurements is given by (3):

N N
12∑ j × BW j − 6 ( N + 1) ∑ BW j
= dBW
j 1 =j 1
i
=
dt N ( N 2 − 1) T

The corresponding uncertainty is:

 dBWi  12Var ( BW )
Var  =
 dt  N ( N − 1) T
2 2

Every moving average interval after the initial one is independent of the initial body

weight. We therefore make the simplifying assumption:

=
Cov

 BW i ,

dBWi 
dt 
=
 Cov (
BW0 , BW i 0 )
Since the body weight measurements used in each regression are equidistant and equally

weighted, BW i is the average body weight in interval i . Therefore, it can be shown that:

 dBWi 
Cov  BW i , =0
 dt 

Recall that in this analysis fi=0, and thus:

ε2 12 r 2 
Var ( ∆EI i ) =  i + φi2 +  Var ( BW )
N
 N ( N 2
− 1) T 2

The corresponding 95% confidence interval is given by:

e2 12 r 2 
±1.96  i + φi2 +
95%CI model =  Var ( BW )
N
 N ( N 2
− 1) T 2

Note that the 95% confidence interval can be minimized by increasing the number of

body weight measurements, N.


While we used standard error propagation techniques to estimate uncertainties, an

alternative approach would be to perform Monte Carlo simulations with appropriate

assumptions about the error distributions.

SUPPLEMENTAL TABLE S1. NIDDK model parameter values

Parameter Value Description


γ FM 3.2 kcal/kg/d Caloric expenditure rate of fat mass

γ FFM 22 kcal/kg/d Caloric expenditure rate of fat free mass

δ0 10 kcal/kg/d Physical activity at baseline


Δδ 0 kcal/kg/d Physical activity changes
η FM 180 kcal/kg Caloric cost of fat synthesis

η FFM 230 kcal/kg Caloric cost of protein synthesis

ρ FM 9300 kcal/kg Energy density of fat mass

ρ FFM 1100 kcal/kg Energy density of fat free mass

β 0.24 Dietary and adaptive thermogenesis


f 0 kcal/d Energy output change not captured by
energy expenditure component

REFERENCES

1. Hall KD, Chow CC. Estimating changes in free-living energy intake and its
confidence interval. Am J Clin Nutr 2011;94(1):66-74.
2. Hall KD, Sacks G, Chandramohan D, Chow CC, Wang YC, Gortmaker SL,
Swinburn BA. Quantification of the effect of energy imbalance on bodyweight.
Lancet 2011;378(9793):826-37.
3. Taylor JR. An introduction to error analysis: the study of uncertainties in physical
measurements. 2nd ed: University Science, 1997.
% This MATLAB code is supplementary material to the following publication:
% Sanghvi A, Redman LM, Martin CK, Ravussin E, Hall KD. Validation of an
% inexpensive and accurate method to measure long-term changes in
% free-living energy intake.

% This code may be used to calculate energy intake changes from baseline
% using the NIDDK parameterization of a general linearized equation requiring
% only baseline demographic information and longitudinal bodyweight
% measurements.

% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Inputs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

% Read in a matrix of time points in days (first column) and bodyweight data

BW_data = ;

% Number of data points (bodyweight measurements) used in each regression interval.


% Increasing this value will improve model precision but decrease granularity.
% As a starting point, try the following:
% with daily BW measurements, Ndata = 28
% with weekly BW measurements, Ndata = 5
% with bimonthly BW measurements, Ndata = 3
% with anything less frequent, Ndata = 2
Ndata = ;

% Demographics:
% Create a vector of gender, age, height, and BMI for each subject at baseline
gender = ; % Vector of 0's (male) and 1's (female)
age = ;
height = ; % In centimeters
bmi = ;

%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

% Row = number of measurements


% Col = number of subjects + 1
[row,col] = size(BW_data);

% Number of subjects
num_subjects = col-1;

% NIDDK Parameters
gamma_L = 22;
gamma_F = 3.2;
eta_F = 180;
eta_L = 230;
rho_F = 9300;
rho_L = 1100;
beta = 0.24;
C_forbes = 10.4;
delta_init = 10;
delta = delta_init; % Assuming constant physical activity

% We calculated the variance of five baseline bodyweight measurements for


% each of 46 control and diet subjects in the 6-month CALERIE study and used
% the average value of 0.37 in calculating model uncertainty. If repeated
% measurements are not available, Var(BW) can be determined from the
% residual error of the bodyweight measurements around the regression line.
% The code to do this is commented out below.

Var_BW = 0.37;

% Time interval between data points (weekly bodyweight


% measurements = 7 days, daily = 1 day, etc.)
time_diff = BW_data(2:end,1)-BW_data(1:end-1,1);
Tinterval = round(mean(time_diff(~isnan(time_diff))));

% Number of time segments included in each regression interval


Nseg = Ndata-1;

% Moving average segment length (ex: five weekly bodyweight measurements =>
% (5-1)*7 = 28 days)
SegmentLength_days = Tinterval*Nseg;

% Time midpoint of each moving average


for i = 1:row-Nseg
Time_mid(i,1) = BW_data(i,1)+(BW_data(Nseg+i,1)-BW_data(i,1))/2;
end

% Instantiating
BW_MovingAvg = [Time_mid zeros(row-Nseg,col-1)];
BW_diff = [Time_mid zeros(row-Nseg,col-1)];
dBW_dT = [Time_mid zeros(row-Nseg,col-1)];
Delta_EI = [Time_mid zeros(row-Nseg,col-1)];
Delta_FM = [Time_mid zeros(row-Nseg,col-1)];
Delta_FFM = [Time_mid zeros(row-Nseg,col-1)];
Delta_EE = [Time_mid zeros(row-Nseg,col-1)];

FM_init = zeros(1,col-1);
alpha = zeros(1,col-1);
rho = zeros(1,col-1);
epsilon = zeros(1,col-1);
Var_Delta_EI = zeros(1,col-1);

%For each subject


for j = 2:col

BW_init = BW_data(1,j);

% Jackson regression equations to estimate initial fat mass


if gender(j-1) == 0
%Male
FM_init(j-1) = (BW_init/100)*(0.14*age(1,j-1)+37.31*log(bmi(1,j-1))-103.94);
else
%Female
FM_init(j-1) = (BW_init/100)*(0.14*age(1,j-1)+39.96*log(bmi(1,j-1))-102.01);
end

alpha(j-1) = C_forbes/FM_init(j-1);
rho(j-1) = (eta_F+rho_F+alpha(j-1)*(eta_L+rho_L))/((1-beta)*(1+alpha(j-1)));
epsilon(j-1) = 1/(1-beta)*((gamma_F+alpha(j-1)*gamma_L)/(1+alpha(j-1))+delta);

% For each interval


for i = 1:row-Nseg

% Moving segment of size Ndata


% Time point in first column, corresponding BW in second column
Segment = [BW_data(i:Nseg + i,1) BW_data(i:Nseg + i,j)];

% Best-fit line
best_fit = polyfit(Segment(:,1),Segment(:,2),1);

% Slope of best-fit line


dBW_dT(i,j) = best_fit(1);

% Average of all bodyweights in the current segment


BW_MovingAvg(i,j) = mean(Segment(:,2));

% Change in bodyweight from baseline


delta_BW = BW_MovingAvg(i,j)-BW_init;

% Residual error of bodyweight around regression line (used to


% calculate model uncertainty)
% Note: In this analysis we used Var_BW = 0.37 as explained above.
%
% if mod(Nseg,2)==0
% BW_diff(i,j) = BW_data(Nseg/2+i,j) - BW_MovingAvg(i,j);
% else
% BW_diff(i,j) = BW_data(floor(Nseg/2+i),j) -
polyval(best_fit,BW_data(floor(Nseg/2+i),1));
% end
% Var_BW = var(BW_diff(:,j));

% Change in Energy Intake


Delta_EI(i,j) = rho(j-1)*dBW_dT(i,j) + epsilon(j-1)*(BW_MovingAvg(i,j)-
BW_init) + (delta-delta_init)*BW_init/(1-beta);

% Change in Fat and Fat Free Mass


Delta_FM(i,j) = delta_BW/(1+alpha(j-1));
Delta_FFM(i,j) = alpha(j-1)*Delta_FM(i,j);

%Change in Energy Expenditure


Delta_EE(i,j) = ((gamma_F+alpha(j-1)*gamma_L)/(1+alpha(j-
1))+delta_init)*delta_BW+((eta_F+alpha*eta_L)/(1+alpha))*dBW_dT(i,j)+beta*Delta_E
I(i,j)+(delta-delta_init)*BW_MovingAvg(i,j);

end

% Model uncertainty
Var_Delta_EI(j-1) = Var_BW*(epsilon(j-1)^2/Ndata+((delta-delta_init)/(1-beta)-
epsilon(j-1))^2+12*rho(j-1)^2/(Ndata*(Ndata^2-1)*(Tinterval)^2));

end

% Display results
sep = repmat('-',1,80);
disp(sep)
disp(sep)
fprintf('\t\t\tEnergy Intake Change (kcal/d)\n')
disp(sep)
disp(Delta_EI)
disp(sep)
fprintf('\t\t\tModel Uncertainty (kcal/d)\n')
disp(sep)
disp(sqrt(Var_Delta_EI))
disp(sep)
disp(sep)

Вам также может понравиться