plspm {plspm}R Documentation

PLS-PM: Partial Least Squares Path Modeling

Description

Estimate path models with latent variables by partial least squares approach

Usage

  plspm(x, inner.mat, sets, modes = NULL, scheme = "centroid",
  scaled = TRUE, boot.val = FALSE, plsr = FALSE)

Arguments

x A numeric matrix or data frame containing the manifest variables.
inner.mat A square (lower triangular) boolean matrix indicating the path relationships betwenn latent variables.
sets List of vectors with column indices from x indicating which manifest variables correspond to the latent variables.
modes A character vector indicating the type of measurement for each latent variable. "A" for reflective measurement or "B" for formative measurement (NULL by default).
scheme A string of characters indicating the type of inner weighting scheme. Possible values are "centroid", "factor" and "path".
scaled A logical value indicating whether scaling data is performed (TRUE by default).
boot.val A logical value indicating whether bootstrap validation is performed (FALSE by default)
plsr A logical value indicating whether pls regression is applied (FALSE by default)

Details

The function plspm estimates a path model with latent variables by partial least squares approach.

The argument inner.mat is a matrix of zeros and ones that indicates the structural relationships between latent variables. This must be a lower triangular matrix. inner.mat will contain a 1 when column j affects row i, 0 otherwise.

The argument sets is a list of vectors of indices indicating the sets of manifest variables associated to the latent variables. The length of sets must be equal to the number of rows of inner.mat.

The argument modes is a character vector indicating the type of measurement for each latent variable. A value of "A" is used when a latent variable has reflective manifest variables, and a value of "B" is used when the latent variable has formative manifest variables. The length of modes must be equal to the number of rows of inner.mat (i.e. equal to the length of sets).

The argument scaled is TRUE by default. This means that data in x is scaled to standardized values (mean=0, variance=1). Unless the data has the same scale for all variables, it is strongly recommended to keep this argument unchanged.

When bootstrap validation is performed, the number of re-samples is 200.

The argument plsr gives the option to calculate the inner model relationships by means of pls regression.

Value

An object of class "plspm", basically a list with the following elements:

unidim Results for checking the unidimensionality of blocks (These results are only meaningful for reflective blocks).
outer.mod Results of the outer (measurement) model. Includes: outer weights, standardized loadings, communalities, and redundancies.
inner.mod Results of the inner (structural) model. Includes: path coefficients and R-squared for each endogenous latent variable.
latents Matrix of standardized latent variables (variance=1).
scores Matrix of re-scaled latent variables. If scaled=FALSE then scores are the standardized latent variables expressed in the same scale of the manifest variables. If scaled=TRUE then scores are equal to latents
out.weights Vector of outer weights.
loadings Vector of standardized loadings (i.e. correlations with LVs.)
path.coefs Matrix of path coefficients (this matrix has a similar form as inner.mat).
r.sqr Vector of R-squared coefficients.
outer.cor Correlations between the latent variables and the manifest variables (also called crossloadings).
inner.sum Summarized results by latent variable of the inner model. Includes: type of LV, type of measurement, number of indicators, R-squared, average communality, average redundancy, and average variance extracted
gof Table with indexes of Goodness-of-Fit. Includes: absolute GoF, relative GoF, outer model GoF, and inner model GoF.
effects Path effects of the structural relationships. Includes: direct, indirect, and total effects.
boot List of bootstrapping results; only available when argument boot.val=TRUE.

Author(s)

Gaston Sanchez http://www.docstoc.com/profile/gasigiri

References

Tenenhaus, M., Esposito Vinzi, V., Chatelin Y.M., and Lauro, C. (2005) PLS path modeling. Computational Statistics & Data Analysis, 48, pp. 159-205.

Tenenhaus, M., and Pages, J. (2001) Multiple factor analysis combined with PLS path modelling. Application to the analysis of relationships between physicochemical variables, sensory profiles and hedonic judgements. Chemometrics and Intelligent Laboratory Systems, 58, pp. 261-273.

Tenenhaus, M., and Hanafi, M. A bridge between PLS path modeling and multi-block data analysis. Handbook on Partial Least Squares (PLS): Concepts, methods, and applications. Springer: In press.

Lohmoller, J.-B. (1989) Latent variables path modelin with partial least squares. Heidelberg: Physica-Verlag.

Wold, H. (1985) Partial Least Squares. In: Kotz, S., Johnson, N.L. (Eds.), Encyclopedia of Statistical Sciences, Vol. 6. Wiley, New York, pp. 581-591.

Wold, H. (1982) Soft modeling: the basic design and some extensions. In: K.G. Joreskog & H. Wold (Eds.), Systems under indirect observations: Causality, structure, prediction, Part 2, pp. 1-54. Amsterdam: Holland.

See Also

print.plspm, summary.plspm.

Examples

  ## Not run: 
  ## example of PLS-PM in ecological analysis
  ## model with three LVs and formative indicators
  data(arizona)
  ari.mat <- matrix(c(0,0,0,0,0,0,1,1,0),3,3,byrow=TRUE)
  dimnames(ari.mat) <- list(c("ENV","SOIL","DIV"),c("ENV","SOIL","DIV"))
  ari.sets <- list(c(1,2),c(3,4,5),c(6,7,8)) 
  ari.mod <- c("B","B","B")  ## formative indicators
  res1 <- plspm(arizona, inner.mat=ari.mat, sets=ari.sets, modes=ari.mod,
  scheme="factor", scaled=TRUE, plsr=TRUE)
  res1
  summary(res1)
  
  ## typical example of PLS-PM in customer satisfaction analysis
  ## model with six LVs and reflective indicators
  data(satisfaction)
  IMAG <- c(0,0,0,0,0,0)
  EXPE <- c(1,0,0,0,0,0)
  QUAL <- c(1,1,0,0,0,0)
  VAL  <- c(0,1,1,0,0,0)
  SAT  <- c(1,1,1,1,0,0) 
  LOY  <- c(1,0,0,0,1,0)
  sat.mat <- rbind(IMAG, EXPE, QUAL, VAL, SAT, LOY)
  sat.sets <- list(1:5,6:10,11:15,16:19,20:23,24:27)
  sat.mod <- rep("A",6)   ## reflective indicators
  res2 <- plspm(satisfaction, sat.mat, sat.sets, sat.mod, scheme="centroid", 
                scaled=FALSE)
  summary(res2)
  
  ## example of PLS-PM in sensory analysis
  ## estimate a path model for the orange juice data
  data(orange)
  senso.mat <- matrix(c(0,0,0,1,0,0,1,1,0),3,3,byrow=TRUE)
  dimnames(senso.mat) <- list(c("PHYCHEM","SENSORY","HEDONIC"),
                              c("PHYCHEM","SENSORY","HEDONIC"))
  senso.sets <- list(1:9,10:16,17:112)
  senso.mod <- rep("A",3)
  res3 <- plspm(orange, senso.mat, senso.sets, senso.mod, 
                scheme="centroid", scaled=TRUE, boot.val=FALSE)

  ## example of PLS-PM in multi-block data analysis
  ## estimate a path model for the wine data set 
  ## requires package FactoMineR 
  library(FactoMineR)
  data(wine)
  SMELL <- c(0,0,0,0)
  VIEW <- c(1,0,0,0)
  SHAKE <- c(1,1,0,0)
  TASTE <- c(1,1,1,0)
  wine.mat <- rbind(SMELL,VIEW,SHAKE,TASTE)
  wine.sets <- list(3:7,8:10,11:20,21:29)
  wine.mods <- rep("A",4)
  scheme <- "centroid"
  scaled <- FALSE
  boot.val <- FALSE
  res4 <- plspm(wine, wine.mat, wine.sets, wine.mods, scheme="centroid")                
  ## End(Not run)

[Package plspm version 0.1-3 Index]