Когда я запустил corrcoef
, чтобы найти коэффициенты корреляции между двумя массивами данных, я получаю NaNs. Он делает это только для одной партии данных. Вот download link to the data within .mat file.Matlab: Почему корреляция NaN при использовании «corrcoef»?
я запускаю этот код
[R(1).R,R(1).P,R(1).RL,R(1).RU] = corrcoef([data.Series1], [data.Series2], 'rows', 'pairwise');
и это дает мне
NaN NaN
NaN 1
для R, P, RL и RU.
Я не думаю, что NaNs в данных проблема, потому что я использую параметр 'pairwise'
для функции corrcoef
, которая говорит ему игнорировать NaNs.
Я скопировал те же данные в Microsoft Excel и вычислил коэффициент корреляции просто отлично. Вот Excel file с рассчитанным коэффициентом корреляции. Почему нет corrcoef
? Что здесь может пойти не так?
Это что-то, о чем я не знал. По-видимому, есть также Infs :) Я думаю, что на этом пути должно быть разделено ноль. Я думал, что деление на ноль было NaNs. Спасибо! Я потратил день, пытаясь выяснить, что не так с этими данными. –
Не беспокойтесь, всегда проверяйте свой ввод, если выход не ожидается, иногда это могут быть очень маленькие вещи, которые заставляют вас тратить время на просмотр всего процесса. – GameOfThrows