> On Jul 12, 2017, at 6:58 PM, Ng, Kelvin Sai-cheong <ks...@connect.hku.hk> 
> wrote:
> 
> Dear all,
> 
> I am using the pls package of R to perform partial least square on a set of
> multivariate data.  Instead of fitting a linear model, I want to fit my
> data with a quadratic function with interaction terms.  But I am not sure
> how.  I will use an example to illustrate my problem:
> 
> Following the example in the PLS manual:
> ## Read data
> data(gasoline)
> gasTrain <- gasoline[1:50,]
> ## Perform PLS
> gas1 <- plsr(octane ~ NIR, ncomp = 10, data = gasTrain, validation = "LOO")
> 
> where octane ~ NIR is the model that this example is fitting with.
> 
> NIR is a collective of variables, i.e. NIR spectra consists of 401 diffuse
> reflectance measurements from 900 to 1700 nm.
> 
> Instead of fitting with predict.octane[i] = a[0] * NIR[0,i] + a[1] *
> NIR[1,i] + ...
> I want to fit the data with:
> predict.octane[i] = a[0] * NIR[0,i] + a[1] * NIR[1,i] + ... +
> b[0]*NIR[0,i]*NIR[0,i] + b[1] * NIR[0,i]*NIR[1,i] + ...
> 
> i.e. quadratic with interaction terms.
> 
> But I don't know how to formulate this.

I did not see any terms in the model that I would have called interaction 
terms. I'm seeing a desire for a polynomial function in NIR. For that purpose, 
one might see if you get satisfactory results with:

gas1 <- plsr(octane ~NIR + I(NIR^2), ncomp = 10, data = gasTrain, validation = 
"LOO")
gas1

I first tried using poly(NIR, 2) on the RHS and it threw an error, which raises 
concerns in my mind that this may not be a proper model. I have no experience 
with the use of plsr or its underlying theory, so the fact that this is not 
throwing an error is no guarantee of validity. Using this construction in 
ordinary least squares regression has dangers with inferential statistics 
because of the correlation of the linear and squared terms as well as likely 
violation of homoscedasticity.

-- 
David.


> 
> May I have some help please?
> 
> Thanks,
> 
> Kelvin
> 
>       [[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius
Alameda, CA, USA

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to