fuelSubset: Spectral data of fossil fuels

fuelSubsetR Documentation

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

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


    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)

FDboost documentation built on Aug. 12, 2023, 5:13 p.m.