Formulae for random effects models
Covariance matrices for common random effects analyses.
Examples
>>> from formula import Factor, make_recarray
Make a subject factor with two levels
>>> subj_factor = Factor('s', [2,3])
Make corresponding data vector
>>> subj = make_recarray([2,2,2,3,3], 's')
Make random effects object with default covariance
>>> c = RandomEffects(subj_factor.terms)
>>> c.cov(subj)
array([[1.0*_s2_0, 1.0*_s2_0, 1.0*_s2_0, 0, 0],
[1.0*_s2_0, 1.0*_s2_0, 1.0*_s2_0, 0, 0],
[1.0*_s2_0, 1.0*_s2_0, 1.0*_s2_0, 0, 0],
[0, 0, 0, 1.0*_s2_1, 1.0*_s2_1],
[0, 0, 0, 1.0*_s2_1, 1.0*_s2_1]], dtype=object)
Specify the covariance
>>> c = RandomEffects(subj_factor.terms,
... sigma=np.array([[4,1],[1,6]]))
>>> c.cov(subj)
array([[ 4., 4., 4., 1., 1.],
[ 4., 4., 4., 1., 1.],
[ 4., 4., 4., 1., 1.],
[ 1., 1., 1., 6., 6.],
[ 1., 1., 1., 6., 6.]])
Methods
cov | |
delete_terms | |
design | |
subs |
Compute the covariance matrix for some given data.