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