NIST problems (StRD)

These problems contain real observation of physical processes collected in the NIST web pages (https://www.nist.gov/itl)

dcgpy.generate_chwirut1()

These data are the result of a NIST study involving ultrasonic calibration. The response variable is ultrasonic response, and the predictor variable is metal distance. (see https://www.itl.nist.gov/div898/strd/nls/data/chwirut1.shtml)

A proposed good model for such a problem is:

y=eβ1xβ2+β3x+ϵ
Returns

A tuple containing the points (2D NumPy float array) and labels (2D NumPy float array).

Examples:

>>> from dcgpy import *
>>> import matplotlib.pyplot as plt
>>> X, Y = generate_chwirut1()
>>> plt.plot(X,Y, '.')
dcgpy.generate_chwirut2()

These data are the result of a NIST study involving ultrasonic calibration. The response variable is ultrasonic response, and the predictor variable is metal distance. (see https://www.itl.nist.gov/div898/strd/nls/data/chwirut2.shtml)

A proposed good model for such a problem is:

y=eβ1xβ2+β3x+ϵ

with respect to the problem chwirut1, less points are included here.

Returns

A tuple containing the points (2D NumPy float array) and labels (2D NumPy float array).

Examples:

>>> from dcgpy import *
>>> import matplotlib.pyplot as plt
>>> X, Y = generate_chwirut2()
>>> plt.plot(X,Y, '.')
dcgpy.generate_daniel_wood()

These data and model are described in Daniel and Wood (1980), and originally published in E.S.Keeping, “Introduction to Statistical Inference,” Van Nostrand Company, Princeton, NJ, 1962, p. 354. The response variable is energy radieted from a carbon filament lamp per cm**2 per second, and the predictor variable is the absolute temperature of the filament in 1000 degrees Kelvin. (see https://www.itl.nist.gov/div898/strd/nls/data/daniel_wood.shtml)

A proposed good model for such a problem is:

y=β1xβ2+ϵ
Returns

A tuple containing the points (2D NumPy float array) and labels (2D NumPy float array).

Examples:

>>> from dcgpy import *
>>> import matplotlib.pyplot as plt
>>> X, Y = generate_daniel_wood()
>>> plt.plot(X,Y, '.')
dcgpy.generate_gauss1()

The data are two well-separated Gaussians on a decaying exponential baseline plus normally distributed zero-mean noise with variance = 6.25. (see https://www.itl.nist.gov/div898/strd/nls/data/gauss1.shtml)

A proposed good model for such a problem is:

y=β1eβ2x+β3e(xβ4)2β52+β6e(xβ7)2β82+ϵ
Returns

A tuple containing the points (2D NumPy float array) and labels (2D NumPy float array).

Examples:

>>> from dcgpy import *
>>> import matplotlib.pyplot as plt
>>> X, Y = generate_gauss1()
>>> plt.plot(X,Y, '.')
dcgpy.generate_kirby2()

These data are the result of a NIST study involving scanning electron microscope line with standards. 151 observations are included. (see https://www.itl.nist.gov/div898/strd/nls/data/kirby2.shtml)

A proposed good model for such a problem is:

y=β1+β2x+β3x21+β4x+β5x2+ϵ
Returns

A tuple containing the points (2D NumPy float array) and labels (2D NumPy float array).

Examples:

>>> from dcgpy import *
>>> import matplotlib.pyplot as plt
>>> X, Y = generate_kirby2()
>>> plt.plot(X,Y, '.')
dcgpy.generate_lanczos2()

These data are taken from an example discussed in Lanczos (1956). The data were generated to 6-digits of accuracy using the formula below. (see https://www.itl.nist.gov/div898/strd/nls/data/lanczos2.shtml)

A good model for such a problem is, trivially:

y=β1eβ2x+β3eβ4x+β5eβ6x+ϵ
Returns

A tuple containing the points (2D NumPy float array) and labels (2D NumPy float array).

Examples:

>>> from dcgpy import *
>>> import matplotlib.pyplot as plt
>>> X, Y = generate_lanczos2()
>>> plt.plot(X,Y, '.')
dcgpy.generate_misra1b()

These data are the result of a NIST study involving dental research in monomolecular adsorption. The response variable is volume, and the predictor variable is pressure. 14 observations are available. (see https://www.itl.nist.gov/div898/strd/nls/data/misra1b.shtml)

A good model for such a problem is:

y=β1(11(1+β1x2)2)+ϵ
Returns

A tuple containing the points (2D NumPy float array) and labels (2D NumPy float array).

Examples:

>>> from dcgpy import *
>>> import matplotlib.pyplot as plt
>>> X, Y = generate_misra1b()
>>> plt.plot(X,Y, '.')