Академический Документы
Профессиональный Документы
Культура Документы
2 # ����������� ����������
prev_rf_ma = 3 # ���������� �������� ���������� ��������
rf = 5 # ������� �������� rf
rf_ma = alpha * rf + (1 - alpha) * prev_rf_ma # ���������������� �����������
min_rf = 2
max_rf = 20
normalized = (rf_ma - min_rf) / (max_rf - min_rf)
prev_rf_ma = rf_ma # �������� ������� �������� ���������� �������� �� ��������
��������
....
rf_list = [3, 5, 2, 20] # ������ �������� rf
min_rf = min(rf_list)
max_rf = max(rf_list)
N = len(rf_list) # ��������� �������� ����
for i in range(N, len(rf_list)):
rf_ma = sum(rf_list[i-N:i]) / N # ��������� �������
normalized = (rf_ma - min_rf) / (max_rf - min_rf)
# ������ ���-�� � ��������������� ���������
N += 1 # ����������� ������ ���� �� �������� ��������
....
double rf_list[] = {3, 5, 2, 20}; // ������ �������� rf
double min_rf = MathMinArray(rf_list, 4);
double max_rf = MathMaxArray(rf_list, 4);
int N = ArraySize(rf_list); // ��������� �������� ����
for (int i = N; i < ArraySize(rf_list); i++) {
double rf_ma = 0;
for (int j = i - N; j < i; j++) {
rf_ma += rf_list[j];
}
rf_ma /= N; // ��������� �������
double normalized = (rf_ma - min_rf) / (max_rf - min_rf);
// ������ ���-�� � ��������������� ���������
N++; // ����������� ������ ���� �� �������� ��������
}
...
double alpha = 0.5; // ����������� ���� ����������� �������
double prev_normalized = ... ; // ���������� ��������������� ��������
double normalized = alpha * prev_normalized + (1 - alpha) * (rf_ma - min_rf) /
(max_rf - min_rf);
///
double normalized = (value - min) / (max - min) + prev_normalized;
...
double alpha = 0.1; // ��������� �������� ������������ ����������
double smoothed_value; // �������� ����������� ������� �����������
double prev_smoothed_value = initial_value; // ��������� �������� ��
prev_smoothed_value
���:
//////
// ������ �� ������� ������������ ��������� �������
double pearsonCorrelation(const double& data1[], const double& data2[], const int&
data_size)
{
double sum1 = 0.0, sum2 = 0.0, sum_sq1 = 0.0, sum_sq2 = 0.0, sum_product = 0.0;
for (int i = 0; i < data_size; i++) {
sum1 += data1[i];
sum2 += data2[i];
sum_sq1 += pow(data1[i], 2);
sum_sq2 += pow(data2[i], 2);
sum_product += data1[i] * data2[i];
}
double numerator = sum_product - ((sum1 * sum2) / data_size);
double denominator1 = sum_sq1 - (pow(sum1, 2) / data_size);
double denominator2 = sum_sq2 - (pow(sum2, 2) / data_size);
double denominator = sqrt(denominator1 * denominator2);
if (denominator == 0) {
return 0.0;
} else {
return numerator / denominator;
}
}