# estimator: Parameter estimation of a model matrix In matrixpls: Matrix-Based Partial Least Squares Estimation

## Description

Estimates the parameters of a model matrix (`inner`, `reflective`, or `formative`).

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11``` ```estimator.ols(S, modelMatrix, W, ..., C = NULL, IC = NULL, n = NULL) estimator.tsls(S, modelMatrix, W, ..., C) estimator.plscLoadings(S, modelMatrix, W, ...) estimator.efaLoadings(S, modelMatrix, W, ..., fm = "minres") estimator.cfaLoadings(S, modelMatrix, W, ...) estimator.plsreg(S, modelMatrix, W, ..., C) ```

## Arguments

 `S` Covariance matrix of the data. `modelMatrix` A model matrix with dependent variables on rows, independent variables on colums, and non-zero elements indicating relationships. Can be either `inner`, `reflective`, or `formative` matrix. `W` Weight matrix, where the indicators are on colums and composites are on the rows. `...` All other arguments are either ignored or passed through to third party estimation functions. `C` Correlation matrix of the composites. `IC` Correlation matrix of the composites and indicators. `n` sample size, used for calculating standard errors. `fm` factoring method for estimating the factor loadings. Passed through to `fa`.

## Details

Parameter estimation functions estimate the parameters of a model matrix (`inner`, `reflective`, or `formative`). These functions can be used as `parametersInner`, `parametersReflective`, and `parametersFormative` arguments for `parameterEstim.separate`.

When two-stage least squares regression is applied with `estimator.tsls`, all exogenous variables are used as instrumental varaables. There is currently no check of whether the number of instrumental variables is sufficient for estimation.

`estimator.plscLoadings` estimates the loadings by scaling the weights `W` with the correction factor `c` presented by Dijkstra (2011). This produces a MINRES estimator, which constraints the loadings to be proportional to the weights. The PLSc code is loosely based on code contributed by Wenjing Huang and developed with the guidance by Theo Dijkstra.

`estimator.plscLoadings` estimates loadings with an unconstrained single factor model, which requires at least three indicators per block. The loadings of single indicator factors are estimated as 1 and two indicator factors as estimated by the square root of the indicator correlation.

Providing `C` or `IC` allows for using disattenuated or otherwise adjusted correlation matrices. If not provided, these matrices are calculated using `S` and `W`.

A part of the code for `estimator.plsreg` is adopted from the plspm package, licenced under GPL3.

## Value

A matrix with estimated parameters or a list of two matrices containing estimates and standard errors.

## Functions

• `estimator.ols`: parameter estimation with OLS regression. Can be applied to `inner`, `reflective`, or `formative` matrix.

• `estimator.tsls`: parameter estimation with two-stage least squares regression. For `inner` matrix only.

• `estimator.plscLoadings`: parameter estimation with Dijkstra's (2011) PLSc correction for loadings. For `reflective` matrix only.

• `estimator.efaLoadings`: parameter estimation with one indicator block at at time with exploratory factor analysis. Minres estimation is implemented natively and all other estimation techniques use the `fa` function from the `psych` package. For `reflective` matrix only.

• `estimator.cfaLoadings`: Estimates a maximum likelihood confirmatory factor analysis with `lavaan`. For `reflective` matrix only.

• `estimator.plsreg`: parameter estimation with PLS regression. For `inner` matrix only.

## Author(s)

Mikko R<c3><b6>nkk<c3><b6>, Wenjing Huang, Theo Dijkstra

Mikko R<c3><b6>nkk<c3><b6>, Gaston Sanchez, Laura Trinchera, Giorgio Russolillo

## References

Huang, W. (2013). PLSe: Efficient Estimators and Tests for Partial Least Squares (Doctoral dissertation). University of California, Los Angeles.

Dijkstra, T. K. (2011). Consistent Partial Least Squares estimators for linear and polynomial factor models. A report of a belated, serious and not even unsuccessful attempt. Comments are invited. Retrieved from http://www.rug.nl/staff/t.k.dijkstra/consistent-pls-estimators.pdf

Sanchez, G. (2013). PLS Path Modeling with R. Retrieved from http://www.gastonsanchez.com/PLS Path Modeling with R.pdf

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83``` ```# Run the education example from the book # Sanchez, G. (2013) PLS Path Modeling with R # Trowchez Editions. Berkeley, 2013. # http://www.gastonsanchez.com/PLS Path Modeling with R.pdf education <- read.csv("http://www.gastonsanchez.com/education.csv") Support <- c(0, 0, 0, 0, 0, 0) Advising <- c(0, 0, 0, 0, 0, 0) Tutoring <- c(0, 0, 0, 0, 0, 0) Value <- c(1, 1, 1, 0, 0, 0) # Omit two paths (compared to teh model in the book) to achieve # identification of the 2SLS analysis Satisfaction <- c(0, 0, 1, 1, 0, 0) Loyalty <- c(0, 0, 0, 0, 1, 0) inner <- rbind(Support, Advising, Tutoring, Value, Satisfaction, Loyalty) reflective <- diag(6)[c(rep(1,4), rep(2,4), rep(3,4), rep(4,4), rep(5,3), rep(6,4)),] formative <- matrix(0, 6, 23) colnames(inner) <- colnames(reflective) <- rownames(formative) <- rownames(inner) rownames(reflective) <- colnames(formative) <- colnames(education)[2:24] education.model <- list(inner = inner, reflective = reflective, formative = formative) # Reverse code two variables education[,c("sup.under","loy.asha")] <- - education[,c("sup.under","loy.asha")] S <- cor(education[,2:24]) # PLSc with OLS regression education.out <- matrixpls(S,education.model, disattenuate = TRUE, parametersReflective = estimator.plscLoadings) # PLSc with 2SLS regresssion education.out2 <- matrixpls(S,education.model, disattenuate = TRUE, parametersReflective = estimator.plscLoadings, parametersInner = estimator.tsls) # Disattenuated regression with unit-weighted scales and exploratory factor analysis # reliability estimates (with unconstrained MINRES estimator) education.out3 <- matrixpls(S,education.model, disattenuate = TRUE, weightFun = weightFun.fixed, parametersReflective = estimator.efaLoadings) # Disattenuated GSCA with 2SLS regression after disattenuated based on # confirmatory factor analysis reliability estimates education.out4 <- matrixpls(S,education.model, disattenuate = TRUE, innerEstim = innerEstim.gsca, outerEstim = outerEstim.gsca, parametersInner = estimator.tsls, parametersReflective = estimator.cfaLoadings) # Compare the results cbind(PLSc = education.out, PLSc_2sls = education.out2, DR = education.out3, GSCAc = education.out4) # Compare the reliability estimates cbind(PLSc = attr(education.out,"Q"), PLSc_2sls = attr(education.out2,"Q"), DR = attr(education.out3,"Q"), GSCAc = attr(education.out4,"Q")) ```

matrixpls documentation built on May 30, 2017, 7:12 a.m.