3.3. High Dimensional Model Representation
3.3.1. Description
High-dimensional model representation (HDMR) is a method of representing complex systems in high-dimensional spaces. It is a technique to decompose a high-dimensional function into a sum of lower-dimensional functions. These lower-dimensional functions are called “HDMR components”.
It is particularly useful in cases where the number of variables or parameters is large, making it difficult to understand the underlying relationships between the variables.
HDMR is commonly used in various fields such as engineering, physics, and chemistry, to model complex systems and predict their behavior. Here are an example/application to fix the ideas:
A Likelihood function: Conditional on a dataset, the likelihood function is a function of the parameters of the model. But the exact relationship between the likelihood and the parameters is unknown. The reason we may be interested in such a problem is that the likelihood might be very costly to evaluate. HDMR could be used in this case to decompose the likelihood into lower-dimensional components. The resulting metamodel could be far less costly to evaluate.
The HDMR components are chosen such that they capture the most important features of the system, while still being computationally tractable. HDMR can also be used to estimate the sensitivity of a system to changes in its inputs, which can be useful for optimization and design.
Variances
Sensitivities
HDMR is a powerful tool for understanding and predicting the behavior of complex systems, but it also requires large computational resources and can be difficult to implement in practice.
3.3.2. Quick-start examples
A known Polynomial function
% Define the polynomial function
f = @(x) x.^3 + 2*x.^2 - 5*x + 3;
% Define the lower-dimensional components of the polynomial
f1 = @(x) x.^3;
f2 = @(x) 2*x.^2;
f3 = @(x) -5*x + 3;
% Plot the polynomial and its lower-dimensional components
x = linspace(-2, 2, 100);
y = f(x);
y1 = f1(x);
y2 = f2(x);
y3 = f3(x);
plot(x, y, x, y1, '--', x, y2, ':', x, y3, '-.','linewidth',2);
legend('f(x)', 'f1(x)', 'f2(x)', 'f3(x)');
3.3.3. Details
Contents: