getCorr was cahged
parent
b954000b3c
commit
5f6b316f5e
|
@ -23,17 +23,16 @@ export function getAutoCorr(options) {
|
||||||
let lag = 0.5;
|
let lag = 0.5;
|
||||||
let X = 0; //аргумент 1
|
let X = 0; //аргумент 1
|
||||||
let Y = 0; //аргумент 2
|
let Y = 0; //аргумент 2
|
||||||
if (options.lag < 0.5) { lag = options.lag } else { lag = 0.5 };
|
if (options.lag <= 0.5) { lag = options.lag } else { lag = 0.5 };
|
||||||
let T = Math.floor(arr.length * lag); //определяем количество индексов (шагов) для смещения массива
|
let T = Math.floor(arr.length * lag); //определяем количество индексов (шагов) для смещения массива
|
||||||
let arr0 = arr.slice(0, T); //обрезаем массив на величину смещения
|
let avg = arr.reduce((acc, item) => (acc + item)) / arr.length; //среднее значение массива
|
||||||
let avg = arr0.reduce((acc, item) => (acc + item)) / arr0.length; //среднее значение массива
|
Y = arr.reduce((acc, item) => (acc + (item - avg) ** 2)); //рассчитываем знаменатель функции
|
||||||
Y = arr0.reduce((acc, item) => (acc + (item - avg) ** 2)); //рассчитываем знаменатель функции
|
|
||||||
|
|
||||||
for (let i = 0; i < T; i++) {
|
for (let i = 0; i < T; i++) {
|
||||||
let Rh = arr.slice(- i); //отделяем "хвост" массива
|
let Rh = arr.slice(- i); //отделяем "хвост" массива
|
||||||
let Lt = arr.slice(0, - i); //отделяем "тело" массива
|
let Lt = arr.slice(0, - i); //отделяем "тело" массива
|
||||||
let arr2 = [].concat(Rh, Lt); //соединяем части массива
|
let arr2 = [].concat(Rh, Lt); //соединяем части массива
|
||||||
for (let j = 0; j < T; j++) { X += (arr[j] - avg) * (arr2[j] - avg); };
|
for (let j = 0; j < arr.length; j++) { X += (arr[j] - avg) * (arr2[j] - avg); };
|
||||||
plot.push(X / Y); //записываем значение в массив коэффициентов
|
plot.push(X / Y); //записываем значение в массив коэффициентов
|
||||||
X = 0;
|
X = 0;
|
||||||
}; //смещение массива
|
}; //смещение массива
|
||||||
|
|
Loading…
Reference in New Issue