Gtld corr: различия между версиями
Перейти к навигации
Перейти к поиску
| Строка 11: | Строка 11: | ||
<pre> | <pre> | ||
function getCorr(src1, src2) { | function getCorr(src1, src2) { | ||
let | let __arr1 = src1.data; | ||
let | let __arr2 = src2.data; | ||
let X = 0; //аргумент 1 | let X = 0; //аргумент 1 | ||
let Y = 0; //аргумент 2 | let Y = 0; //аргумент 2 | ||
let Z = 0; //аргумент 3 | let Z = 0; //аргумент 3 | ||
let | let __arr1_avg = __arr1.reduce((acc, item) => (acc + item)) / __arr1.length; | ||
let | let __arr2_avg = __arr2.reduce((acc, item) => (acc + item)) / __arr2.length; | ||
for (let i = 0; i < | for (let i = 0; i < __arr1.length; i++) { | ||
X += ( | X += (__arr1[i] - __arr1_avg) * (__arr2[i] - __arr2_avg); | ||
Y += ( | Y += (__arr1[i] - __arr1_avg) ** 2; | ||
Z += ( | Z += (__arr2[i] - __arr2_avg) ** 2; | ||
}; | }; | ||
Версия от 03:41, 10 июля 2024
Краткое описание
Функция предназначена для расчета коэффициента корреляции дискретных сигналов (массивов). В качестве аргументов на вход подаются объекты, содержащие массив данных в ключе data. В результате возвращается расчетное значение коэффициента корреляции.
Синтаксис
Стандартная конструкция выглядит таким образом:
var __corr = getCorr( obj1, obj2 );
Содержание функции
function getCorr(src1, src2) {
let __arr1 = src1.data;
let __arr2 = src2.data;
let X = 0; //аргумент 1
let Y = 0; //аргумент 2
let Z = 0; //аргумент 3
let __arr1_avg = __arr1.reduce((acc, item) => (acc + item)) / __arr1.length;
let __arr2_avg = __arr2.reduce((acc, item) => (acc + item)) / __arr2.length;
for (let i = 0; i < __arr1.length; i++) {
X += (__arr1[i] - __arr1_avg) * (__arr2[i] - __arr2_avg);
Y += (__arr1[i] - __arr1_avg) ** 2;
Z += (__arr2[i] - __arr2_avg) ** 2;
};
return X / (Math.sqrt(Y) * Math.sqrt(Z));
}; //рассчет корреляции