Learn R Programming

lavaSearch2 (version 1.0.0)

score2: Compute the Score Directly from the Gaussian Density

Description

Compute the score directly from the gaussian density.

Usage

score2(object, ...)

# S3 method for lm score2(object, indiv = TRUE, return.vcov.param = FALSE, ...)

# S3 method for gls score2(object, cluster, p = NULL, data = NULL, indiv = TRUE, return.vcov.param = FALSE, ...)

# S3 method for lme score2(object, cluster, p = NULL, data = NULL, indiv = TRUE, return.vcov.param = FALSE, ...)

# S3 method for lvmfit score2(object, p = NULL, data = NULL, indiv = TRUE, return.vcov.param = FALSE, ...)

Arguments

object

a linear model or a latent variable model.

...

Arguments to be passed to residuals2

indiv

Should the score relative to each observation be exported? Otherwise the total score (i.e. sum over all observations) will be exported.

return.vcov.param

Should the variance covariance matrix of the parameters be included in the output?

cluster

[only required for gls objects] a vector indicating the clusters of observation that are iid.

p

[optional] vector of parameters at which to evaluate the score.

data

[optional] data set.

Value

A matrix.

Details

The log-likelihood of a lvm can written: $$ l(\theta|Y,X) = \sum_{i=1}^{n} - \frac{p}{2} log(2\pi) - \frac{1}{2} log|\Omega(\theta))| - \frac{1}{2} (Y_i-\mu_i(\theta)) \Omega^{-1} (Y_i-\mu_i(\theta))^t $$ So the score is: $$ s(\theta|Y,X) = \sum_{i=1}^{n} - \frac{1}{2} tr(\Omega(\theta)^{-1} \frac{\partial \Omega(\theta)}{\partial \theta}) + \frac{\partial \mu_i(\theta)}{\partial \theta} \Omega^{-1} (Y_i-\mu_i(\theta))^t + \frac{1}{2} (Y_i-\mu_i(\theta)) \Omega^{-1} \frac{\partial \Omega(\theta)}{\partial \theta} \Omega^{-1} (Y_i-\mu_i(\theta))^t $$ with: $$ \frac{\partial \mu_i(\beta)}{\partial \nu} = 1 $$ $$ \frac{\partial \mu_i(\beta)}{\partial K} = X_i $$ $$ \frac{\partial \mu_i(\beta)}{\partial \alpha} = (1-B)^{-1}\Lambda $$ $$ \frac{\partial \mu_i(\beta)}{\partial \Gamma} = X_i(1-B)^{-1}\Lambda $$ $$ \frac{\partial \mu_i(\beta)}{\partial \lambda} = (\alpha + X_i \Gamma)(1-B)^{-1}\delta_{\lambda \in \Lambda} $$ $$ \frac{\partial \mu_i(\beta)}{\partial b} = (\alpha + X_i \Gamma)(1-B)^{-1}\delta_{b \in B}(1-B)^{-1}\Lambda $$ and: $$ \frac{\partial \Omega(\beta)}{\partial \psi} = \Lambda^t (1-B)^{-t} \delta_{\psi \in \Psi} (1-B) \Lambda $$ $$ \frac{\partial \Omega(\beta)}{\partial \sigma} = \delta_{\sigma \in \Sigma} $$ $$ \frac{\partial \Omega(\beta)}{\partial \lambda} = \delta_{\lambda \in \Lambda} (1-B)^{-t} \Psi (1-B)^{-1} \Lambda + \Lambda^t (1-B)^{-t} \Psi (1-B)^{-1} \delta_{\lambda \in \Lambda} $$ $$ \frac{\partial \Omega(\beta)}{\partial b} = \Lambda^t (1-B)^{-t} \delta_{b \in B} (1-B)^{-t} \Psi (1-B)^{-1} \Lambda - \Lambda^t (1-B)^{-t} \Psi (1-B)^{-1} \delta_{b \in B} (1-B)^{-1} \Lambda$$

Examples

Run this code
# NOT RUN {
m <- lvm(Y1~eta,Y2~eta,Y3~eta)
latent(m) <- ~eta

e <- estimate(m,sim(m,1e2))
score2(e)

# }

Run the code above in your browser using DataLab