bilinmodel {dyad} | R Documentation |
Fit the Gottman-Murray marriage model with the bilinear influence function, optimizing the threshold.
bilinmodel(observations, mpr = NA)
observations |
A data frame with two columns, one for the wife (person 1) and one for the husband (person 2) scores for each unit of time |
mpr |
Minimum number of observations per regime. If not specified, set to 10% of observations. |
This function fits the following Gottman-Murray model of marriage, where input is a series of discrete observations of the wife (W) and the husband (H). The same model can apply to single-sex couples, in which case the wife should be interpreted as partner 1 and the husband as partner 2.
The Gottman-Murray equations of marriage are written as follows.
W(t+1) = a0 + a1*W(t) + IHW(H(t))
H(t+1) = b0 + b1*H(t) + IWH(H(t))
In these equations, one partner exerts influence on the other as a function of the previous timestep, denoted by the function IHW (influence of the husband on the wife) or IWH (influence of the wife on the husband).
The influence function here is a bilinear function. This function consists of two linear pieces, which we refer to as the negative and positive regime, while the influence is zero at the threshold between regimes. If we plot H(t) against IHW, we adjust the threshold of H(t) to obtain the best least squares fit to both lines.
Parameters are estimated simultaneously using the method described by Hamaker, E., Zhang, Z., and Van der Maas, H.L. (See References).
bilinmodel
returns a list consisting of the results (the
parameters fit by the model) for the
wife (person 1) and the husband (person 2), corresponding to the
solution to first and the second Gottman-Murray equations of marriage
above. Each set of results is an
object of class bilinmodel
. Although variable names (e.g., a0
and a1) are the same for each object, their values correspond to the
model fit to the husband or wife (and are generally different for each
spouse). Therefore, a0 and a1 for the
husband's results should be interpreted as b0 and b1 in the equation
for the husband above.
The plot
method for bilinmodel
objects graphs the partner
score against the influenced component and the interpolated influence
function. For example, for the wife results, this would plot the
husband score against the influence of the husband on the wife.
An object of class bilinmodel
contains the
following parameters.
a0 |
Initial state |
a1 |
Inertia |
ls |
Slope for influence function left of the threshold |
rs |
Slope for influence function right of the threshold |
th |
Threshold |
ss |
Sum squared residuals |
loglik |
Log likelihood assuming equal variance of residuals across regimes |
nparams |
Number parameters, assuming unequal variance of residuals across regimes |
BICeq |
Bayesian Information Criterion calculated assuming equal variance of residuals across regimes |
BICneq |
Bayesian Information Criterion calculated assuming unequal variance of residuals across regimes |
AICeq |
Akaike's Information Criterion calculated assuming equal variance of residuals across regimes |
AICneq |
Akaike's Information Criterion calculated assuming unequal variance of residuals across regimes |
nt |
Number of observations |
score |
Vector of partner data (from 1 to nt-1) |
influence |
Vector of influence, calculated using a0 and a1 above |
Tara Madhyastha and Ellen Hamaker
For a general description of the marriage model and influence functions, see Gottman, J. M., Murray, J. D., Swanson, C., Tyson, R., & Swanson, K. R. (2003). The Mathematics of Marriage: Dynamic Nonlinear Models. The MIT Press.
The method of parameter estimation used here is described in Hamaker, E., Zhang, Z., Van der Maas, H.L. Using threshold autoregressive models to study dyadic interactions. Psychometrika, in press.
noinfmodel
, linmodel
, ojivemodel
, combimodel
, origmodel
require(dyad) data(couple) ## fit a bilinear model fit <- bilinmodel(couple); ## plot influence function for husband on wife plot(fit$wife)