У меня есть 2 примера вектора в Matlab:
A = [5,3,3,0,4,1,5,0,2,5,5,0,5,3,4,0,1,4,4,0,4,2];
B = [1,0,0,0,1,0,4,0,0,0,0,4,4,0,1,0,0,0,0,0,0,0];
Когда я пытаюсь вычислить корреляцию Пирсона ручным методом и сделать это с помощью Excel, у меня тот же результат ( 0,667 )
1 0,667 0,667 1
Но когда я попробовал в MatLab с простым кодом:
pearson = corr(A',B');
, он возвращает результат с другим счетом ( 0,2139 ).
1 0,2139 0,2139 1
Возможно, это происходит потому, что для его вычисления используется нулевой счет (0).Это происходит потому, что пропущенное значение будет заменено на ноль (0) в matlab.
В корреляции Пирсона, которая использует только совместно оцененное значение для его вычисления.(см. жирный шрифт)
A = [ 5 , 3,3,0, 4 , 1, 5 , 0,2, 5,5,0, * * 5 тысяча тридцать один * +1032 *, 3 *, 4 * 1 033 , 0,1,4,4,0,4,2];B = [ 1 , 0,0,0, 1 , 0, 4 , 0,0,0,0,4, 4 , 0, 1 , 0,0,0,0,0,0,0];
или это можно сделать простым:
A = [ 5 * 1 050 *, 4 * * тысяча пятьдесят-две, * 1 053 * 5 , 5 , 4 * 1 058 *];B = [ 1 , 1 , 4 , 4 , 1 ];
Кто-нибудь знает, как сделать простой код для этого?Я попробовал это в процедурном коде: сначала сделайте функцию corated, average_corated, затем, наконец, вычислите сходство.это стоит слишком много времени.
Спасибо, прежде чем:)