% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/feature_cvpat.R
\name{assess_cvpat}
\alias{assess_cvpat}
\title{Assess single model CVPAT against benchmarks}
\usage{
assess_cvpat(
  seminr_model,
  testtype = "two.sided",
  nboot = 2000,
  seed = 123,
  technique = predict_DA,
  noFolds = NULL,
  reps = NULL,
  cores = NULL
)
}
\arguments{
\item{seminr_model}{The SEMinR model for CVPAT analysis}

\item{testtype}{Either "two.sided" (default) or "greater".}

\item{nboot}{The number of bootstrap subsamples to execute (defaults to 2000).}

\item{seed}{The seed for reproducibility (defaults to 123).}

\item{technique}{predict_EA or predict_DA (default).}

\item{noFolds}{Number of folds for k-fold cross validation.}

\item{reps}{Number of repetitions for cross validation.}

\item{cores}{Number of cores for parallelization.}
}
\value{
A list containing two matrices: CVPAT_compare_LM (comparison with
  linear model) and CVPAT_compare_IA (comparison with indicator average).
}
\description{
`assess_cvpat` conducts a single model CVPAT assessment against item average
and linear model prediction benchmarks. Use this to determine whether your
PLS model has meaningful predictive power.
}
\details{
Two benchmarks are used:
- **Linear Model (LM)**: Multiple regression predicting each item
- **Indicator Average (IA)**: Naive benchmark using training set means

If PLS loss < LM loss (significantly), the structural model adds predictive value.
If PLS loss < IA loss (significantly), the model has basic predictive relevance.
}
\examples{
# Load libraries
library(seminr)
library(seminrExtras)

# Create measurement model ----
corp_rep_mm_ext <- constructs(
  composite("QUAL", multi_items("qual_", 1:8), weights = mode_B),
  composite("PERF", multi_items("perf_", 1:5), weights = mode_B),
  composite("CSOR", multi_items("csor_", 1:5), weights = mode_B),
  composite("ATTR", multi_items("attr_", 1:3), weights = mode_B),
  composite("COMP", multi_items("comp_", 1:3)),
  composite("LIKE", multi_items("like_", 1:3))
)

# Create structural model ----
corp_rep_sm_ext <- relationships(
  paths(from = c("QUAL", "PERF", "CSOR", "ATTR"), to = c("COMP", "LIKE"))
)

# Estimate the model ----
corp_rep_pls_model_ext <- estimate_pls(
  data = corp_rep_data,
  measurement_model = corp_rep_mm_ext,
  structural_model  = corp_rep_sm_ext,
  missing = mean_replacement,
  missing_value = "-99")

# Assess the base model ----
assess_cvpat(seminr_model = corp_rep_pls_model_ext,
             testtype = "two.sided",
             nboot = 20,
             seed = 123,
             technique = predict_DA,
             noFolds = 5,
             reps = 1,
             cores = 1)

}
\references{
Sharma, P. N., Liengaard, B. D., Hair, J. F., Sarstedt, M., &
Ringle, C. M. (2023). Predictive model assessment and selection in
composite-based modeling using PLS-SEM: extensions and guidelines for
using CVPAT. European journal of marketing, 57(6), 1662-1677.

Liengaard, B. D., Sharma, P. N., Hult, G. T. M., Jensen, M. B.,
Sarstedt, M., Hair, J. F., & Ringle, C. M. (2021). Prediction: coveted,
yet forsaken? Introducing a cross‐validated predictive ability test in
partial least squares path modeling. Decision Sciences, 52(2), 362-392.
}
\seealso{
[assess_cvpat_compare()] for comparing two PLS models
}
