Classification Method with Small Data I have the following problem. I have individual observations $y_i \in [0,1]$ on the response to an increasing stimulus called $x$.
The stimulus is discretized as $x^1, x^2, \ldots , x^n$. Let's use the index $x^j$ and take $n=6$. Note that each subject responds to the same discretization, i.e. each subject observes the same $x^1, x^2, \ldots , x^n$.
Therefore $y_i^j = f(x_i^j)$ and my data consists of the tuples $(y_i^1, y_i^2, \ldots , y_i^n)$.
My question is, I am looking for a statistical method to classify each point according to the "shape" of the response $f$. An example of such classification would consist of the following groups: constant at zero, constant, increasing, decreasing, convex etc.
Since the data consists of human response to a stimulus, the "shapes" are not exact. Some responses are monotonically increasing, but others have minor deviations around this behavior. Other deviations are more serious.
Using clustering does not work because such method relies on a distance measured along each dimension, meanwhile the method that I'm looking for should take into account the global behavior.
So far I have tried a method based on rank correlation with modest success. I wonder if it's possible to use a method based on regression. In either in case, I worry that the small number of data points would make irrelevant any idea of statistical significance.
Finally, I wonder if there is any standard method for this type of problem.

I am not sure what you mean by "shape", because you want to also differentiate e.g. between a constant and a constant at zero. But, maybe, this could be an approach: Think of a family of possible models, e.g. all quadratic polynomials, then create a fitted model $m_i$ for each of your tuples $\mathbf y_i = (y_i^1,\ldots, y_i^n)$. Finally, cluster those models w.r.t. their parameters.
E.g., let's stick with the example of quadratic polynomials. Each model $m_i$ will be given by three parameters $a_{ik}, k=0,1,2$ according to $m_i = a_{i0} + a_{i1}x + a_{i2}x^2$. Clustering those $\mathbf a_i\in\mathbb R^3$ might give you already some first "shape classification". But, of course, two increasing, equal-linear-shape functions $y_i = a_{i0} + a_{i1}x$ and $y_k = a_{k0} + a_{k1}x$ could still be in different clusters if e.g. $a_{i0}$ and $a_{k0}$ are very different. So you could also think about clustering the projections of the $\mathbf a_i$ to some coordinate subspaces. But this all depends on what your notion of "shape" really is.
As an alternative, you might want to consider the curves as images, similar to the digits in MNIST, add a lot of fake functions $\mathbf y_i$ which you label according to their shape, and then apply some standard image classification model (e.g. CNN) to this augmented dataset, which then should classify your data properly into your shape categories. But maybe, this is a little bit of an exaggeration.
