r - semPLS package backcalculating influence -
i'm doing pls regression using sempls
package in r , wondering something
this example ?sempls
:
library(sempls) data(ecsimobi) ecsi <- sempls(model=ecsimobi, data=mobi, wscheme="pathweighting") ecsi
we see imag1-5
connected latent variable of image
. each 1 has outer loading between 0.57 , 0.77. image
connected variable expectation
, has beta coefficient of 0.505. question is: possible "back-calculate" influence of 0.505 each imag1-5
-variable?
after looking @ model specifications , formula 0.505/0.77, , on. doesn't make sense because higher correlation between imag1-5
, image
lower influence on expectation
doesn't make sense.
i'm not sure this, since there no answer here, i'll give shot.
if understand correctly, want kind of effect size.
this can calculated in structural model exogenous latent variables according cohen,1988, p.410-413 effect size f².
so if want effect of exogenous variable on endogenous variable calculate model 2 times, first specific exogenous variable , second without it. have 2 r² values of endogenous variable, put in formula of cohen.
an effect size of 0.02, 0.15 , 0.35 weak, moderate , strong effects.
the r code effect size of "image" on "loyalty" this:
library(sempls) data(ecsimobi) ecsi <- sempls(model=ecsimobi, data=mobi, wscheme="pathweighting") ecsi #estimate model without lv "image" excl_image_ecsi <- sempls(model=removelvs(ecsimobi,"image"), data=mobi, wscheme="pathweighting") excl_image_ecsi #rsquared of "loyalty" exogenous variable "image" rsquared(ecsi)[7] #rsquared of "loyalty" without exogenous variable "image" rsquared(excl_image_ecsi)[6] #calculate effect size of "image" on "loyalty" (fsquared <- (rsquared(ecsi)[7]-rsquared(excl_image_ecsi)[6])/(1-rsquared(ecsi)[7]))
effect size of "image" on "loyalty" 0.03 , can considered weak.
so here ideas calculating effect size of indicator based on previous procedure of cohen.
first estimate model without mv "imag1"
excl_imag1_ecsi <- sempls(model=removemvs(ecsimobi,"imag1"), data=mobi, wscheme="pathweighting")
then calculate f² of "imag1" on "expectation"
#get rsquared of "expectation" rsquared(ecsi)[2] #get new rsquared of "expectation" rsquared(excl_imag1_ecsi)[2] #effect size of "imag1" on expectation (fsquared <- (rsquared(ecsi)[2]-rsquared(excl_imag1_ecsi)[2])/(1-rsquared(ecsi)[2]))
the effect size 0.00868009, because talking removing mv not lv previous rules of thumb 0.02 weak, 0.15 moderate , 0.35 strong not appropriate use here , can't think of new ones atm.
this seems valid transfer of cohen's idea, @ least in point of view, think thats not quite wanted lets crazy now.
#get path coefficient image -> expectation ecsi$coefficients[25,2] #get new path coefficient image -> expectation excl_imag1_ecsi$coefficients[24,2] #effect size of "imag1" on path coefficient image -> expectation (fpath <- (ecsi$coefficients[25,2]-excl_imag1_ecsi$coefficients[24,2])/(1-excl_imag1_ecsi$coefficients[24,2]))
so tried transfer cohen's formula path coefficients instead of rsquared values. can see effect of "imag1" on path coefficient image -> expectation. has changed 0.5049139 0.4984685.
the fpath formula false, considering path coefficients can negative too, don't have time think , think thats still not wanted in first place.
so i'm taking literally:
"now question is: possible "back-calculate" influence of 0.505 each imag1-5-variable?"
my first thought on was: there can't influence of path coefficient on , mv variable.
my second thought was: mean influence of lv "expectation" each mv imag1-5-variable, indeed represented through path coefficient (which 0.505).
my third thought was: there no influence of lv "expectation" each mv imag1-5-variable, because "image" endogenous , "expectation" exogenous variable. means "image" influence "expectation", arrow goes "image" "expectation".
now curious, deleted lv "expectation" , calculated model:
excl_exp_ecsi <- sempls(model=removelvs(ecsimobi,"expectation"), data=mobi, wscheme="pathweighting") excl_exp_ecsi
now lets compare outer loadings:
old ones:
lam_1_1 image -> imag1 0.745 lam_1_2 image -> imag2 0.599 lam_1_3 image -> imag3 0.576 lam_1_4 image -> imag4 0.769 lam_1_5 image -> imag5 0.744
new ones:
lam_2_1 image -> imag1 0.747 lam_2_2 image -> imag2 0.586 lam_2_3 image -> imag3 0.575 lam_2_4 image -> imag4 0.773 lam_2_5 image -> imag5 0.750
as can see in following visualisation of ecsi model, "image" exogenous, means independent latent variable.
but there still slight change in outer loadings can see in 2 tables above, when deleting "expectation" variable. can't tell why is, because not know algorithm enough, hope clarify things or other readers , not make worse :).
please note did not research on topic in literature , represents idea how these calculated. there common way , approach deadly wrong.
Comments
Post a Comment