Title: Quantile Composite Path Modeling
Version: 0.4
Description: Implements the Quantile Composite-based Path Modeling approach (Davino and Vinzi, 2016 <doi:10.1007/s11634-015-0231-9>; Dolce et al., 2021 <doi:10.1007/s11634-021-00469-0>). The method complements the traditional PLS Path Modeling approach, analyzing the entire distribution of outcome variables and, therefore, overcoming the classical exploration of only average effects. It exploits quantile regression to investigate changes in the relationships among constructs and between constructs and observed variables.
Depends: R (≥ 3.5.0)
Imports: quantreg,cSEM,broom
License: GPL-3
LazyData: true
Encoding: UTF-8
RoxygenNote: 7.1.1
NeedsCompilation: no
Packaged: 2024-08-21 18:51:23 UTC; giuseppelamberti
Author: Giuseppe Lamberti [aut, cre], Cristina Davino [ctb], Pasquale Dolce [ctb], Domenico Vistocco [ctb]
Maintainer: Giuseppe Lamberti <giuseppelamb@hotmail.com>
Repository: CRAN
Date/Publication: 2024-08-22 06:20:02 UTC

Assessment measures of quantile composite-based path modeling

Description

assessment returns the following measures for assessing both the inner and the outer model: communality of each manifest variable, communality of each block,redundancy of each manifest variable of endogenous blocks, redundancy of the endogenous blocks, and pseudo-R^2 for each inner equation.

Usage

assessment(qcpm)

Arguments

qcpm

is an object of class qcpm

Details

All the assessment measures discussed in Davino et al. (2016) and Dolce et al. (2021) are based on pseudo-R^2, proposed by Koenker and Machado (1999), which simulates the role and interpretation of the R^2 in classical regression analysis. The pseudo-R^2 is considered as a local measure of goodness of fit for a particular quantile as it measures the contribute of the selected regressors to the explanation of the dependent variable, with respect to the trivial model without regressors. In more technical way, pseudo-R^2 compares the residual absolute sum of weighted differences using the selected model with the total absolute sum of weighted differences using a model with the only intercept. The pseudo-R^2 can be used to assess the inner model measuring the amount of variability of a given endogenous construct explained by its explanatory constructs. A synthesis of the evaluations regarding the whole inner model can be obtained by the average of all the pseudo-R^2. Communality indicates how much of the MV variance is explained by the corresponding construct. It can be calculated for each MV, and for each block, using the average of MV communalities. Redundancy measures the percent of the variance of MVs in an endogenous block that is predicted from the explanatory constructs related to the endogenous construct. Redundancy can be computed only for each MVs of endogenous blocks and for the whole endogenous blocks, using the average of MV redundancies. Results are provided for each quantile of interest. When fix.quantile=TRUE, the function returns communalities and redundancies only for the quantile 0.5.

Value

Communality

Communality of each MV. It is the proportion of the MV variance explained by the corresponding construct.

Block_Communality

Communality of a whole block. It is computed as average of the MV communalities belonging to that block.

Redundancy

Redundancy of each MV of the endogenous blocks. It measures the percent of the variance of MVs in endogenous blocks that is predicted from the explanatory constructs related to the endogenous construct.

Block_Redundancy

Redundancy of a block. It is computed as average of MV redundancies belonging to that block.

pseudo.R2

The pseudo-R^2. It assesses the goodness of fit of the inner model.

Author(s)

Cristina Davino, Pasquale Dolce, Giuseppe Lamberti, Domenico Vistocco

References

Davino, C., Dolce, P., Taralli, S. and Vistocco, D. (2020). Composite-based path modeling for conditional quantiles prediction. An application to assess health differences at local level in a well-being perspective. Social Indicators Research, doi:10.1007/s11205-020-02425-5..

Davino, C. and Esposito Vinzi, V. (2016). Quantile composite-based path modeling. Advances in Data Analysis and Classification, 10 (4), pp. 491–520, doi:10.1007/s11634-015-0231-9.

Davino, C., Esposito Vinzi, V. and Dolce, P. (2016). Assessment and validation in quantile composite-based path modeling. In: Abdi H., Esposito Vinzi, V., Russolillo, G., Saporta, G., Trinchera, L. (eds.). The Multiple Facets of Partial Least Squares Methods, chapter 13. Springer proceedings in mathematics and statistics. Springer, Berlin

Dolce, P., Davino, C. and Vistocco, D. (2021). Quantile composite-based path modeling: algorithms, properties and applications. Advances in Data Analysis and Classification, doi:10.1007/s11634-021-00469-0.

Koenker, R. and Machado, J.A. (1999). Goodness of fit and related inference processes for quantile regression. Journal of the American Statistical Association, 94 (448) pp. 1296–1310, doi: 10.1080/01621459.1999.10473882

He, X.M. and Zhu, L.X. (2003). A lack-of-fit test for quantile regression. Journal of the American Statistical Association 98 pp. 1013–1022, doi: 10.1198/016214503000000963

See Also

summary, qcpm, boot, and reliability

Examples


# Example of QC-PM in Well-Being analysis
# model with three LVs and reflective indicators

# load library and dataset province
library(qcpm)
data(province)

# Define the model using laavan sintax. Use a set of regression formulas defining 
# firstly the structural model and then the measurement model
model <- "
ECOW ~ EDU
HEALTH ~ EDU + ECOW

# Reflective measurement model
EDU =~ EDU1 + EDU2 + EDU3 + EDU4 + EDU5 + EDU6 + EDU7
ECOW =~ ECOW1 + ECOW2 + ECOW3 + ECOW4 + ECOW5 + ECOW6
HEALTH =~  HEALTH1 + HEALTH2 + HEALTH3
"


# Apply qcpm
well.qcpm = qcpm(model,province)
well.assessment = assessment(well.qcpm)   
well.assessment 


Inference on QC-PM model parameters (i.e., loadings and path coefficients)

Description

boot returns in order the estimates, std. errors, t-values, p-values, and confidence interval at the specified confidence level for loadings and path coefficients for each quantile.

Usage

boot(qcpm, conf.level = 0.95, br = 200)

Arguments

qcpm

is an object of class qcpm.

conf.level

is the value used to fix the confidence level to use for the confidence interval. It is equal to 0.95 by default.

br

specifies the number of bootstrap replications. It is fixed to 200 by default.

Details

The argument qcpm is an object of class qcpm returned by qcpm function. Std. errors are calculated by using the bootstrap method implemented in the tidy.rq function of the broom package (Robinson, 2014). When fix.quantile=TRUE, the function boot returns only loading results for the quantile 0.5.

Value

boot.loadings

the outer loading results for each considered quantile.

boot.path

the path coefficient results for each considered quantile.

Author(s)

Cristina Davino, Pasquale Dolce, Giuseppe Lamberti, Domenico Vistocco

References

Davino, C., Dolce, P., Taralli, S. and Vistocco, D. (2020). Composite-based path modeling for conditional quantiles prediction. An application to assess health differences at local level in a well-being perspective. Social Indicators Research, doi:10.1007/s11205-020-02425-5.

Davino, C. and Esposito Vinzi, V. (2016). Quantile composite-based path modeling. Advances in Data Analysis and Classification, 10 (4), pp. 491–520, doi:10.1007/s11634-015-0231-9.

Dolce, P., Davino, C. and Vistocco, D. (2021). Quantile composite-based path modeling: algorithms, properties and applications. Advances in Data Analysis and Classification, doi:10.1007/s11634-021-00469-0.

Robinson, D. (2014). broom: An R package for converting statistical analysis objects into tidy data frames. Available at https://CRAN.R-project.org/package=broom.

See Also

qcpm, assessment, summary, and reliability

Examples


# Example of QC-PM in Well-Being analysis
# model with three LVs and reflective indicators

# load library and dataset province
library(qcpm)
data(province)

# Define the model using laavan sintax. Use a set of regression formulas defining 
# firstly the structural model and then the measurement model
model <- "
ECOW ~ EDU
HEALTH ~ EDU + ECOW

# Reflective measurement model
EDU =~ EDU1 + EDU2 + EDU3 + EDU4 + EDU5 + EDU6 + EDU7
ECOW =~ ECOW1 + ECOW2 + ECOW3 + ECOW4 + ECOW5 + ECOW6
HEALTH =~  HEALTH1 + HEALTH2 + HEALTH3
"


# Apply qcpm
well.qcpm = qcpm(model,province)
well.boot = boot(well.qcpm)   
well.boot 


intternal checks

Description

intternal checks

Usage

get_checks(data, inner, outer, scheme, tau, ...)

Arguments

data

matrix or data frame containing the manifest variables.

inner

A square (lower triangular) boolean matrix representing the inner model (i.e. the path relationships between latent variables).

outer

list of vectors with column indices or column names from data indicating the sets of manifest variables forming each block (i.e. which manifest variables correspond to each block).

scheme

string indicating the type of inner weighting scheme. It is equal to "factorial" by default. Possible values are "centroid" or "factorial".

tau

if sepcifed indicates the specific quantile to be considered

...

Further arguments passed on to get_checks.

Details

Internal function. get_checks is called by qcpm.

Value

A list containing checked parameters for internal estimation of the qcpm algorithm.


get_communality

Description

get_communality

Usage

get_communality(mv_name, lv_name, tau, data)

Arguments

mv_name

manifest variable label (string)

lv_name

latent variable label (string)

tau

the quantile(s) to be estimated

data

dataset. It includes manifest variable and latent score for a specific quantile

Details

Internal function. get_communality is called by assessment and

Value

the communality for each manifest varaible


get_element

Description

get_element

Usage

get_element(path_matrix)

Arguments

path_matrix

the matrix of path coefficients

Details

Internal function. get_element is called by get_paths

Value

the path coefficients labels


get_info

Description

get_info

Usage

get_info(data, inner, outer, modes, scheme, tau, tau_Alg, fix.quantile, ...)

Arguments

data

matrix or data frame containing the manifest variables.

inner

A square (lower triangular) boolean matrix representing the inner model (i.e. the path relationships between latent variables).

outer

list of vectors with column indices or column names from data indicating the sets of manifest variables forming each block (i.e. which manifest variables correspond to each block).

modes

character vector indicating the type of measurement for each block. Possible values are: 'A', 'B'. The length of modes must be equal to the length of blocks.

scheme

string indicating the type of inner weighting scheme. It is equal to "factorial" by default. Possible values are "centroid", "factorial".

tau

if sepcifed indicate the specific quantile to be considered

tau_Alg

is the vector of quantile specified by default. It is equal to (0.25,0.50,0.75).

fix.quantile

is boolean equal to FALSE or TRUE indiciating whether invariance is holded.

...

Further arguments passed on to get_info.

Details

Internal function. get_info is called by qcpm.

Value

a string containing generalinformations of the inpunt and output parameters of the qcpm algorithm.


get_internal_parameter_estimation

Description

get_internal_parameter_estimation

Usage

get_internal_parameter_estimation(
  X,
  modes,
  tau,
  lvs,
  lvs.names,
  IDM,
  sets,
  scheme,
  method,
  fix.quantile,
  tol,
  maxiter
)

Arguments

X

matrix or data frame containing the manifest variables.

modes

character vector indicating the type of measurement for each block. Possible values are: "A", "B". The length of modes must be equal to the length of blocks.

tau

if sepcifed indicate the specific quantile to be considered

lvs

the number of latent variables

lvs.names

the label of latent variables

IDM

the path matrix

sets

the outer model

scheme

the internal scheme

method

rq method. It is equal to "br" by default

fix.quantile

is boolean equal to FALSE or TRUE indicating whether invariance is holded.

tol

decimal value indicating the tolerance criterion for the iterations (tol=0.00001).

maxiter

integer indicating the maximum number of iterations (maxiter=100 by default).

Details

Internal function. get_internal_parameter_estimation is called by qcpm and

Value

the outer weights


get_loadings

Description

get_loadings

Usage

get_loadings(data, sets, mvs, lvs, IDM, tau, LV, qcorr, ...)

Arguments

data

the matrix of data (manifest variables)

sets

outer model

mvs

number of manifest variables

lvs

number of latent variables

IDM

the path matrix

tau

the quantile(s) to be estimated

LV

the estimated latent variables

qcorr

boolean. If it si equal to TRUE, loadings are standardized.

Details

Internal function. get_loadings is called by qcpm and

Value

the loadings estimated for each latent variables


get_element

Description

get_element

Usage

get_names_MV(x)

Arguments

x

the matrix of path coefficients

Details

Internal function. get_element is called by get_paths

Value

the path coefficients labels


get_paths

Description

get_paths

Usage

get_paths(path_matrix, Y_lvs, tau, full = TRUE, ...)

Arguments

path_matrix

the matrix of path coefficients

Y_lvs

the matrix of latent variables

tau

the quantile(s) to be estimated

Details

Internal function. get_paths is called by qcpm and

Value

the path coefficients


Province dataset example

Description

Province dataset example

Usage

province

Format

This data set allows to estimate the relationships among Health (HEALTH), Education and training (EDU) and Economic well-being (ECOW) in the Italian provinces using a subset of the indicators collected by the Italian Statistical Institute (ISTAT) to measure equitable and sustainable well-being (BES, from the Italian Benessere Equo e Sostenibile) in territories. Data refers to the 2019 edition of the BES report (ISTAT, 2018, 2019a, 2019b). A subset of 16 indicators (manifest variables) are observed on the 110 Italian provinces and metropolitan cities (i.e. at NUTS3 level) to measure the latent variables HEALTH, EDU and ECOW. The interest in such an application concerns both advances in knowledge about the dynamics producing the well-being outcomes at local level (multiplier effects or trade-offs) and a more complete evaluation of regional inequalities of well-being.

Data Strucuture

A data frame with 110 Italian provinces and metropolitan cities and 16 variables (i.e., indicators) related to three latent variables: Health (3 indicators), Education and training (7 indicators), and Economic well-being (6 indicators).

Manifest variables description for each latent variable:

LV1

Education and training (EDU)

MV1 EDU1(O.2.2):

people with at least upper secondary education level (25-64 years old)

MV2 EDU2(O.2.3):

people having completed tertiary education (30-34 years old)

MV3 EDU3(O.2.4):

first-time entry rate to university by cohort of upper secondary graduates

MV4 EDU4(O.2.5aa):

people not in education, employment or training (Neet)

MV5 EDU5(O.2.6):

ratio of people aged 25-64 years participating in formal or non-formal education to the total people aged 25-64 years

MV6 EDU6(O_2.7_2.8):

scores obtained in the tests of functional skills of the students in the II classes of upper secondary education

MV7 EDU7(O_2.7_2.8_A):

Differences between males and females students in the level of numeracy and literacy

LV2

Economic wellbeing (ECOW)

MV8 ECOW1(O.4.1):

per capita disposable income

MV9 ECOW2(O.4.4aa):

pensioners with low pension amount

MV10 ECOW3(O.4.5):

per capita net wealth

MV11 ECOW4(O.4.6aa):

rate of bad debts of the bank loans to families

MV12 ECOW5(O.4.2):

average annual salary of employees

MV13 ECOW6(O.4.3):

average annual amount of pension income per capita

#'

LV3

Health (HEALTH)

MV14 HEALTH1(O.1.1F):

life expectancy at birth of females

MV15 HEALTH2(O.1.1M):

life expectancy at birth of males

MV16 HEALTH3(O.1.2.MEAN_aa):

infant mortality rate

For a full description of the variables, see table 3 of Davino et al. (2020).

References

Davino, C., Dolce, P., Taralli, S. and Vistocco, D. (2020). Composite-based path modeling for conditional quantiles prediction. An application to assess health differences at local level in a well-being perspective. Social Indicators Research, doi:10.1007/s11205-020-02425-5.

Davino, C., Dolce, P., Taralli, S., Esposito Vinzi, V. (2018). A quantile composite-indicator approach for the measurement of equitable and sustainable well-being: A case study of the italian provinces. Social Indicators Research, 136, pp. 999–1029, doi: 10.1007/s11205-016-1453-8

Davino, C., Dolce, P., Taralli, S. (2017). Quantile composite-based model: A recent advance in pls-pm. A preliminary approach to handle heterogeneity in the measurement of equitable and sustainable well-being. In Latan, H. and Noonan, R. (eds.), Partial Least Squares Path Modeling: Basic Concepts, Methodological Issues and Applications (pp. 81–108). Cham: Springer.

ISTAT. (2019a). Misure del Benessere dei territori. Tavole di dati. Rome, Istat.

ISTAT. (2019b). Le differenze territoriali di benessere - Una lettura a livello provinciale. Rome, Istat.

ISTAT. (2018). Bes report 2018: Equitable and sustainable well-being in Italy. Rome, Istat.


qc

Description

qc

Usage

qc(x, y, tau)

Arguments

x

the covariate variables

y

the dependent variable

tau

the quantile(s) to be estimated

Details

Internal function. qc is called by get_internal_parameter_estimation and

Value

the qc correlation


QC-PM: Quantile Composite-based Path Modeling

Description

qcpm estimates path model parameters by quantile composite-based path modeling approach.

Usage

qcpm(
  model,
  data,
  scheme = "factorial",
  tau = NULL,
  fix.quantile = FALSE,
  qcorr = FALSE,
  tol = 1e-05,
  maxiter = 100
)

Arguments

model

A description of the user-specified model. The model is described using the lavaan sintax. Structural and measurement model are defined enclosed between double quotes. The directional link between constructs is defined by using the tilde ("~") operator. On the left-hand side of the operator there is the dependent construct and on the right-hand side the explanatory constructs, separated by the ("+") operator. As for the outer model, constructs are defined by listing their corresponding MVs after the operator (“=~”) if Mode A is the choice for computing the outer weights, or the operator(“<~”) if Mode B is chosen. On the left-hand side of the operator, there is the construct and on the right-hand side the MVs separated by the ("+") operator. Variable labels cannot contain (".").

data

is a data frame or a data matrix (statistical units x manifest variables).

scheme

is a string indicating the type of inner weighting scheme. It is equal to factorial by default. Possible values are centroid or factorial.

tau

indicates the specific quantile that must be considered for the estimation. It is equal to NULL by default, using the quantile default values (0.25, 0.5, 0.75). When specified, tau can be equal to a single value or to a vector, depending on the number of quantiles of interest.

fix.quantile

when equal to TRUE, the quantile used in the iterative procedure of the QC-PM algorithm is fixed to 0.5. It is used when measurement invariance is an issue. It is equal to FALSE by default.

qcorr

is a boolean. If it is equal to TRUE, loadings are estimated by using quantile correlations. By default, it is equal to FALSE.

tol

is a decimal value indicating the tolerance criterion for the iterations (tol=0.00001 by default).

maxiter

is an integer indicating the maximum number of iterations (maxiter=100 by default).

Details

Users can choose to estimate the model parameters for one or more specific quantiles (tau) of interest or to use the default quantile values: tau = (0.25, 0,50, 0.75). If more than one specific quantile is selected, the values must be defined as a numeric vector. It is also possible to fix the quantile to 0.5 in the iterative procedure of the QC-PM algorithm by using the parameter fix.quantile = TRUE for handling the measurement invariance issue (Dolce et al. 2021; Henseler et al. 2016).

Value

An object of class qcpm.

outer.weights

the outer weight estimates for each considered quantile.

outer.loadings

the outer loading estimates for each considered quantile.

path.coefficients

the path coefficient estimates for each considered quantile.

latent.scores

list of the composite scores for each considered quantile.

data

original dataset used for the analysis.

model

internal parameters related to the model estimation.

Author(s)

Cristina Davino, Pasquale Dolce, Giuseppe Lamberti, Domenico Vistocco

References

Davino, C., Dolce, P., Taralli, S. and Vistocco, D. (2020). Composite-based path modeling for conditional quantiles prediction. An application to assess health differences at local level in a well-being perspective. Social Indicators Research, doi:10.1007/s11205-020-02425-5.

Davino, C. and Esposito Vinzi, V. (2016). Quantile composite-based path modeling. Advances in Data Analysis and Classification, 10 (4), pp. 491–520, doi:10.1007/s11634-015-0231-9.

Dolce, P., Davino, C. and Vistocco, D. (2021). Quantile composite-based path modeling: algorithms, properties and applications. Advances in Data Analysis and Classification, doi:10.1007/s11634-021-00469-0.

Henseler J., Ringle, C.M. and Sarstedt, M. (2016). Testing measurement invariance of composites using partial least squares. International Marketing Review, 33 (3), pp. 405–431, doi:10.1108/IMR-09-2014-0304

Li, G., Li, Y. and Tsai, C. (2014). Quantile correlations and quantile autoregressive modeling. Journal of the American Statistical Association, 110 (509) pp. 246–261, doi: 10.1080/01621459.2014.892007

See Also

summary, assessment, boot, and reliability

Examples


# Example of QC-PM in Well-Being analysis
# model with three LVs and reflective indicators

# load library and dataset province
library(qcpm)
data(province)

# Define the model using laavan sintax. Use a set of regression formulas defining 
# firstly the structural model and then the measurement model
model <- "
ECOW ~ EDU
HEALTH ~ EDU + ECOW

# Reflective measurement model
EDU =~ EDU1 + EDU2 + EDU3 + EDU4 + EDU5 + EDU6 + EDU7
ECOW =~ ECOW1 + ECOW2 + ECOW3 + ECOW4 + ECOW5 + ECOW6
HEALTH =~  HEALTH1 + HEALTH2 + HEALTH3
"

# Apply qcpm
well.qcpm = qcpm(model,province)
well.qcpm


Measurement model reliability and internal consistence

Description

reliability returns the classical indices used in PLS-PM to assess the reliability and internal consistence of the measurement model (Hair et al., 2019). In order it provides: Cronbach's alpha, Dillon-Goldstein's rho, the Dijkstra-Henseler rho, and first and second eigenvalue of the correlation matrix of the manifest variables. The function also returns the outer mode (A or B) and the number of manifest variables for each block.

Usage

reliability(qcpm)

Arguments

qcpm

is an object of class qcpm

Details

The function only returns Dijkstra-Henseler rho values for quantile 0.5. When mode B is selected, or there are some intra-block inverse correlations, the Dijkstra-Henseler rho, Cronbach's alpha, and Dillon-Goldstein's rho are not calculated.

Value

A table containing, for each block, the outer mode (A or B), the number of manifest variables, Cronbach's alpha, Dillon-Goldstein's rho, Dijkstra-Henseler rho, and first and second eigenvalue of the manifest variable correlation matrix.

Author(s)

Cristina Davino, Pasquale Dolce, Giuseppe Lamberti, Domenico Vistocco

References

Hair, J.F., Risher, J.J., Sarstedt, M. and Ringle, C.M. (2019). When to use and how to report the results of PLS-SEM. European Business Review, 31 (1), pp. 2–24, doi: 10.1108/EBR-11-2018-0203

Sanchez, G. (2013). PLS Path Modeling with R Trowchez Editions. Berkeley, 2013. Available at https://www.gastonsanchez.com/PLS_Path_Modeling_with_R.pdf.

See Also

qcpm, assessment, boot, and summary

Examples


# Example of QC-PM in Well-Being analysis
# model with three LVs and reflective indicators

# load library and dataset province
library(qcpm)
data(province)

# Define the model using laavan sintax. Use a set of regression formulas defining 
# firstly the structural model and then the measurement model
model <- "
ECOW ~ EDU
HEALTH ~ EDU + ECOW

# Reflective measurement model
EDU =~ EDU1 + EDU2 + EDU3 + EDU4 + EDU5 + EDU6 + EDU7
ECOW =~ ECOW1 + ECOW2 + ECOW3 + ECOW4 + ECOW5 + ECOW6
HEALTH =~  HEALTH1 + HEALTH2 + HEALTH3
"


# Apply qcpm
well.qcpm = qcpm(model,province)
reliability(well.qcpm)