# Spectral data of fossil fuels

### Description

For 129 laboratory samples of fossil fuels the heat value and the humidity were
determined together with two spectra.
One spectrum is ultraviolet-visible (UV-VIS), measured at 1335 wavelengths in
the range of 250.4 to 878.4 nanometer (nm), the other a near infrared spectrum
(NIR) measured at 2307 wavelengths in the range of 800.4 to 2779.0 nm.
`fuelSubset`

is a subset of the original dataset containing only 10% of
the original measures of the spectra, resulting in 231 measures of the
NIR spectrum and 134 measures of the UVVIS spectrum.

### Usage

1 | ```
data("fuelSubset")
``` |

### Format

A data list with 129 observations on the following 7 variables.

`heatan`

heat value in mega joule (mJ)

`h2o`

humidity in percent

`NIR`

near infrared spectrum (NIR)

`UVVIS`

ultraviolet-visible spectrum (UV-VIS)

`nir.lambda`

wavelength of NIR spectrum in nm

`uvvis.lambda`

wavelength of UV-VIS spectrum in nm

`h2o.fit`

predicted values of humidity

### Details

The aim is to predict the heat value using the spectral data. The variable
`h2o.fit`

was generated by a functional linear regression model, using
both spectra and their derivatives as predictors.

### Source

Siemens AG

Fuchs, K., Scheipl, F. & Greven, S. (2015), Penalized scalar-on-functions regression with interaction term. Computational Statistics and Data Analysis. 81, 38-51.

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ```
data("fuelSubset", package = "FDboost")
## center the functional covariates per observed wavelength
fuelSubset$UVVIS <- scale(fuelSubset$UVVIS, scale = FALSE)
fuelSubset$NIR <- scale(fuelSubset$NIR, scale = FALSE)
## to make mboost::df2lambda() happy (all design matrix entries < 10)
## reduce range of argvals to [0,1] to get smaller integration weights
fuelSubset$uvvis.lambda <- with(fuelSubset, (uvvis.lambda - min(uvvis.lambda)) /
(max(uvvis.lambda) - min(uvvis.lambda) ))
fuelSubset$nir.lambda <- with(fuelSubset, (nir.lambda - min(nir.lambda)) /
(max(nir.lambda) - min(nir.lambda) ))
### fit mean regression model with 100 boosting iterations,
### step-length 0.1 and
mod <- FDboost(heatan ~ bsignal(UVVIS, uvvis.lambda, knots=40, df=4, check.ident=FALSE)
+ bsignal(NIR, nir.lambda, knots=40, df=4, check.ident=FALSE),
timeformula = NULL, data = fuelSubset)
summary(mod)
## plot(mod)
``` |