作者jing03 (境)
看板MATLAB
標題[問題]資料中有NaN要怎麼求相關係數
時間Mon Dec 10 21:20:44 2012
corrcoef這個指令不能算有NaN的
目前我只知道用cftool畫迴歸線可以求
但感覺有點麻煩
我照著相關係數定義寫了下列code
dX=X-nanmean(X);
dY=Y-nanmean(Y);
dXdY=nansum((dX).^2)*nansum((dY).^2);
corr=nansum(dX.*dY)/(dXdY)^0.5
r_squaure=corr^2
但算出來的值跟用cftool的差很多
請問我有哪裡寫錯 或者有其他更好的方法嗎?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.206
1F:→ gozelee:有試過isnan嗎?? 12/10 23:04
2F:推 JamesChen:因為你 X Y NaN 的點不是樣的點阿 12/11 13:02
3F:→ JamesChen:公式是假設沒有任何 NaN 的狀況 12/11 13:02
4F:→ JamesChen:你應該把所有 NaN 的點去掉 (X 或 Y 有 NaN 就去掉) 12/11 13:03
5F:→ jing03:雖然還是有點模糊 但謝謝指教! 12/11 16:21