This function splits the models to 'good' and 'bad' based on the number of true
positive predictions: num.high TPs (good) vs num.low TPs (bad).
Then, for each network node, it finds the node's average activity in each of
the two classes (a value in the [0,1] interval) and then subtracts the
'bad' average activity value from the good' one, taking into account the
given penalty
factor and the number of models in each respective
model group.
get_avg_activity_diff_based_on_tp_predictions(
models.synergies.tp,
models.stable.state,
num.low,
num.high,
penalty = 0
)
an integer vector of TP values. The names
attribute holds the models' names and must be a subset of the row names
of the models.stable.state
parameter. Consider using the function
calculate_models_synergies_tp
.
a data.frame
(nxm) with n models and m nodes. The row
names specify the models' names whereas the column names specify the network nodes
(gene, proteins, etc.). Possible values for each model-node element
can be between 0 (inactive node) and 1 (active node) inclusive.
integer. The number of true positives representing the 'bad' model class.
integer. The number of true positives representing the 'good'
model class. This number has to be strictly higher than num.low
.
value between 0 and 1 (inclusive). A value of 0 means no penalty and a value of 1 is the strickest possible penalty. Default value is 0. This penalty is used as part of a weighted term to the difference in a value of interest (e.g. activity or link operator difference) between two group of models, to account for the difference in the number of models from each respective model group.
a numeric vector with values in the [-1,1] interval (minimum and maximum possible average difference) and with the names attribute representing the name of the nodes.
So, if a node has a value close to -1 it means that on average, this node is more inhibited in the 'good' models compared to the 'bad' ones while a value closer to 1 means that the node is more activated in the 'good' models. A value closer to 0 indicates that the activity of that node is not so much different between the 'good' and 'bad' models and so it won't not be a node of interest when searching for indicators of better performance (higher number of true positives) in the good models.
Other average data difference functions:
get_avg_activity_diff_based_on_mcc_clustering()
,
get_avg_activity_diff_based_on_specific_synergy_prediction()
,
get_avg_activity_diff_based_on_synergy_set_cmp()
,
get_avg_activity_diff_mat_based_on_mcc_clustering()
,
get_avg_activity_diff_mat_based_on_specific_synergy_prediction()
,
get_avg_activity_diff_mat_based_on_tp_predictions()
,
get_avg_link_operator_diff_based_on_synergy_set_cmp()
,
get_avg_link_operator_diff_mat_based_on_mcc_clustering()
,
get_avg_link_operator_diff_mat_based_on_specific_synergy_prediction()
,
get_avg_link_operator_diff_mat_based_on_tp_predictions()