Я не полностью проверил вашу математику, но одна вещь, которая мне показалась, была
$TF1^2
и $obj1[$x]['count']^2
. Они используют битовый оператор XOR .
Я полагаю, вы хотите pow($TF1, 2)
и pow($obj1[$x]['count'], 2)
альтернативный вариант:
$TF1 * $TF1
и $obj1[$x]['count'] * $obj1[$x]['count']
Это распространенная ошибка.
Также следует помнить об отказе от статьи:
Приведенная выше формула предлагает удобный однопроходный алгоритм для
расчет выборочных корреляций, но в зависимости от чисел
В некоторых случаях это может быть численно нестабильным