# What are the most useful features for regression of an aggregate function?

Consider three functions, $f_1$, $f_2$, and $f_3$ aggregated into $F(\hat a) = f_1(a_1) + f_2(a_2) + f_3(a_3)$.

The output that I would like to predict is that of $F$. I have 'perfect' knowledge of the functions $f_n$. The issue that I'm having is that at prediction, I won't have access to individual information about the contents of $\hat a$, but I can have scalar information about the contents of $\hat a$. The reason for this is that $\hat a$ may be arbitrarily large, and acquiring values to predict on may be expensive.

For instance, I can choose to train on a data set containing:

• Sum of values in $\hat a$
• Mean of the values in $\hat a$
• Weighted mean of the values in $\hat a$ (for some set of weights)
• Variance of the values in $\hat a$

What other aggregated, scalar properties of $\hat a$ would make for useful features on which to train a regression model? Are there any models or model types that work particularly well for this problem space?

Edit: Clarification - Consider the case where I have N devices. Each of these devices has a current state. I can look at the output of the N devices as an aggregated unit, but not look at the individual state of any of these N devices. If, based on this current output, I tell the system "use some of the resources" it will change the state of the underlying devices, which will change what their aggregate output will be. So, without knowing what the current state of the inner workings of the system, I need to be able to predict what the overall change in the system will be, given an arbitrary request to the system.

I could therefore trivially store the information about each of the functions $f_n$, and then pull the state of each system $a_n$, thereby allowing me to model the entire system. This is expensive though, as pulling the values has a high cost, as does storing and processing the information about $f_n$, so it's very preferable for me to be able to just think about it as a whole system. I think that I can model it using the combinations of the current 'system state' as I described in the question that I asked, and was wondering if there were other statistics that the system could tell me about itself. Effectively, I'm looking to make the feature complexity $O(1)$ instead of $O(n)$.

• Could you elaborate on what you mean by "scalar information about the contents of $\hat a$"? That would seem be saying you know the values of $a_i$ in $\hat a = (a_1, a_2, a_3)$, but since that would immediately tell you the values of the $f_i(a_i)$, whence the value $F(\hat a)$, it would seem there's no real problem here. What, then, does the phrase "contents of $\hat a$" mean and what does "scalar information" mean?
– whuber
Mar 28, 2016 at 20:33
• So, the mean value of the entries of $\hat a$ ($(a_1 + a_2 + a_3)/3$) would be one such value, as it is a scalar value (represented by a single, 'real' value) which represents some understanding of the 'contents' of the vector $\hat a$. Whereas asking for each entry $a_i$ would be 'vector information', in that I would need to retrieve one value per function I'm aggregating. I hope that clears it up. Mar 28, 2016 at 22:26
• I can't help wondering why you wouldn't just use the "scalar information" given by $f_1(a_1)+f_2(a_2)+f_3(a_3)$. I think some essential information about your situation and your question may have been lost in an effort to express it abstractly.
– whuber
Mar 28, 2016 at 23:16
• I have N devices. Each of these devices has a current state. I can look at the output of the N devices as an aggregated unit, but not look at the individual state of any of these N devices. If, based on this current output, I tell the system "use some of the resources" it will change the state of the underlying devices, which will change what their aggregate output will be. So, without knowing what the current state of the inner workings of the system, I need to be able to predict what the overall change in the system will be, given an arbitrary request to the system. Mar 29, 2016 at 0:18
• I could therefore store the information about each of the functions $f_n$, and then pull the state of each system $a_n$, thereby allowing me to model the entire system. This is expensive though, as pulling the values has a high cost, as does storing and processing the information about $f_n$, so it's very preferable for me to be able to just think about it as a whole system. I think that I can model it using the combinations of the current 'system state' as I described in the question that I asked, and was wondering if there were other statistics that the system could tell me about itself. Mar 29, 2016 at 0:20