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².

enter image description here

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 :).

ecsi model

please note did not research on topic in literature , represents idea how these calculated. there common way , approach deadly wrong.


Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

Python ctypes access violation with const pointer arguments -