0% found this document useful (0 votes)
48 views50 pages

Desug12 Royston

The document discusses how to model interactions in Stata, beginning with an overview of interactions between categorical and continuous variables using factor variables. It then focuses on modeling linear interactions between continuous covariates, using examples from a clinical trial to compare different approaches for specifying interaction terms between treatment assignment and other predictors. The document aims to provide guidance for properly handling interactions between continuous variables in regression analyses.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views50 pages

Desug12 Royston

The document discusses how to model interactions in Stata, beginning with an overview of interactions between categorical and continuous variables using factor variables. It then focuses on modeling linear interactions between continuous covariates, using examples from a clinical trial to compare different approaches for specifying interaction terms between treatment assignment and other predictors. The document aims to provide guidance for properly handling interactions between continuous variables in regression analyses.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Handling interactions in Stata

Stata,
especially with continuous
predictors
di t

Patrick Royston & Willi Sauerbrei


German Stata Users’ meeting,
g, Berlin,, 1 June 2012
Interactions – general concepts

• General idea of a (two-way)


(two way) interaction in
multiple regression is effect modification:
• η(x1,x x2) = f1(x1) + f2(x2) + f3(x1,x x2)
• Often, η(x1,x2) = E(Y | x1,x2), with obvious
extension to GLM, GLM Cox regression,
regression etc.etc
• Simplest case: η(x1,x2) is linear in the x’s and
f3((x1,,x2) is
s tthe
epproduct
oduct o
of tthe
e x’s:
s
• η(x1,x2) = β1x1 + β2x2 + β3x1x2
• Can extend to more general, non non-linear
linear
functions

1
The simplest type of interaction

• Binary x binary Treatment White cell White cell


group count low count high
• E.g. in the MRC RE01 (>10)
(<=10)
trial in kidney cancer
• 12 month % survival MPA 34% (se 4) 24% (se 4)
since randomisation
• Substantial treatment
effect in patients with
low WCC Interferon 49% (se 4) 21% (se 7)

• Little or no treatment
effect in those with
high
g WCC
• But really, WCC is a
continuous variable …
Overview

• Interactions and factor variables (Stata 11/12)


• Note: I am not an expert on factor
variables! I sometimes use them.
them
• General interactions between continuous
covariates in observational studies
• Focus on continuous covariates …
• … because people don
don’tt appear to know how
to handle them!
• Special case: interactions between treatment
and continuous covariates in randomized
controlled trials
3
Interactions and factor variables

4
Scope

• We introduce the topic with a brief


introduction to factor variables
• In this part
part, we consider only linear
interactions:
• Binary x binary (2 x 2 table)
• Binary x continuous
• Continuous x continuous

5
Factor variables: brief notes

• Implemented via prefixes (unary operators) and


binary interaction operators
• see help fvvarlist
• There are four factor-variable operators:
Operator Description
i. unary operator to specify indicators (dummies)
c. unary operator to treat as continuous
# binary operator to specify interactions
## binary operator to specify factorial interactions
• Dummy variables are ‘virtual’ – not created per se
• Names of regression parameters easily found by
inspecting the post-estimation
post estimation result matrix e(b)
(b)
Factor variables: i.
i prefix

• Example from Stata manual [U]11.4.3:


[U]11 4 3:

. li
list
t group i.group
i i
in 1/5
group 1b.group 2.group 3.group
1
1. 1 0 0 0
2. 1 0 0 0
3
3. 2 0 1 0
4. 2 0 1 0
5. 3 0 0 1
Example dataset

• MRC RE01 trial in advanced kidney cancer


• Of 347 patients, only 7 censored, the rest died
• For
F simplicity,
i li it as a continuous
ti response
variable, Y, we use months to death, _t
• Ignore the small amount of censoring
• There are several prognostic factors that may
influence time to death
• Some are binary, some categorical, some
continuous

8
Example: factor variable parameters

. regress _t
t i.who
Source | SS df MS Number of obs = 347
-------------+------------------------------ F( 2, 344) = 15.72
Model | 7780.81413 2 3890.40707 Prob > F = 0.0000
R id l | 85126
Residual 85126.5686
5686 344 247
247.460955
460955 R-squared
R d = 0 0837
0.0837
-------------+------------------------------ Adj R-squared = 0.0784
Total | 92907.3828 346 268.518447 Root MSE = 15.731

------------------------------------------------------------------------------
_t | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
who |
1 | -4.2783 2.026215 -2.11 0.035 -8.263629 -.2929707
2 | -12.94365
12.94365 2.354542 -5.50
5.50 0.000 -17.57476
17.57476 -8.312534
8.312534
|
_cons | 19.17358 1.622518 11.82 0.000 15.98227 22.36488
------------------------------------------------------------------------------

. matrix
i li
list e(b)
(b)

e(b)[1,4]
0b.
0b 1.
1 2.
2
who who who _cons
y1 0 -4.2782996 -12.943646 19.173577
Basic analysis
y to understand binary
y x binary:
y
the 2 x 2 table of means

• Example:
. table rem sex, contents(mean _t) format(%6.2f)

--------------------------
x6: |
kid
kidney |
removed | x2: sex
(Y/N) | male female
----------+---------------
0 | 13.50 9.34
1 | 13.77 18.19
--------------------------

10
Fitting an interaction model
• Consider 3 methods:
• Method 1: binary operator to specify interactions
• regress
g _t rem#sex
• Method 2: binary operator to specify factorial
interactions
• regress _t rem##sex
• Method 3: create multiplicative
p term(s)
( )yyourself
• gen byte remsex = rem * sex
• regress
g _t rem sex remsex
• Models are identical - all give the same fitted values
• Parameterisation of method 1 is different
11
Method 1: Binary operator #

. regress _t
t rem#sex
Source | SS df MS Number of obs = 347
-------------+------------------------------ F( 3, 343) = 2.73
Model | 2168.10384 3 722.701279 Prob > F = 0.0437
Residual | 90724.0188 343 264.501513 R-squared = 0.0233
-------------+------------------------------ Adj R-squared = 0.0148
Total | 92892.1227 346 268.474343 Root MSE = 16.264

------------------------------------------------------------------------------
_t | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
rem#sex |
0 1 | -4.160995 2.888457 -1.44 0.151 -9.842314 1.520323
1 0 | .2724983
2724983 2
2.137064
137064 0.13
0 13 0
0.899
899 -3.930903
3 930903 4
4.475899
475899
1 1 | 4.68417 2.581164 1.81 0.070 -.3927323 9.761072
|
_cons | 13.49939 1.610327 8.38 0.000 10.33204 16.66675
------------------------------------------------------------------------------

Notes on parameters:
rem#sex 0 1 (-4.16) is (sex=1) - (sex=0) at rem=0
rem#sex 1 0 (+0.27) is (rem=1) - (rem=0) at sex=0
rem#sex 1 1 (+4.68)
(+4 68) is [(rem=1)
[(rem 1) | sex=1]
sex 1] - [(rem=0)
[(rem 0) | sex=0]
sex 0]
_cons (13.50) is intercept (mean of Y at rem=0 & sex=0)
I don’t recommend this parameterisation! 12
Method 2: Binary operator ##

. regress _t
t rem##sex
Source | SS df MS Number of obs = 347
-------------+------------------------------ F( 3, 343) = 2.73
Model | 2168.10384 3 722.701279 Prob > F = 0.0437
Residual | 90724.0188 343 264.501513 R-squared = 0.0233
-------------+------------------------------ Adj R-squared = 0.0148
Total | 92892.1227 346 268.474343 Root MSE = 16.264

------------------------------------------------------------------------------
_t | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.rem | .2724983 2.137064 0.13 0.899 -3.930903 4.475899
1.sex | -4.160995 2.888457 -1.44 0.151 -9.842314 1.520323
|
rem#sex |
1 1 | 8.572667 3.792932 2.26 0.024 1.112333 16.033
|
_cons | 13.49939 1.610327 8.38 0.000 10.33204 16.66675
------------------------------------------------------------------------------

Notes on parameters:
1.rem (0.27) is (rem=1) - (rem=0) at sex=0
1
1.sex (-4.16)
( 4 16) is
i (sex=1)
( 1) - (sex=0)
( 0) att rem=0
0
rem#sex (+8.57) is [(rem=1) - (rem=0) at sex=1] - [(rem=1) - (rem=0) at sex=0]
_cons (13.50) is intercept (mean of Y at rem=0 & sex=0) 13
This is a ‘standard’ parameterisation with P-value as given above
Method 3: DIY multiplicative term

. generate byte remsex = rem * sex

. regress _t rem sex remsex


Source | SS df MS Number of obs = 347
-------------+------------------------------ F( 3, 343) = 2.73
Model | 2168.10384 3 722.701279 Prob > F = 0.0437
Residual | 90724.0188 343 264.501513 R-squared = 0.0233
-------------+------------------------------
+ Adj R-squared
R squared = 0.0148
0 0148
Total | 92892.1227 346 268.474343 Root MSE = 16.264

------------------------------------------------------------------------------
_t | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
rem | .2724983 2.137064 0.13 0.899 -3.930903 4.475899
sex | -4.160995 2.888457 -1.44 0.151 -9.842314 1.520323
remsex | 8.572667 3.792932 2.26 0.024 1.112333 16.033
_cons | 13.49939 1.610327 8.38 0.000 10.33204 16.66675
------------------------------------------------------------------------------
Notes on parameters:
rem is 1.rem in Method 2
sex is 1.sex in Method 2
remsex is rem#sex in Method 2
This is the same parameterisation as Method 2 14
Interactions in non-normal
non normal errors models

Key points:

1 In
1. I a 2 x 2 table,
t bl an interaction
i t ti iis a ‘diff
‘difference
of differences’
2 Tabulate the 2 x 2 table of mean values of the
2.
linear predictor
3 May back
3. back-transform
transform values via the inverse link
function
• e.g. exponentiation in hazards models

15
Binary x continuous interactions

• Use c.
c prefix to indicate continuous variable
• Use the ## operator
. regress _t
t trt##c.wcc
trt##c wcc
Source | SS df MS Number of obs = 347
-------------+------------------------------ F( 3, 343) = 7.44
Model
d l | 5678.62935 3 11892.87645 Prob
b > F = 0.0001
1
Residual | 87228.7534 343 254.311234 R-squared = 0.0611
-------------+------------------------------ Adj R-squared = 0.0529
Total | 92907.3828 346 268.518447 Root MSE = 15.947

------------------------------------------------------------------------------
_t | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1
1.trt | 12
12.81405
81405 4
4.124167
124167 3.11
3 11 0.002
0 002 4.702208
4 702208 20
20.92589
92589
wcc | -.2867831 .2741174 -1.05 0.296 -.8259457 .2523796
|
trt#c.wcc |
1 | -1.034239
1 034239 .4327233
4327233 -2.39
2 39 0
0.017
017 -1.885365
1 885365 -.1831142
1831142
|
_cons | 14.45292 2.712383 5.33 0.000 9.117919 16
19.78791
------------------------------------------------------------------------------
Binary x continuous interactions (cont.)
(cont )

• The main effect of wcc


cc is the slope in group 0
• The interaction parameter is the difference
between the slopes in groups 1 & 0
• Test of trt#c.wcc provides the interaction
parameter and test
• Results are nicely presented graphically
• Predict linear predictor xb
• Plot xb by levels of the factor variable
• Also,
Also ‘treatment
treatment effect plot
plot’ (coming later)
Plotting a binary x continuous interaction

. regress _t
t trt##c.wcc
trt##c wcc
. predict fit
. twoway (line fit wcc if trt==0, sort) (line fit wcc
if trt==1,
1 sort lp(-)),
l ( )) l
legend(lab(1
d(l b(1 "trt 0 (MPA)")
( ) )
lab(2 "trt 1 (IFN)") ring(0) pos(1))

trt 0 (MPA) trt 1 (IFN)


20
10
1
Fitted values
0
F
-10
-20

0 20 40 60
x9: white cell count (per l x 10^-9)
Continuous x continuous interaction

• Just use c.
c prefix on each variable

. regress _
_t c.age##c.t_mt
_
Source | SS df MS Number of obs = 347
-------------+------------------------------ F( 3, 343) = 10.35
Model | 7714.26052 3 2571.42017 Prob > F = 0.0000
Residual | 85193.1223 343 248.37645 R-squared = 0.0830
-------------+------------------------------ Adj R-squared = 0.0750
Total | 92907.3828 346 268.518447 Root MSE = 15.76

------------------------------------------------------------------------------
_t | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .0719063 .0876542 0.82 0.413 -.1005011 .2443137
t_mt | .0659781 .0128802 5.12 0.000 .040644 .0913122
|
c.age#c.t_mt | -.0008783 .0001861 -4.72 0.000 -.0012443 -.0005124
|
_cons | 8.055213 5.256114 1.53 0.126 -2.28306 18.39349
------------------------------------------------------------------------------
Continuous x continuous interaction

• Results are best explored graphically


• Consider in more detail next
Continuous x continuous
interactions

21
Motivation: continuous x continuous intn.
intn

• Many people only consider linear by linear


interactions
• Not sensible if main effect of either variable is
non-linear
• Mi
Mismodelling
d lli th
the main
i effect
ff t may iintroduce
t d
spurious interactions
•E
E.g. ffalse
l assumption
ti off li
linearity
it can create
t
a spurious linear x linear interaction
• Or
O they
h categorise
i the
h continuous
i variables
i bl
• Many problems, including loss of power
The MFPIgen approach (1)

• MFP = multivariable fractional polynomials


• I = interaction
• gen = generall
• Fractional polynomials (FPs) can be used to
model relationships that may be non-linear
non linear
• In Stata, FPs are implemented through the
standard fracpoly and mfp commands
• MFPIgen is implemented through a user-
written command,
o a d, mfpigen
p g
The MFPIgen approach (2)

• MFPIgen aims to identify non-linear


non linear main
effects and their two-way interactions
• Assume
u x1, x2 continuous
o uou and
a d z confounders
o ou d
• Apply MFP to x1 and x2 and z
• Force x1 and x2 into the model
• FP functions FP1(x1) and FP2(x2) are
selected for x1 and x2
• Linear
Li ffunctions
i could
ld b
be selected
l d
• Add term FP1(x1) × FP2(x2) to the model
chosen
• Apply likelihood ratio test of interaction
The MFPIgen approach in practice

• Start with a list of covariates


• Check all pairs of variables for an interaction
• Simultaneously,
Si lt l apply l MFP tto adjust
dj t ffor
confounders
• Use a low significance level to detect
interactions, e.g. 1%
• Present interactions graphically
• Check interactions for artefacts graphically
• Use forward stepwise if more than one
interaction remains
Example: Whitehall 1

• Prospective cohort study of 17


17,260
260 Civil
Servants in London
• Studied various standard risk factors for
common causes of death
• Also studied social factors,
factors particularly job
grade
• Wee consider
co s de 10-year
0 yea all-cause
a cause mortality
o ta ty as the
t e
outcome
• Logistic
g regression
g analysis
y
Example: Whitehall 1 (2)

• Consider weight and age

. mfpigen:
p g logit
g all10 age
g wt
MFPIGEN - interaction analysis for dependent variable all10
------------------------------------------------------------------------------
variable 1 function 1 variable 2 function 2 dev. diff. d.f. P Sel
------------------------------------------------------------------------------
age Linear wt FP2(-1 3) 5.2686 2 0.0718 0
------------------------------------------------------------------------------
Sel = number of variables selected in MFP adjustment
j model

• Age function is linear, weight is FP2(-1, 3)


• No strong interaction (P = 0.07)
Plotting the interaction model

. mfpigen,
mfpigen fplot(40 50 60)
60): logit all10 age wt
t

1
0
-1
-2
-3
-4
4
age by wt

40 60 80 100 120 140


x7: weight (kg)

fit o
on wt a
at age 40
0 fit o
on wt a
at age 50
fit on wt at age 60
Mis specifying the main effects function(s)
Mis-specifying

• Assume age and weight are linear


• The dfdefault(1) option imposes linearity

. mfpigen, dfdefault(1): logit all10 age wt


MFPIGEN - interaction analysis for dependent variable all10
------------------------------------------------------------------------------
variable 1 function 1 variable 2 function 2 dev. diff. d.f. P Sel
------------------------------------------------------------------------------
age Linear wt Linear 8.7375
8 7375 1 0.0031
0 0031 0
------------------------------------------------------------------------------
Sel = number of variables selected in MFP adjustment model

• There appears to be a highly significant


interaction (P = 0.003)
Checking the interaction model

• Linear age x weight interaction seems


important
• Check if it’s real,
a , or
o the result
u ofo mismodelling
od g
• Categorize age into (equal sized) groups
p
• for example, 4ggroups
p
• Compute running line smooth of the binary
outcome on weight in each age group,
transform to logits
• Plot results for each group
• Compare with the functions predicted by the
interaction model
Whitehall 1: Check of age
g x weight
g linear
interaction
0
1st quartile 2nd quartile
3rd quartile 4th quartile
-1
ath))
Logit(pr(dea
-2
-3
-4
-

40 60 80 100 120 140


weight
Interpreting the plot

• Running line smooths are roughly parallel


across age groups ⇒ no (strong) interactions
• Erroneously assuming that the effect of weight
is linear ⇒ estimated slopes of weight in age-
groups
g p indicate strong
g interaction between
age and weight
• We should have been more careful when
modelling the main effect of weight
Whitehall 1: 7 variables,
variables any interactions?

. mfpigen, select(0.05): logit all10 cigs


sysbp age ht wt chol i.jobgrade
i jobgrade
MFPIGEN - interaction analysis for dependent variable all10
------------------------------------------------------------------------------
variable 1 function 1 variable 2 function 2 dev. diff. d.f. P Sel
------------------------------------------------------------------------------
cigs FP1(.5) sysbp FP2(-2 -2) 0.7961 2 0.6716 5
FP1(.5) age Linear 0.0028 1 0.9576 5
FP1(.5) ht Linear 2.1029 1 0.1470 5
FP1(.5) wt FP2(-2 3) 0.1560 2 0.9249 5
FP1(.5) chol Linear 1.7712 1 0.1832 5
FP1(.5) i.jobgrade Factor 4.3061 3 0.2303 5

sysbp FP2(-2 -2) age Linear 3.1169 2 0.2105 5

(
(remaining
i i output
t t omitted)
itt d)
33
What mfpigen is doing

• FP functions for each pair of continuous


variables are selected
• Functions are simplified if possible
• Closed test procedure in mfp
• Controlled by the alpha() option
• The select(0.05) option tests confounders
for inclusion in each interaction model at the
5% significance level
• The Sel column in the output shows how
many variables are actually included in each
confounder
f d modeld l
34
Results: P values for interactions
P-values

. mfpigen, select(0.05):
mfpigen select(0 05): logit all10 cigs sysbp ///
age ht wt chol (gradd1 gradd2 gradd3)

*FP transformations were selected; otherwise, linear


Graphical presentation of age x chol interaction

. fracgen cigs .5,


5 center(mean)
. fracgen sysbp -2 -2, center(mean)
. fracgen wt -2 3, center(mean)

. mfpigen, linadj(cigs_1 sysbp_1 sysbp_2


> wt_1 wt_2 ht i.jobgrade) df(1)
> fplot(%10 35 65 90): logit all10 age chol

Alternatively:

. logit all10 c.age##c.chol cigs_1 sysbp_1 sysbp_2


> wt_1 wt_2 ht i.jobgrade
. sliceplot age chol, sliceat(10 35 65 90) percent

• sliceplot is a new user-written command


Logit(pr(de
eath)) Logit(pr(dea
L ath))
-5 -4 -3 -2 -1 -5 -4 -3 -2 -1

40
45
5

50
age
chol

55
10

60
65
15

Pr(death) Pr(death
h)
0 .05 .1 .15 .2 .25 0 .05 .1 .15 .2 .25
0

40
45
5

50
age
chol

55
10

60
65
15
intn
Graphical presentation of age x chol intn.

37
Check of chol x age interaction

2 Q1: slope 0.17 (SE 0.06) Q2: slope 0.22 (SE 0.05)

2
0

0
-2

-2
-4

-4
-6

-6
Logit(pr(death))
-8

-8
0 2.5 5 7.5 10 12.5 0 2.5 5 7.5 10 12.5

Q3: slope 0.14 (SE 0.04) Q4: slope -0.01 (SE 0.04)
2

2
0

0
--2

--2
-4

-4
-6

-6
-8

-8

0 2.5 5 7.5 10 12.5 0 2.5 5 7.5 10 12.5


38
chol
Interactions with continuous
covariates in randomized trials

39
MFPI method (Royston & Sauerbrei 2004)

• Continuous covariate x of interest


interest, binary
treatment variable t and other covariates z
• Independent of x and t, t use MFP to select an
‘adjustment’ (confounder) model z* from z
• Find best FP2 function of x (in all patients)
adjusting for z* and t
• Test
est FP2(x)
( ) × t interaction
te act o (2( dd.f.))
• Estimate β’s in each treatment group
• Standard test for equality of β β’ss
• May also consider simpler FP1 or linear
functions – choose e.g.g byy min AIC
40
MFPI in Stata

• MFPI is implemented as a user command,


command
mfpi
• mfpi is available on SSC
• Details are given by Royston & Sauerbrei,
Stata Journal 9(2): 230-251
230 251 (2009)
• Program was updated in 2012 to support
acto variables
factor a ab es

41
Treatment effect function

• Have estimated two FP2 functions – one per


treatment group
• Plot the difference between functions against x
to show the interaction
• i.e.
i e the treatment effect at different x
• Pointwise 95% CI shows how strongly the
te act o is
interaction s supported
suppo ted at different
d e e t values
a ues of
o x
• i.e. variation in the treatment effect with x

42
Example: MRC RE01 trial in kidney cancer

• Main analysis: Interferon improves survival


• HR: 0.76 (0.62 - 0.95), P = 0.015
• Is
I the
h treatment effect
ff similar
i il iin all
ll patients?
i ?
• Nine possible covariates available for the
investigation of treatment-covariate
interactions – only one is significant (WCC)

43
Kaplan Meier showing treatment effect
Kaplan-Meier
00
1.0
(1) MPA
(2) Interferon
75
0.7
alive
50
portion a
0.5
25
Prop
0.2
00
0.0

At risk 1: 175 55 22 11 3 2 1

At risk 2: 172 73 36 20 8 5 1

0 12 24 36 48 60 72
44
Follow-up (months)
The mfpi command

. mfpi, select(0.05) fp2(wcc) with(trt) gendiff(d): stcox


(whod1 whod2) t
t_dt
dt t
t_mt
mt rem mets haem
Interactions with trt (347 observations). Flex-1 model (least flexible)

-------------------------------------------------------------------------------
Var Main Interact idf Chi2 P Deviance tdf AIC
-------------------------------------------------------------------------------
wcc FP2(-1 -.5) FP2(-1 -.5) 2 6.91 0.0316 3180.194 7 3194.194
-------------------------------------------------------------------------------
idf = interaction degrees of freedom; tdf = total model degrees of freedom

. mfpi_plot wcc
[ i
[using variables
i bl created
d b
by gendiff(d)]
diff(d)]

45
Treatment effect plot for wcc

2
1
Log relativve hazard
-1 -2
2
-3 0

5 10 15 20 25
White cell count

About 25% of patients, those with WCC > 10 seem not to


benefit from interferon 46
Concluding remarks

• MFPIgen and MFPI should help researchers


detect, model and visualize interactions with
continuous covariates
• Usually, we are searching for interactions, so
small P-values are required
q
• Other methods not considered
•S
STEPP – mainly
a y graphical
g ap ca
•…

47
Thank you
you.

48
Cox (1984) paper: Interaction

• Cox identifies 3 types of variable that might


appear in interactions:
• Treatment variables
• Can be modified or imposed
• Treatments,
Treatments e.g.
e g chemotherapy,
chemotherapy surgery
• Behaviours, e.g. smoking, drinking
• Intrinsic variables
• Cannot be modified
• Often demog
demographic,
aphic e.g.
e g sex,
se age
• Unspecific variables
• e.g. structural
t t l bl
blocks,
k `random’
d ’ factors
f t
49

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy